Korzystanie z zewnętrznego dostawcy tożsamości przy użyciu interfejsu Edge Management API

Podstawowe uwierzytelnianie to jeden ze sposobów uwierzytelniania podczas wywoływania interfejsu API zarządzania Google Analytics Edge. Możesz na przykład wysłać to curl żądanie do interfejsu API zarządzania Google Analytics, aby uzyskać dostęp do informacji o swojej organizacji:

curl -u USER_NAME:PASSWORD http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

W tym przykładzie używasz opcji curl -u, aby przekazać dane uwierzytelniające uwierzytelniania podstawowego. Możesz też przekazać token OIDC/OAuth2 w nagłówku Authorization: Bearer, aby wywoływać interfejs Edge Management API, jak pokazano w tym przykładzie:

curl -H "Authorization: Bearer ACCESS_TOKEN" http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

Po włączeniu zewnętrznego dostawcy tożsamości na potrzeby uwierzytelniania możesz opcjonalnie wyłączyć uwierzytelnianie podstawowe. Jeśli wyłączysz uwierzytelnianie podstawowe, wszystkie skrypty (np. Maven, powłoka i apigeetool), które korzystają z wywołań interfejsu Edge Management API obsługujących uwierzytelnianie podstawowe, przestaną działać. Musisz zaktualizować wszystkie wywołania interfejsu API i skrypty, które używają uwierzytelniania podstawowego, aby przekazywać tokeny dostępu OAuth2 w Bearer nagłówku.

Pobieranie i odświeżanie tokenów za pomocą narzędzia get_token

Narzędzie get_token używa standardowego przepływu kodu urządzenia OAuth 2.0 do uzyskiwania tokenów dostępu i tokenów odświeżania OIDC/OAuth2. Narzędzie wyświetla prośbę o odwiedzenie adresu URL w przeglądarce, aby uwierzytelnić się za pomocą zewnętrznego dostawcy tożsamości (lub lokalnego LDAP), a następnie automatycznie odblokowuje terminal, aby wydrukować prawidłowy token dostępu.

Narzędzie get_token bezpiecznie zapisuje tokeny w pamięci podręcznej na dysku w katalogu ~/.sso-cli/, aby można było ich używać w razie potrzeby. Drukuje też prawidłowy token dostępu w stdout. Jeśli można odświeżyć istniejący token, narzędzie automatycznie go odświeży. Jeśli token odświeżania wygaśnie, narzędzie rozpocznie nowy proces autoryzacji w przeglądarce.

Aby uzyskać token dostępu OAuth2 do wywoływania interfejsu Edge Management API:

  1. Narzędzia get_token i acurl są fabrycznie zainstalowane na węźle hostującym SSO w Apigee (węzeł OpenLDAP) w lokalizacji: /opt/apigee/apigee-openldap/bin/
  2. (Opcjonalnie) Ustaw zmienną środowiskową SSO_LOGIN_URL na adres URL wystawcy SSO w formacie:
    export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"

    gdzie EDGE_SSO_IP_DNS to adres IP lub nazwa DNS maszyny hostującej Apigee SSO. Jeśli skonfigurowano protokół TLS w SSO w Apigee, użyj https i prawidłowego numeru portu protokołu TLS.

  3. Wywołaj get_token z adresem e-mail, aby rozpocząć przepływ kodu urządzenia OAuth 2.0:
    /opt/apigee/apigee-openldap/bin/get_token -u EMAIL_ADDRESS

    gdzie EMAIL_ADDRESS to adres e-mail użytkownika Edge.

  4. Narzędzie wstrzyma działanie i wydrukuje w terminalu adres URL oraz 8-znakowy kod urządzenia:
    Please visit: http://EDGE_SSO_IP_DNS:9099/device
    And enter code: ABCD-EFGH
  5. Otwórz podany adres URL w przeglądarce, wpisz kod urządzenia i kliknij Prześlij. Nastąpi przekierowanie do zewnętrznego dostawcy tożsamości (lub lokalnego formularza LDAP), aby uwierzytelnić się i zatwierdzić żądanie.
  6. Po pomyślnym uwierzytelnieniu w przeglądarce wróć do terminala. Narzędzie get_token automatycznie wykryje zatwierdzenie, uzyska token dostępu OAuth2, wyświetli go na ekranie i bezpiecznie zapisze w pamięci podręcznej.
  7. Przekaż token dostępu do wywołania interfejsu Edge Management API za pomocą narzędzia acurl, które automatycznie odczytuje token z pamięci podręcznej i wstawia nagłówek Bearer:
    /opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

    Możesz też ręcznie przekazać token za pomocą standardowego polecenia curl:

    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

Używanie interfejsu Management API do pobierania i odświeżania tokenów

Starszy punkt końcowy /passcode został usunięty. Dlatego użytkownicy muszą używać narzędzia get_token zgodnie z opisem powyżej, aby rozpocząć proces uwierzytelniania za pomocą przepływu kodu urządzenia OAuth 2.0 w przeglądarce.

Jeśli piszesz skrypty lub potoki CI/CD, które nie mogą wchodzić w interakcję z przeglądarką, zapoznaj się z artykułem Automatyzowanie zadań za pomocą użytkowników maszyn. Zautomatyzowani użytkownicy maszyn lub aplikacje z prawidłowymi danymi logowania mogą używać standardowych wywołań interfejsu API do uzyskiwania i odświeżania tokenu odświeżania.