Validação da conta de serviço

A Apigee híbrida fornece validação que garante que o local das chaves das contas de serviço estejam corretas e que as contas tenham as permissões apropriadas no projeto do Google Cloud. Essa validação é ativada por padrão.

Esta seção descreve como ativar ou desativar a validação da conta de serviço. Além disso, esta etapa garante que as APIs apropriadas estejam ativadas no projeto do Google Cloud para que a validação funcione.

Ativar a validação de permissão da conta de serviço

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

  1. Verifique se a API Cloud Resource Manager está ativada no projeto do Google Cloud:
    1. Abra o Console do Google Cloud e faça login com a conta que você criou na Etapa 1: criar uma conta do Google Cloud.
    2. Selecione o projeto que você criou na Etapa 2: criar um projeto do Google Cloud.
    3. Selecione APIs e serviços > Biblioteca.
    4. Pesquise "Cloud Resource Manager".
    5. Localize o serviço da API Cloud Resource Manager e clique nele.
    6. Se não estiver ativado, clique em Ativar.

    Você também pode ativar a API usando o gcloud:

    gcloud services enable cloudresourcemanager.googleapis.com --project GCP_PROJECT_ID
  2. No arquivo de modificações, adicione a propriedade validateServiceAccounts e defina-a como true. Exemplo:
    ...
    # Enables strict validation of service account permissions.
    validateServiceAccounts: true
    ...

Quando a validação está ativada, sempre que você aplica alterações de configuração aos componentes do ambiente de execução da Apigee híbrida no cluster, o gráfico Helm ou apigeectl valida as chaves da conta de serviço contidas no arquivo de substituições.

Como solucionar erros de validação

Se a validação falhar, a implantação do ambiente de execução será interrompida, e helm upgrade / helm install ou apigeectl init / apigeectl apply sairá. Para solucionar problemas de falha na conta de serviço, saiba que a validação verifica as permissões nesta ordem:

  1. Permissão para o código do projeto.
  2. (Somente para UDCA e Synchronizer) Se a verificação de permissão no projeto falhar, a validação continuará a verificar a permissão na política de IAM do ambiente da Apigee. Essas SAs têm escopo de ambiente e ambientes compatíveis com permissões mais refinadas.

    Para atualizar a política do IAM de um ambiente específico, acesse a IU híbrida. Acesse Administrador > Ambientes > Acesso

Por exemplo, esta é uma mensagem de erro para uma verificação de permissão com falha:

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 esse erro, adicione os papéis necessários à conta de serviço. Para informações sobre como criar e modificar contas de serviço, consulte Criar as contas de serviço. Para verificar as permissões necessárias para cada componente híbrido da Apigee, consulte Contas de serviço e papéis usados por componentes híbridos.

Desativar validação de permissão

Para desativar a validação de permissão da conta de serviço, defina a propriedade validationServiceAccounts no arquivo de modificações como false, conforme mostrado no exemplo a seguir:

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