Acerca das contas de serviço

Uma conta de serviço é um tipo especial de conta no Google Cloud que permite que os componentes e as aplicações de um sistema interajam entre si e com outras APIs. Para mais informações acerca do Google Cloud, consulte o artigo Acerca dos serviços do Google Cloud.

O Hybrid usa contas de serviço do Google Cloud para realizar várias tarefas, incluindo:

  • Envie dados de registo e métricas
  • Extraia pedidos de rastreio
  • Ligue-se ao gateway da API para pedidos de API administrativos
  • Executar cópias de segurança
  • Transfira pacotes de proxy

Embora uma conta de serviço possa realizar todas estas operações, a Apigee recomenda que crie várias contas de serviço, cada uma atribuída a uma tarefa específica e cada uma com o seu próprio conjunto de autorizações. Isto melhora a segurança ao compartimentar o acesso e limitar o âmbito e os privilégios de acesso de cada conta de serviço. Tal como acontece com as contas de utilizador, estas autorizações são aplicadas através da atribuição de uma ou mais funções à conta de serviço.

Para funcionar corretamente, o Apigee hybrid requer a criação de várias contas de serviço. Cada conta de serviço requer uma ou mais funções específicas que lhe permitam desempenhar a sua função.

A tabela seguinte descreve as contas de serviço para os componentes híbridos:

Componente* Função Necessário para a instalação básica? Descrição
apigee-cassandra Administrador de objetos de armazenamento Permite que as cópias de segurança do Cassandra sejam feitas no Google Cloud Storage, conforme descrito em Cópia de segurança e recuperação.
apigee-logger Escritor de registos Permite a recolha de dados de registo, conforme descrito em Registo. Apenas necessário para instalações de clusters que não sejam do GKE.
apigee-mart Nenhuma função Permite a autenticação do serviço MART. Esta conta de serviço não deve ter uma função associada. Como resultado, quando criar esta conta de serviço, não lhe atribua uma função.
apigee-metrics Escritor de métricas de monitorização Permite a recolha de dados de métricas, conforme descrito na recolha de métricas
apigee-org-admin Administrador da organização do Apigee Permite-lhe chamar a API getSyncAuthorization e a API setSyncAuthorization. Não pode criar esta conta de serviço com a ferramenta create-service-account.
apigee-synchronizer Apigee Synchronizer Manager Permite que o sincronizador transfira pacotes de proxy e dados de configuração do ambiente. Também permite o funcionamento da funcionalidade de rastreio.
apigee-udca Agente do Apigee Analytics Permite a transferência de dados de rastreio, estatísticas e estado de implementação para o plano de gestão.
* Este nome é usado no nome do ficheiro da chave da conta de serviço transferida.

Além de criar as contas de serviço indicadas nesta tabela, também transfere as respetivas chaves privadas. Posteriormente, usa estas chaves para gerar tokens de acesso para poder aceder às APIs Apigee.

Crie as contas de serviço

Existem várias formas de criar contas de serviço, incluindo:

Cada um destes elementos é descrito nas secções seguintes.

Use a ferramenta de criação de contas de serviço

A ferramenta create-service-account (disponível depois de transferir e expandir apigeectl) cria contas de serviço híbridas específicas de componentes e atribui as funções necessárias. A ferramenta também transfere automaticamente as chaves da conta de serviço e armazena-as na sua máquina local no diretório especificado.

Para criar contas de serviço com a ferramenta create-service-account:

  1. Transfira e expanda apigeectl (se ainda não o tiver feito), conforme descrito em transfira e instale o apigeectl.
  2. Crie um diretório para armazenar as chaves da conta de serviço. Por exemplo:
    mkdir ./service-accounts
  3. Execute os seguintes comandos:
    ./tools/create-service-account apigee-metrics ./service-accounts
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts

    Estes comandos criam a maioria das contas necessárias e armazenam as respetivas chaves no diretório ./service-accounts. Estes comandos não criam a conta de serviço apigee-org-admin.

    Se estes comandos falharem, certifique-se de que fez referência a um diretório existente no qual armazenar os ficheiros de chaves.

    Para mais informações sobre a utilização de create-service-account, consulte a referência create-service-account.

  4. Crie a conta de serviço apigee-org-admin. Para o fazer, use a Google Cloud Console.

Use a Google Cloud Console

Pode criar contas de serviço com a consola do Google Cloud.

Para criar contas de serviço com a Google Cloud Console:

  1. Abra a Google Cloud Console e inicie sessão com a conta de utilizador 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 IAM e administrador > Contas de serviço.

    A consola apresenta a vista Contas de serviço. Esta vista apresenta uma lista das contas de serviço do projeto. (Na maioria dos casos, ainda não são apresentadas contas, embora possam existir contas de serviço predefinidas na lista, consoante a forma como criou o projeto.)

  4. Para criar uma nova conta de serviço, clique em +Criar conta de serviço na parte superior da vista.

    A vista Detalhes da conta de serviço é apresentada.

  5. No campo Nome da conta de serviço, introduza o nome da conta de serviço.

    A Apigee recomenda que use um nome que reflita a função da conta de serviço. Pode definir o nome da conta de serviço para ser o mesmo nome que o componente que a usa. Por exemplo, defina o nome da conta de serviço do Logs Writer apigee-logger.

    Para mais informações sobre os nomes e as funções das contas de serviço, consulte o artigo Contas de serviço e funções usadas por componentes híbridos.

    À medida que introduz um nome, o Google Cloud gera um ID da conta de serviço exclusivo para si, que tem a estrutura de um endereço de email, como mostra o exemplo seguinte:

    Exemplo de ID de apigee-logger@hybrid-42.iam.gserviceaccount.com

    Opcionalmente, pode adicionar uma descrição no campo Descrição da conta de serviço. As descrições são úteis para relembrar para que é usada uma determinada conta de serviço.

  6. Clique em Criar.

    O Google Cloud cria uma nova conta de serviço e apresenta a vista Autorizações da conta de serviço, como mostra o exemplo seguinte:

    Crie uma conta de serviço sem autorizações selecionadas

    Use esta vista para atribuir uma função à sua nova conta de serviço.

  7. Clique na lista pendente Selecionar uma função.
  8. Selecione a função para a conta de serviço, conforme descrito em Contas de serviço e funções usadas por componentes híbridos. Se as funções do Apigee não aparecerem na lista pendente, atualize a página.

    Por exemplo, para o componente de registo, selecione a função Logs Writer.

    Se necessário, introduza texto para filtrar a lista de funções por nome. Por exemplo, para listar apenas as funções do Apigee, introduza "Apigee" no campo de filtro, como mostra o exemplo seguinte:

    Lista de autorizações da conta de serviço correspondente ao Apigee

    Pode adicionar mais do que uma função a uma conta de serviço, mas o Apigee recomenda que use apenas uma função para cada uma das contas de serviço recomendadas. Para alterar as funções de uma conta de serviço depois de a criar, use o painel IAM e administrador no Google Cloud.

  9. Clique em Continuar.

    O Google Cloud apresenta a vista Conceder aos utilizadores acesso a esta conta de serviço:

    Campos para a função de utilizadores da conta de serviço e a função de administradores da conta de serviço, botão para criar chave

  10. Em Criar chave (opcional), clique em Criar chave.

    O Google Cloud dá-lhe a opção de transferir uma chave JSON ou P12:

    Selecione o tipo de chave JSON ou P12

  11. Selecione JSON (a predefinição) e clique em Criar.

    O Google Cloud guarda o ficheiro de chave no formato JSON no seu computador local e apresenta uma confirmação quando a operação é bem-sucedida, como mostra o exemplo seguinte:

    Exemplo de nome do ficheiro.json

    Mais tarde, vai usar algumas das chaves da conta de serviço para configurar os serviços de tempo de execução híbridos. Por exemplo, quando configura o tempo de execução híbrido, especifica a localização das chaves da conta de serviço através das propriedades service_name.serviceAccountPath.

    Estas chaves são usadas pelas contas de serviço para obter chaves de acesso, que a conta de serviço usa para fazer pedidos às APIs Apigee em seu nome. (Mas isso ainda vai demorar algum tempo. Por agora, lembre-se apenas de onde o guardou.)

  12. Repita os passos 4 a 11 para cada conta de serviço apresentada em Contas de serviço e funções usadas por componentes híbridos (exceto a conta apigee-mart, que não tem nenhuma função associada, por isso não lhe atribua uma função).

    Quando terminar, deve ter as seguintes contas de serviço (além das predefinições, se existirem):

    Lista de contas de serviço. Caixa de seleção da coluna 1, coluna 2 Email, coluna 3 Estado, coluna 4 Nome da conta de serviço

    Na Google Cloud Console, as contas de serviço são indicadas com um ícone .

Depois de criar uma conta de serviço, se quiser adicionar ou remover uma função, tem de usar a visualização IAM e administração. Não pode gerir funções para contas de serviço na vista Contas de serviço.

Use as APIs de criação de contas de serviço do gcloud

Pode criar e gerir contas de serviço com a API Cloud Identity and Access Management.

Para mais informações, consulte o artigo Criar e gerir contas de serviço.

Resolução de problemas