Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
SAML obsługuje środowisko logowania jednokrotnego (SSO). Używając SAML z Edge, możesz obsługiwać logowanie jednokrotne w interfejsie Edge UI i interfejsie API, a także w innych usługach, które udostępniasz i które też obsługują SAML.
Wymaganie wstępne: aby móc używać SAML do uzyskiwania dostępu do interfejsu Edge API, musisz włączyć SAML w co najmniej 1 organizacji.
Różnice między SAML a OAuth2
Po skonfigurowaniu SAML korzystanie z niego jest bardzo podobne do używania OAuth2 do uzyskiwania dostępu do interfejsu Edge API. Gdy wywołujesz interfejs Edge API, w żądaniu umieszczasz token dostępu OAuth2 w
Główna różnica między SAML a OAuth2 w przypadku uzyskiwania dostępu do interfejsu Edge API polega na sposobie uzyskiwania tokenów. W przypadku SAML podczas pobierania pary tokenów musisz podać te informacje:
- Strefy: użytkownicy Edge w chmurze publicznej muszą podczas pobierania tokenów odwoływać się do nazwy swojej strefy.
- Kod dostępu: podczas wysyłania prośby o parę tokena dostępu i tokena odświeżania podaj jednorazowy kod dostępu.
SAML używa tych samych punktów końcowych w usłudze Edge OAuth2, ale z dodatkiem odpowiedniej nazwy strefy.
Aby uzyskać tokeny dostępu za pomocą SAML, możesz użyć jednej z tych metod opisanych w tej sekcji:
Dodatkowo możesz zautomatyzować proces generowania tokenów dla użytkowników maszyn, jak opisano w sekcji Automatyzowanie procesu generowania tokenów.
Uzyskiwanie tokenów dostępu za pomocą get_token
Za pomocą narzędzia get_token możesz wymienić swoje dane logowania na tokeny dostępu i
tokeny odświeżania OAuth2, których używasz z SAML.
Aby uzyskać token dostępu za pomocą get_token:
- Ustaw zmienną środowiskową
SSO_LOGIN_URLna adres URL logowania. Adres URL logowania ma postać:https://zoneName.login.apigee.com
Na przykład w przypadku strefy o nazwie "acme" ustaw
SSO_LOGIN_URLna "https://acme.login.apigee.com", jak pokazano w tym przykładzie:export SSO_LOGIN_URL=https://acme.login.apigee.com
- Wywołaj narzędzie
get_token, aby uzyskać token dostępu OAuth2:get_token -u me@example.com
Pojawi się prośba o odwiedzenie wyświetlanego 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 nie zalogowano się ostatnio u dostawcy tożsamości, pojawi się prośba o zalogowanie się.
Ten adres URL zwraca jednorazowy kod dostępu, który pozostaje ważny do momentu odświeżenia tego adresu URL w celu uzyskania nowego kodu dostępu lub użycia kodu dostępu z narzędziem
get_tokendo wygenerowania tokena dostępu. Na przykład:
-
Wpisz kod dostępu. Narzędzie
get_tokenpobiera tokeny OAuth2, wyświetla token dostępu wstdout, oraz zapisuje tokeny dostępu i tokeny odświeżania w~/.sso-cli. - Wywołaj interfejs Edge API i przekaż token dostępu w nagłówku
Authorization: Bearer, jak pokazano w tym przykładzie:curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
Wartość tokena dostępu można skopiować z
stdout.Ten przykład pobiera szczegóły dotyczące danej organizacji. Pełną listę punktów końcowych interfejsu Management API znajdziesz w dokumentacji Apigee Edge API.
Gdy token dostępu wygaśnie, możesz ponownie wywołać narzędzie get_token, aby uzyskać nowy token dostępu. 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 dostępu.
Gdy token odświeżania wygaśnie, narzędzie get_token poprosi Cię o podanie nowego kodu dostępu. Aby wygenerować nowy token dostępu OAuth2, musisz
wygenerować nowy kod dostępu.
Uzyskiwanie tokenów dostępu za pomocą usługi Edge OAuth2
Za pomocą usługi Edge OAuth2 możesz uzyskać tokeny dostępu, których używasz z SAML. Aby uwierzytelnić się w interfejsie Edge API, w pierwszym żądaniu używasz kodu dostępu, aby uzyskać parę tokena dostępu i tokena odświeżania , a następnie 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 uzyskać 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 nie zalogowano się ostatnio u dostawcy tożsamości, pojawi się prośba o zalogowanie się.
Ten adres URL zwraca jednorazowy kod dostępu, który służy jako dane logowania do uzyskiwania tokenów i pozostaje ważny do momentu odświeżenia adresu URL w celu uzyskania nowego kodu dostępu. Możesz też użyć kodu dostępu z narzędziem
get_tokendo wygenerowania tokena dostępu. Na przykład:
- Wyślij żądanie do interfejsu Edge API, jak pokazano w tym przykładzie:
curl https://zoneName.login.apigee.com/oauth/token \ -s \ -H "Accept: application/json" \ -d 'grant_type=password&response_type=token&passcode=passcode'passcode służy jako dane logowania do autoryzacji.
Gdzie:
- Nagłówek
Authorizationma wartość "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" (użyj dokładnie tej wartości). - Typ żądania to
POST. - Treść żądania zawiera te informacje:
grant_typeto „password”.response_typeto „token”.passcode, gdzie passcode to kod dostępu zwrócony w poprzednim kroku.
Wywołanie wyświetla na ekranie tokeny dostępu i tokeny odświeżania.
- Nagłówek
Aby odświeżyć token dostępu:
Wyślij żądanie do https://zoneName.login.apigee.com/oauth/token,
jak pokazano w tym 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_typeto „refresh_token”.refresh_tokento wartość tokena odświeżania.
- Nagłówek
Authorizationma wartość "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" (użyj dokładnie tej wartości). - Typ żądania to
POST.
Uzyskiwanie dostępu do interfejsu Edge API za pomocą SAML
Do uzyskiwania dostępu do interfejsu Edge API możesz używać narzędzi takich jak curl lub narzędzie pomocnicze Apigee acurl
do
uzyskiwania dostępu do interfejsu Edge API.
W przypadku narzędzia curl wywołujesz interfejs Edge API i przekazujesz token dostępu w nagłówku
Authorization: Bearer, jak pokazano w tym przykładzie:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
W przypadku narzędzia acurl nie musisz określać nagłówka Authorization. Na przykład:
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
Te przykłady wywołują punkt końcowy interfejsu Edge API, który pobiera szczegóły dotyczące danej organizacji. Pełną listę punktów końcowych interfejsu Edge API znajdziesz w dokumentacji Apigee Edge API.
Więcej informacji o innych metodach wywoływania interfejsu API, w tym o sposobach zapewnienia, że token pozostanie aktualny, znajdziesz w artykule Uzyskiwanie dostępu do interfejsu Edge API za pomocą OAuth2.
Użytkownicy maszyn w strefach SAML
Za pomocą narzędzi acurl i get_token możesz tworzyć skrypty automatycznego dostępu
do interfejsów Edge API dla użytkowników maszyn w strefach SAML.
Ten przykład pokazuje, jak użyć get_token aby poprosić o token dostępu, a następnie dodać wartość tokena do wywołania curl:
USER=me@example.comPASS=not-that-secretTOKEN=$(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 wyświetlanie użytkownikowi maszyny
prośby o kod MFA. Użycie flagi --force-basic-auth spowoduje zastąpienie standardowej prośby o kod dostępu wywoływanej przez żądania ze stref SAML.
Możesz też połączyć żądanie tokena i wywołanie curl za pomocą narzędzia acurl.
Na przykład:
USER=me@example.comPASS=not-that-secretacurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'