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:
- Certifique-se de que a
API Cloud Resource Manager está ativada para o seu projeto do Google Cloud:
- Abra a Google Cloud Console e inicie sessão com a conta que criou no Passo 1: crie uma conta do Google Cloud.
- Selecione o projeto que criou no passo 2: crie um projeto do Google Cloud.
- Selecione APIs e serviços > Biblioteca.
- Pesquise "Cloud Resource Manager".
- Localize o serviço API Cloud Resource Manager e clique nele.
- 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
- No ficheiro de substituições, adicione a propriedade
validateServiceAccounts
e defina-a comotrue
. 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:
- Autorização no ID do projeto.
- (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 ...