Validação da conta de serviço

O Apigee hybrid fornece validação que garante que a localização das chaves das suas contas de serviço está correta e que as contas têm as autorizações adequadas no seu projeto do GCP. Esta validação está ativada por predefinição.

Esta secção descreve como ativar ou desativar a validação da conta de serviço. Além disso, este passo garante que tem as APIs adequadas ativadas para o seu projeto da GCP, para que a validação funcione.

Ative a validação da autorização da conta de serviço

Para ativar a validação de autorizações:

  1. Certifique-se de que a API Cloud Resource Manager está ativada para o seu projeto do GCP:
    1. Abra a Google Cloud Console e inicie sessão com a conta que criou no Passo 1: crie uma conta do Google Cloud.
    2. Selecione o projeto que criou no passo 2: crie um projeto do Google Cloud.
    3. Selecione APIs e serviços > Biblioteca.
    4. Pesquise "Cloud Resource Manager".
    5. Localize o serviço API Cloud Resource Manager e clique nele.
    6. Se não estiver ativada, clique em Ativar.

    Também pode ativar a API através do gcloud:

    gcloud services enable cloudresourcemanager.googleapis.com --project GCP_project_ID
  2. No ficheiro de substituições, adicione a propriedade validateServiceAccounts e defina-a como true. Por exemplo:
    ...
    # Enables strict validation of service account permissions.
    validateServiceAccounts: true
    ...

Quando a validação está ativada, sempre que o apigeectl aplica os componentes de tempo de execução híbrido do Apigee ao seu cluster, valida as chaves da conta de serviço incluídas no ficheiro de substituições.

Resolução de problemas de erros de validação

Se a validação falhar, a implementação em tempo de execução é interrompida e o comando apigeectl é terminado. Para resolver problemas de falhas de contas de serviço, é útil saber que as verificações de validação verificam as autorizações nesta ordem:

  1. Autorização no ID do projeto.
  2. (Apenas para UDCA e sincronizador) Se a verificação de autorização no projeto falhar, a validação continua a verificar a autorização em relação à política de IAM do ambiente do Apigee. Estas SAs têm âmbito de ambiente e os ambientes suportam autorizações mais detalhadas.

    Para atualizar a política de IAM de um ambiente específico, aceda à IU híbrida. Aceda a: Administração > Ambientes > Acesso

Por exemplo, a seguinte é uma mensagem de erro para uma verificação de autorização falhada:

Invalid Metrics Service Account. Service Account
"apigee-metrics@hybrid-project.iam.gserviceaccount.com" is missing 1 or more required
permissions [monitoring.metricDescriptors.create monitoring.metricDescriptors.get monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.list monitoring.timeSeries.create].
Visit Service accounts and roles used by
hybrid components for more details on setting up Apigee hybrid service account permissions.

Para resolver este erro, adicione as funções necessárias à conta de serviço. Para ver informações sobre como criar e modificar contas de serviço, consulte o artigo Crie as contas de serviço. Para verificar as autorizações necessárias para cada componente híbrido do Apigee, consulte o artigo Contas de serviço e funções usadas por componentes híbridos.

Desative a validação de autorizações

Para desativar a validação da autorização da conta de serviço, defina a propriedade validationServiceAccounts no ficheiro de substituições como false, conforme mostra o exemplo seguinte:

...
# Enables strict validation of service account permissions.
validateServiceAccounts: false
...