Etapa 7: ativar o acesso do sincronizador

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.

  1. 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 resposta será semelhante a esta:

    ROLE
    roles/apigee.admin
    roles/compute.admin
    roles/container.admin
    roles/gkehub.admin
    roles/iam.serviceAccountAdmin
    roles/iam.serviceAccountKeyAdmin
    roles/meshconfig.admin
    roles/owner
    roles/resourcemanager.projectIamAdmin
    roles/servicemanagement.admin
    roles/serviceusage.serviceUsageAdmin
  2. Se você não tiver roles/apigee.admin nos papéis, adicione o papel Administrador da organização da Apigee à 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
  3. 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:

  1. Encontre o endereço de e-mail da conta de serviço à qual você está concedendo acesso de sincronia. Para ambientes que não são de produção (como sugerido neste tutorial), ele precisa ser apigee-non-prod. Para ambientes de produção, ele precisa ser apigee-synchronizer. Use o comando a seguir:

    Sem produção

    gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-non-prod"

    Se ele corresponder ao padrão apigee-non-prod@${ORG_NAME}.iam.gserviceaccount.com, use esse padrão na próxima etapa

    Prod.

    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

  2. Chame a API setSyncAuthorization para ativar as permissões necessárias para o Sincronizador usando o seguinte comando:

    Sem produção

    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-non-prod@${ORG_NAME}.iam.gserviceaccount.com"'"]}'
    

    Produção

    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-non-prod${ORG_NAME}.iam.gserviceaccount.com ou
      apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com: o endereço de e-mail da conta de serviço.
  3. 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 resposta será semelhante a:

    Sem produção

    {
       "identities":[
          "serviceAccount:apigee-non-prod@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }

    Prod.

    {
       "identities":[
          "serviceAccount:apigee-synchronizer@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }

Você permitiu agora a comunicação entre os ambientes de gerenciamento e de execução da Apigee híbrida. Em seguida, vamos aplicar a configuração ao ambiente de execução híbrido e concluir a instalação da Apigee híbrida.

1 2 3 4 5 6 7 (PRÓXIMA) Etapa 8: verificar a prontidão do cluster 9 10