Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
SAML obsługuje środowisko logowania jednokrotnego. Obsługa logowania jednokrotnego przez SAML w Edge interfejsu Edge UI i API, a także wszelkich innych usług świadczonych przez Ciebie i obsługujących SAML (Administracja > SAML).
Warunek wstępny: musisz włączyć SAML przez co najmniej jedną organizację, zanim będzie można za jej pomocą uzyskać dostęp do interfejsu Edge API.
Różnice między SAML a OAuth2
Po skonfigurowaniu SAML korzystanie z niego jest bardzo podobne do korzystania z OAuth2 uzyskiwania dostępu przy użyciu Edge API. Wywołując interfejs Edge API, podajesz token dostępu OAuth2 na Twoją prośbę.
Różnica między SAML i OAuth2 podczas uzyskiwania dostępu do interfejsu Edge API jest przeszkodą otrzymasz tokeny. W przypadku SAML musisz w swojej konfiguracji uzyskać dostęp do tych informacji: para tokenów:
- Strefy: użytkownicy Edge dla Cloud Public Cloud muszą odnosić się do nazwy strefy podczas uzyskiwania tokenów.
- Hasło: dołącz jednorazowy kod dostępu, gdy prosisz o dostęp lub odświeżenie danych. .
SAML używa tych samych punktów końcowych w usłudze Edge OAuth2, z dodaną odpowiednią nazwą strefy.
Aby uzyskać tokeny dostępu przez SAML, możesz użyć jednej z następujących metod opisanych w tej sekcji:
Ponadto możesz zautomatyzować proces generowania tokenów dla użytkowników maszyn zgodnie z opisem w artykule Automatyzacja procesu generowania tokenów.
Uzyskiwanie tokenów dostępu za pomocą metody get_token
Możesz użyć narzędzia get_token
, aby wymienić dane logowania na potrzeby dostępu OAuth2 oraz
odświeża tokeny używane w SAML.
Aby uzyskać token dostępu za pomocą metody get_token:
- Ustaw zmienną środowiskową
SSO_LOGIN_URL
na adres URL logowania. Adres URL logowania zawiera następujący formularz:https://zoneName.login.apigee.com
Na przykład w przypadku strefy o nazwie „acme” ustaw
SSO_LOGIN_URL
na „https://acme.login.apigee.com”. co widać w następnym przykładzie:export SSO_LOGIN_URL=https://acme.login.apigee.com
- Wywołaj
get_token
, aby uzyskać token dostępu OAuth2:get_token -u me@example.com
Pojawi się prośba o odwiedzenie wyświetlonego adresu URL w celu uzyskania jednorazowego kodu dostępu:
Get passcode from https://acme.login.apigee.com/passcode [Note: Passcode can be used only time time and expires] Input passcode (no spaces) and then press ENTER:
Jeśli ostatnio nie logowałeś(-aś) się przez dostawcę tożsamości, pojawi się prośba o zalogowanie cal
Ten URL zwraca jednorazowy kod dostępu, który pozostaje ważny, dopóki go nie odświeżysz w uzyskać nowy kod dostępu lub użyć kodu dostępu za pomocą funkcji
get_token
, aby wygenerować token dostępu. Na przykład: -
Wpisz kod dostępu. Narzędzie
get_token
uzyskuje tokeny OAuth2, wypisuje token dostępu dostdout
oraz zapisuje tokeny dostępu i odświeżania do:~/.sso-cli
. - Wywołaj interfejs Edge API i przekaż token dostępu w aplikacji
Authorization: Bearer
jak w tym przykładzie:curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
Wartość tokena dostępu może być skopiowana z
stdout
.Ten przykład zawiera szczegółowe informacje o danej organizacji. Pełną listę funkcji zarządzania Punkty końcowe interfejsu API znajdziesz w dokumentacji interfejsu API Apigee Edge.
Gdy token dostępu wygaśnie, możesz ponownie wywołać get_token
, by uzyskać nowy dostęp
token. Na przykład:
get_token -u me@example.com
Dopóki token odświeżania nie wygaśnie, nie pojawi się prośba o podanie nowego kodu.
Gdy token odświeżania wygaśnie, get_token
poprosi o podanie nowego kodu dostępu. Musisz
wygeneruj nowy kod dostępu, zanim będzie można wygenerować nowy token dostępu OAuth2.
Uzyskiwanie tokenów dostępu dzięki usłudze Edge OAuth2
Tokenów dostępu używanych przez SAML możesz uzyskiwać za pomocą usługi Edge OAuth2. Do uwierzytelnienia przy użyciu Edge API, przy pierwszym żądaniu musisz podać kod dostępu, aby uzyskać dostęp lub odświeżyć stronę. i ponownie, aby uzyskać nową parę tokenów.
Aby uzyskać parę tokenów za pomocą interfejsu Edge API:
- W przeglądarce otwórz ten adres URL, aby otrzymać jednorazowy kod dostępu:
https://zoneName.login.apigee.com/passcode
Na przykład w przypadku strefy o nazwie „acme” otwórz ten adres URL:
https://acme.login.apigee.com/passcode
Jeśli ostatnio nie logowałeś(-aś) się przez dostawcę tożsamości, pojawi się prośba o zalogowanie cal
Ten adres URL zwraca jednorazowy kod dostępu, który działa jak dane logowania do otrzymywania tokenów i pozostaje ważny do momentu odświeżenia adresu URL uzyskać nowy kod dostępu. Możesz też użyć kodu dostępu i
get_token
, aby wygenerować token dostępu. Na przykład: - Wyślij żądanie do interfejsu Edge API zgodnie z tym przykładem:
curl https://zoneName.login.apigee.com/oauth/token \ -s \ -H "Accept: application/json" \ -d 'grant_type=password&response_type=token&passcode=passcode'
passcode działa jako dane logowania do autoryzacji.
Gdzie:
- Nagłówek
Authorization
to „Podstawowy ZWRnZWNsaTplZGdlY2xpc2VjcmV0” (użyj tego dokładną wartość). - Typ żądania to
POST
. - Treść żądania zawiera te informacje:
grant_type
to „hasło”.response_type
to „token”.passcode
, gdzie passcode to kod dostępu zwrócony w poprzednim kroku.
Połączenie wydrukuje na ekranie tokeny dostępu i odśwież.
- Nagłówek
Aby odświeżyć token dostępu:
Prześlij prośbę do firmy https://zoneName.login.apigee.com/oauth/token
.
co widać w następnym przykładzie:
curl https://zoneName.login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'
Gdzie:
- Treść żądania zawiera te informacje:
grant_type
to „refresh_token”.refresh_token
to wartość tokena odświeżania.
- Nagłówek
Authorization
to „Podstawowy ZWRnZWNsaTplZGdlY2xpc2VjcmV0” (użyj tego dokładną wartość). - Typ żądania to
POST
.
Uzyskiwanie dostępu do interfejsu Edge API przez SAML
Możesz użyć takich narzędzi jak curl
lub wygodnego narzędzia Apigee acurl
do
dostęp do interfejsu Edge API.
Korzystając z curl
, wywołujesz interfejs Edge API i przekazujesz token dostępu w polu wyboru
Authorization: Bearer
, tak jak w tym przykładzie:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
Jeśli korzystasz z elementu acurl
, nie musisz określać nagłówka Authorization
. Na przykład:
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
W tych przykładach wywoływany jest punkt końcowy interfejsu Edge API, który uzyskuje informacje o danej organizacji. Pełną listę punktów końcowych interfejsu Edge API znajdziesz w dokumentacji interfejsu API Apigee Edge.
Dodatkowe metody wywoływania interfejsu API, w tym sposoby zagwarantowania, że token pozostanie aktywny przeczytaj artykuł Dostęp do interfejsu Edge API przez OAuth2.
Użytkownicy komputerów w strefach SAML
Do skryptu automatycznego dostępu możesz użyć narzędzi acurl
i get_token
do interfejsów Edge API dla użytkowników maszyn w strefach SAML.
Ten przykład pokazuje, jak
użyj get_token
do
zażądać tokena dostępu, a następnie dodać wartość tokena do wywołania curl
:
USER=me@example.com
PASS=not-that-secret
TOKEN=$(get_token -u $USER:$PASS -m '' --force-basic-auth)
curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'
W powyższym przykładzie ustawienie wartości -m
na pusty ciąg znaków uniemożliwi użytkownikowi komputera
przed wyświetleniem prośby o kod MFA. Użycie flagi --force-basic-auth
spowoduje zastąpienie
standardowy prompt z prośbą o podanie kodu dostępu aktywowany przez żądania ze strefami SAML.
Możesz też połączyć żądanie tokena i wywołanie curl
za pomocą narzędzia acurl
.
Na przykład:
USER=me@example.com
PASS=not-that-secret
acurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'