Edge dla chmury prywatnej w wersji 4.18.05
Gdy używasz SAML z interfejsem API Edge, proces uzyskiwania tokenów dostępu i tokenów odświeżania OAuth2 z asercji SAML jest nazywany przepływem kodu dostępu. W przypadku przepływu z kodem dostępu używasz przeglądarki, aby uzyskać jednorazowy kod dostępu, którego następnie używasz do uzyskania tokenów OAuth2.
Środowisko programistyczne może jednak obsługiwać automatyzację typowych zadań programistycznych, takich jak automatyzacja testów czy tryb ciągłej integracji/ciągłego wdrażania (CI/CD). Aby zautomatyzować te zadania, gdy włączony jest protokół SAML, musisz mieć możliwość uzyskiwania i odświeżania tokenów OAuth2 bez konieczności kopiowania i wklejania kodu dostępu z przeglądarki.
Edge obsługuje automatyczne generowanie tokenów za pomocą użytkowników maszynowych. Użytkownik komputera może uzyskać tokeny OAuth2 bez konieczności podawania hasła. Oznacza to, że możesz całkowicie zautomatyzować proces uzyskiwania i odświeżania tokenów OAuth2 za pomocą interfejsu API zarządzania Google Analytics Edge.
Tworzenie użytkownika komputera
Użyj narzędzia apigee-ssoadminapi.sh, aby utworzyć użytkownika komputera dla organizacji SAML. Więcej informacji znajdziesz w artykule Korzystanie z apigee-ssoadminapi.sh. Możesz utworzyć jedno konto użytkownika komputera, które będzie używane przez wszystkie Twoje organizacje, lub osobne konto dla każdej organizacji.
Konto komputera jest tworzone i przechowywane w magazynie danych Edge, a nie u dostawcy tożsamości SAML. Dlatego nie odpowiadasz za utrzymanie użytkownika komputera za pomocą interfejsu Edge i interfejsu API zarządzania Google Analytics.
Podczas tworzenia konta użytkownika komputera musisz podać adres e-mail i hasło. Po utworzeniu użytkownika komputera przypisz go do co najmniej jednej organizacji.
Aby utworzyć użytkownika komputera:
- Aby utworzyć użytkownika komputera, użyj tego polecenia
apigee-ssoadminapi.sh:apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \ --secret SSO_ADMIN_SECRET --host edge_sso_IP_or_DNS \ -u machine_user_email -p machine_user_password
Gdzie:
- SSO_ADMIN_NAME to nazwa użytkownika administratora zdefiniowana przez właściwość
SSO_ADMIN_NAMEw pliku konfiguracji używanym do skonfigurowania modułu Edge SSO. Wartość domyślna tossoadmin. - SSO_ADMIN_SECRET to hasło administratora określone przez właściwość
SSO_ADMIN_SECRETw pliku konfiguracji.
W tym przykładzie możesz pominąć wartości
--porti--ssl, ponieważ modułapigee-ssoużywa domyślnych wartości 9099 dla--porti http dla--ssl. Jeśli Twoja instalacja nie używa tych wartości domyślnych, określ je odpowiednio. - SSO_ADMIN_NAME to nazwa użytkownika administratora zdefiniowana przez właściwość
- Zaloguj się w interfejsie Edge i dodaj adres e-mail użytkownika komputera do organizacji, a następnie przypisz użytkownikowi komputera odpowiednią rolę. Więcej informacji znajdziesz w artykule Dodawanie użytkowników globalnych.
Uzyskiwanie i odświeżanie tokena użytkownika komputera
Użyj interfejsu API Edge, aby uzyskać i odświeżyć tokeny OAuth2, przekazując dane logowania użytkownika komputera zamiast hasła.
Aby uzyskać tokeny OAuth2 dla użytkownika komputera:
- Aby wygenerować początkowe tokeny dostępu i tokeny odświeżania, użyj tego wywołania interfejsu API:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://edge_sso_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=m_user_email&password=m_user_password'
Zapisz tokeny do późniejszego użycia.
- Przekaż token dostępu do wywołania interfejsu API zarządzania Google Analytics Edge jako nagłówek Bearer:
curl -H "Authorization: Bearer access_token" \ http://ms_IP_DNS:8080/v1/organizations/orgName
Gdzie orgName to nazwa organizacji zawierającej użytkownika komputera.
- Aby później odświeżyć token dostępu, użyj tego wywołania, które zawiera token odświeżania:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://edge_sso_IP_DNS:9099/oauth/token \ -d 'grant_type=refresh_token&refresh_token=refreshToken'
Tworzenie użytkownika komputera za pomocą interfejsu API zarządzania Google Analytics Edge
Możesz utworzyć użytkownika komputera za pomocą interfejsu API zarządzania Google Analytics Edge zamiast narzędzia apigee-ssoadminapi.sh.
Aby utworzyć użytkownika komputera:
- Użyj tego polecenia
curl, aby uzyskać token dla użytkownikassoadmin, czyli nazwy użytkownika konta administratora dlaapigee-sso:curl "http://edge_sso_IP_DNS:9099/oauth/token" -i -X POST \ -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \ -d "response_type=token" -d "grant_type=client_credentials" \ --data-urlencode "client_secret=SSO_ADMIN_SECRET" \ --data-urlencode "client_id=ssoadmin"
SSO_ADMIN_SECRET to hasło administratora ustawione podczas instalacji
apigee-sso, określone przez właściwośćSSO_ADMIN_SECRETw pliku konfiguracji.To polecenie wyświetla token, który jest potrzebny do wykonania następnego wywołania.
- Użyj tego polecenia
curl, aby utworzyć użytkownika komputera, przekazując token otrzymany w poprzednim kroku:curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \ -H "Accept: application/json" -H "Content-Type: application/json" \ -d '{"userName" : "machine_user_email", "name" : {"formatted":"DevOps", "familyName" : "last_name", "givenName" : "first_name"}, "emails" : [ {"value" : "machine_user_email", "primary" : true } ], "active" : true, "verified" : true, "password" : "machine_user_password" }' \ -H "Authorization: Bearer token"Hasło użytkownika komputera będzie Ci potrzebne w późniejszych krokach.
- Zaloguj się w interfejsie Edge i dodaj adres e-mail użytkownika komputera do organizacji, a następnie przypisz użytkownikowi komputera odpowiednią rolę. Więcej informacji znajdziesz w artykule Dodawanie użytkowników globalnych.