Automatyzowanie procesu generowania tokenów

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

Gdy używasz SAML z interfejsem Edge API, proces uzyskiwania tokenów dostępu i odświeżania OAuth2 z asercji SAML nazywa się przepływem kodu dostępu. W przypadku przepływu kodu dostępu używasz przeglądarki, aby uzyskać jednorazowy kod dostępu, który następnie służy do uzyskania tokenów OAuth2.

Twoje środowisko może jednak obsługiwać automatyzację typowych zadań programistycznych, takich jak automatyzacja testów czy ciągła integracja/ciągłe wdrażanie (CI/CD). Aby zautomatyzować te zadania, gdy jest włączony 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.

Informacje o użytkownikach maszyn

Apigee Edge obsługuje użytkowników maszyn w organizacji z włączonym protokołem SAML. Użytkownicy maszyn są używani wyłącznie do automatyzacji i nie mają do nich bezpośredniego dostępu ludzie.

Użytkownik maszyny może uzyskać tokeny OAuth2 bez konieczności podawania kodu dostępu. Oznacza to, że możesz całkowicie zautomatyzować proces uzyskiwania i odświeżania tokenów OAuth2 za pomocą interfejsu Edge API.

Kroki automatyzacji procesu generowania tokenów

Aby zautomatyzować proces generowania tokenów:

Krok Opis
1 Utwórz użytkownika maszyny w strefie tożsamości SAML.
2 Przypisz wymagane role użytkownikowi maszyny w organizacji Edge.
3 Pobierz tokeny OAuth2 użytkownika maszyny.

Film: obejrzyj krótki film, aby dowiedzieć się, jak zautomatyzować dostęp do interfejsów Apigee Edge API za pomocą danych logowania użytkownika maszyny.

Zarządzanie użytkownikami maszyn w strefach tożsamości SAML

Apigee udostępnia interfejs wiersza poleceń do zarządzania użytkownikami maszyn, który umożliwia tworzenie kont użytkowników maszyn i zarządzanie nimi. Kroki korzystania z interfejsu wiersza poleceń do zarządzania użytkownikami maszyn są opisane w sekcjach poniżej.

Korzystanie z interfejsu wiersza poleceń

Aby korzystać z interfejsu wiersza poleceń do zarządzania użytkownikami maszyn, najpierw pobierz i rozpakuj ten plik: usermgmt.tar.gz(1)

Format wywoływania interfejsu wiersza poleceń jest taki:

usermgmt_platform [command] [flags]

W tabeli poniżej znajdziesz podsumowanie obsługiwanych platform i odpowiadających im poleceń do wywoływania interfejsu wiersza poleceń do zarządzania użytkownikami maszyn. (Pliki wykonywalne znajdują się w katalogu usermgmt.)

Platforma 32-bity 64 bity
Linux usermgmt_linux_386 usermgmt_linux_amd64
Mac usermgmt_darwin_386 usermgmt_darwin_amd64
Windows usermgmt_windows_386 usermgmt_windows_amd64

W tabeli poniżej znajdziesz podsumowanie poleceń , które można określić.

Polecenie Więcej informacji
create Tworzenie użytkownika maszyny w strefie tożsamości
delete Usuwanie użytkownika maszyny w strefie tożsamości
help Uzyskiwanie pomocy dotyczącej korzystania z interfejsu wiersza poleceń
list Wyświetlanie listy wszystkich użytkowników maszyn w strefie tożsamości
reset Resetowanie hasła użytkownika maszyny w strefie tożsamości

Opcjonalnie możesz przekazać jedną z tych flag, aby wyświetlić pomoc dotyczącą określonego polecenia: -h lub --help

Logowanie się w interfejsie wiersza poleceń

Przy pierwszym uruchomieniu interfejsu wiersza poleceń w ciągu 24 godzin pojawi się prośba o podanie danych logowania do konta zoneadmin.

Enter your Apigee credentials
Username: zoneadmin-username
Password: zoneadmin-password
If your user is opted with MFA, enter MFA code. Otherwise press enter to skip.
MFA: mfa-code_or_enter_to_skip

Interfejs wiersza poleceń do zarządzania użytkownikami maszyn przechowuje token dostępu na komputerze lokalnym, więc musisz się zalogować tylko raz na 24 godziny.

Uzyskiwanie pomocy dotyczącej korzystania z interfejsu wiersza poleceń

Wyświetl informacje o użyciu interfejsu wiersza poleceń za pomocą polecenia usermgmt_platform help. Listę obsługiwanych platform znajdziesz w artykule Korzystanie z interfejsu wiersza poleceń.

usermgmt_platform help

Wyświetlą się te informacje pomocy:

A command-line interface (CLI) to manage machine user accounts to automate
Apigee identity zone management. Use the CLI to create, list, delete,
and reset the password for machine users.

Usage:
  usermgmt [flags]
  usermgmt [command]

Available Commands:
  create  Creates a machine users in an identity zone.
  delete  Deletes a machine users in an identity zone.
  help    Help about any command
  list    Lists the machine users in an identity zone.
  reset   Resets the password for a machine user in an identity zone.

Flags:
  -h, --help               help for usermgmt

Use "usermgmt [command] --help" for more information about a command.

Aby wyświetlić pomoc dotyczącą konkretnego polecenia, przekaż zarówno polecenie, jak i flagę -h lub --help w wierszu poleceń.

Aby na przykład uzyskać pomoc dotyczącą polecenia list:

usermgmt_platform list -h

Wyświetlą się te informacje pomocy:

Lists the machine users in an identity zone.

Usage:
  usermgmt list [flags]

Flags:
  -h, --help   help for list

Tworzenie użytkownika maszyny w strefie tożsamości

Utwórz użytkownika maszyny w strefie tożsamości za pomocą polecenia usermgmt_platform create. Listę obsługiwanych platform znajdziesz w artykule Korzystanie z interfejsu wiersza poleceń.

  1. Wpisz to polecenie:
    usermgmt_platform create

    Wyświetli się lista stref tożsamości:

    myzone1
    myzone2
  2. W wierszu poleceń wpisz nazwę strefy:
    Enter a zone name: myzone1
  3. Wpisz nazwę użytkownika maszyny:
    Create a Machine User
    Username: machineuser1@mycompany.com
  4. Wpisz hasło użytkownika maszyny. Gdy pojawi się prośba, wpisz hasło jeszcze raz.
    Password: password
    Re-enter password: password 

    Użytkownik został utworzony.

    Created machine user machineuser1@mycompany.com

Wyświetlanie listy wszystkich użytkowników maszyn w strefie tożsamości

Wyświetl listę wszystkich użytkowników maszyn w strefie tożsamości za pomocą polecenia usermgmt_platform list. Listę obsługiwanych platform znajdziesz w artykule Korzystanie z interfejsu wiersza poleceń.

  1. Wpisz to polecenie:
    usermgmt_platform list
    Wyświetli się lista stref tożsamości:
    myzone1
    myzone2
  2. W wierszu poleceń wpisz nazwę strefy:
    Enter a zone name: myzone1

    Wyświetli się lista użytkowników maszyn w strefie tożsamości:

    Machine users in the zone:
    machineuser1@mycompany.com
        

Resetowanie hasła użytkownika maszyny w strefie tożsamości

Zresetuj hasło użytkownika maszyny w strefie tożsamości za pomocą polecenia usermgmt_platform reset. Listę obsługiwanych platform znajdziesz w artykule Korzystanie z interfejsu wiersza poleceń.

  1. Wpisz to polecenie:
    usermgmt_platform reset

    Wyświetli się lista stref tożsamości:

    myzone1
    myzone2
  2. W wierszu poleceń wpisz nazwę strefy:
    Enter a zone name: myzone1
  3. Wpisz nazwę użytkownika maszyny, którego hasło chcesz zresetować:
    Reset User Password
    Enter the username for the machine user
    Username: machineuser1@mycompany.com
  4. Wpisz nowe hasło użytkownika maszyny. Gdy pojawi się prośba, wpisz hasło jeszcze raz.
    Enter the new password: password
    Re-enter password: password

    Hasło zostało zresetowane.

    Reset password for machine user machineuser1@mycompany.com

Usuwanie użytkownika maszyny w strefie tożsamości

Usuń użytkownika maszyny w strefie tożsamości za pomocą polecenia usermgmt_platform delete. Listę obsługiwanych platform znajdziesz w artykule Korzystanie z interfejsu wiersza poleceń.

  1. Wpisz to polecenie:
    usermgmt_platform delete
    Wyświetli się lista stref tożsamości:
    myzone1
    myzone2
  2. W wierszu poleceń wpisz nazwę strefy:
    Enter a zone name: myzone1
  3. Wpisz nazwę użytkownika maszyny, którego chcesz usunąć:
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    Użytkownik maszyny został usunięty.

    Deleted user machineuser1@mycompany.com

Przypisywanie wymaganych ról użytkownikowi maszyny w organizacji Edge

Za pomocą interfejsu dodaj użytkownika maszyny do organizacji Edge z włączonym protokołem SAML i przypisz mu wymagane role (np. administratora organizacji), jak opisano w artykule Dodawanie użytkowników.

Pobieranie tokenów OAuth2 użytkownika maszyny

Proces generowania tokenów i obsługę buforowania tokenów dla użytkowników maszyn możesz zautomatyzować za pomocą narzędzi acurl(1) i get_token(1), jak opisano w artykułach OAuth2 dla użytkowników maszyn i Użytkownicy maszyn w strefach SAML.

Aby ręcznie pobrać tokeny OAuth2 użytkownika maszyny za pomocą curl:

  1. Użyj preferowanego narzędzia do kodowania adresów URL, aby zakodować nazwę użytkownika i hasło użytkownika maszyny.

    Ostrzeżenie: użyj wewnętrznego narzędzia do kodowania adresów URL, aby dane logowania użytkownika maszyny nie zostały naruszone.

  2. Wygeneruj początkowe tokeny dostępu i odświeżania, wywołując punkt końcowy tokena SAML, jak pokazano w tym przykładzie:
    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 \
      https://zoneName.login.apigee.com/oauth/token -s \
      -d 'grant_type=password&username=machineusername&password=machineuserpassword'

    Na potrzeby autoryzacji przekaż zarezerwowane dane logowania klienta OAuth2, ZWRnZWNsaTplZGdlY2xpc2VjcmV0, w nagłówku Authorization. Wywołanie powoduje wydrukowanie tokenów dostępu i odświeżania w stdout.

  3. Przekaż token dostępu do wywołania interfejsu Edge Management API jako nagłówek Bearer:
    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      https://api.enterprise.apigee.com/v1/organizations/orgName
  4. Gdy token dostępu wygaśnie, możesz go odświeżyć, wysyłając token odświeżania do punktu końcowego tokena SAML tokena, jak pokazano w tym przykładzie:
    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 \
      https://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

(1) Copyright 2023 Google LLC
Narzędzia usermgmt, acurl i get_token są udostępniane jako "Oprogramowanie" na podstawie umowy regulującej korzystanie z Google Cloud Platform, w tym Warunków korzystania z usługi dostępnych na stronie https://cloud.google.com/terms/service-terms.