Receber um token de autorização
Para fazer as chamadas de API da Apigee descritas anteriormente neste tópico, é necessário ter um token de autorização que tenha o papel de administrador da organização da Apigee.
- Se você não for o proprietário do projeto do Google Cloud associado à organização da Apigee híbrida, verifique se sua conta de usuário do Google Cloud tem o papel roles/apigee.admin (Administrador da organização da Apigee). Verifique os papéis atribuídos a você com este comando:
gcloud projects get-iam-policy ${PROJECT_ID} \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:your_account_email"
Exemplo:
gcloud projects get-iam-policy my-project \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:myusername@example.com"
A saída deve incluir
roles/apigee.admin
. - Se você não tiver
roles/apigee.admin
, adicione o papel de Administrador de organização da Apigee à sua conta de usuário. Use o seguinte comando para adicionar o papel à sua conta de usuário:gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member user:your_account_email \ --role roles/apigee.admin
Exemplo:
gcloud projects add-iam-policy-binding my-project \ --member user:myusername@example.com \ --role roles/apigee.admin
-
Na linha de comando, receba as credenciais de autenticação de
gcloud
usando o comando a seguir:Linux / MacOS
export TOKEN=$(gcloud auth print-access-token)
Para verificar se o token foi preenchido, use
echo
, como mostra o exemplo a seguir:echo $TOKEN
Isso exibirá seu token como uma string codificada.
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
Para verificar se o token foi preenchido, use
echo
, como mostra o exemplo a seguir:echo %TOKEN%
Isso exibirá seu token como uma string codificada.
Ativar acesso do sincronizador
Para ativar o acesso do sincronizador:
- Encontre o endereço de e-mail da conta de serviço à qual você está concedendo acesso de sincronia.
Para ambientes de produção, precisa ser
apigee-synchronizer
. Use o comando a seguir:gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"
Se ele corresponder ao padrão
apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com
, use esse padrão na próxima etapa - Chame a
API setSyncAuthorization
para ativar as permissões necessárias para o Sincronizador usando o seguinte comando:
curl -X POST -H "Authorization: Bearer ${TOKEN}" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com"'"]}'
Em que:
${ORG_NAME}
: o nome da organização híbrida.apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: o endereço de e-mail da conta de serviço.
- Para verificar se a conta de serviço foi definida, use o seguinte comando para chamar a API a fim de conseguir
uma lista de contas de serviço:
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
A saída será assim:
{ "identities":[ "serviceAccount:apigee-synchronizer@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Você ativou a comunicação entre o ambiente de execução da Apigee híbrida e os planos de gerenciamento. Em seguida, instale o cert-manager para permitir que a Apigee híbrida interprete e gerencie certificados.