Configurar o Synchronizer

Esta seção descreve o sincronizador.

Visão geral do Synchronizer

Na Apigee híbrida, a tarefa principal do Synchronizer é pesquisar e fazer o download dos contratos de ambiente de execução fornecidos pelo plano de gerenciamento. As informações comunicadas por contrato incluem proxies de API produtos de API, caches e hosts virtuais. O sincronizador por padrão armazena dados de configuração do ambiente no banco de dados do Cassandra.

Espera-se que as instâncias do Synchronizer em execução no plano de ambiente de execução pesquise o plano de gerenciamento regularmente, faça o download dos contratos e disponibilize o mesmo para instâncias de ambiente de execução local.

Um Synchronizer pode aceitar vários processadores de mensagens implantados no mesmo pod.

Ativar acesso do Synchronizer

É preciso conceder ao Synchronizer permissão para extrair artefatos da Apigee, como recursos e pacotes de proxy do plano de gerenciamento. Você precisa chamar uma API Apigee para autorizar o sincronizador a extrair artefatos do plano de gerenciamento para o plano de ambiente de execução.

  1. Verifique se você ativou a API Apigee conforme explicado nas etapas de configuração do Google Cloud. Para ver detalhes, consulte Ativar APIs.
  2. Localize a chave da conta de serviço do Google Cloud ativada para gravação (um arquivo JSON) de que fez o download como parte de Criar contas de serviço e credenciais. A conta de serviço tem o papel Administrador da organização Apigee e é denominada "apigee-org-admin". Se você não criou essa conta de serviço anteriormente, faça isso antes de continuar.
  3. Use a chave da conta de serviço de admin. da organização da Apigee para gerar um token de acesso do OAuth 2.0. Esse token é necessário para autenticar as APIs da Apigee.

    Use o gcloud para receber um token de acesso do OAuth 2.0, passando o arquivo JSON das credenciais da conta de serviço que você salvou usando a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS:

    export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
    gcloud auth application-default print-access-token

    Um token OAuth2.0 é retornado.

    Para mais informações, consulte token de acesso de impressão padrão de aplicativo de autenticação gcloud beta.

  4. Copie o token OAuth 2.0 retornado e armazene-o em uma variável, como TOKEN. Exemplo:
    export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
  5. Chame a API setSyncAuthorization a fim de ativar as permissões necessárias para o sincronizador:

    Sem residência de dados

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/YOUR_ORG_NAME:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME"]}'
    

    Em que:

    • YOUR_ORG_NAME: o nome da organização híbrida.
    • SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME: o nome de uma conta de serviço com o papel Gerenciador de Synchronizer da Apigee. O nome tem o formato de endereço de e-mail. Por exemplo: my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com

    Exemplo:

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"]}'
    

    Residência dos dados

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/YOUR_ORG_NAME:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME"]}'
    

    Em que:

    • YOUR_ORG_NAME: o nome da organização híbrida.
    • CONTROL_PLANE_LOCATION: o local dos dados do plano de controle caso a instalação híbrida use residência de dados. Esse é o local onde o conteúdo principal do cliente, como pacotes de proxy, é armazenado. Para uma lista, consulte Regiões disponíveis do plano de controle da API Apigee.
    • SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME: o nome de uma conta de serviço com o papel Gerenciador de Synchronizer da Apigee. O nome tem o formato de endereço de e-mail. Por exemplo: my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com

    Exemplo:

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://us-apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"]}'
    

    Para mais informações sobre essa API, consulte API setSyncAuthorization.

  6. Para verificar se a conta de serviço foi definida, chame a seguinte API para receber uma lista de contas de serviço:

    Sem residência de dados

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \
       -d ''

    Residência dos dados

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \
       -d ''

    A resposta será semelhante a:

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