Validação da conta de serviço

O Apigee hybrid oferece 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 Google Cloud. 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 do Google Cloud, 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 Google Cloud:
    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 aplica alterações de configuração aos componentes de runtime híbrido do Apigee ao seu cluster, o gráfico Helm ou apigeectl valida as chaves da conta de serviço incluídas no seu ficheiro de substituições.

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

Se a validação falhar, a implementação de tempo de execução é interrompida e helm upgrade / helm install ou apigeectl init / apigeectl apply é terminada. 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
...