Cria contas de serviço da Google Cloud com funções que permitem que os componentes híbridos do Apigee individuais façam chamadas de API autorizadas e transfiram os ficheiros de chaves de contas de serviço associados. Pode usar os ficheiros de chaves de contas de serviço gerados por este comando no ficheiro de substituições de configuração.
create-service-account
cria uma ou mais contas de serviço no seu projeto atual do Google Cloud ou no projeto que especificar, atribui a função de IAM correta à conta de serviço e transfere o ficheiro de certificado da conta de serviço para um diretório no seu computador local.
A ferramenta create-service-account
encontra-se no diretório HYBRID_ROOT_DIR/tools
.
Para saber mais sobre as contas de serviço e ler a lista completa de contas de serviço recomendadas para ambientes de produção, consulte o seguinte:
Também pode criar contas de serviço na Google Cloud Console. Consulte também Criar e gerir contas de serviço.
Pré-requisitos
Função
A ferramenta create-service-account
requer a instalação da CLI gcloud
. Os utilizadores que invocam a utilidade devem ter a função Service Account Admin
.
Projeto
As contas de serviço estão associadas a um projeto do Google Cloud específico. create-service-account
cria contas de serviço no seu projeto atual ou no projeto que especificar e associa as funções de IAM
às contas de serviço nesse projeto. create-service-account
também usa o ID do projeto como parte do nome do ficheiro da chave da conta de serviço e do email. Por exemplo, se o seu projeto se chamar my-hybrid-project, o ficheiro de chave da conta de serviço apigee-logger vai chamar-se my-hybrid-project-apigee-logger.json
e o endereço de email da conta de serviço vai ser apigee-logger@my-hybrid-project.iam.gserviceaccount.com
.
Pode especificar um projeto definindo uma variável de ambiente PROJECT_ID
ou com a flag --project-id
. create-service-account
lê o valor da variável de ambiente PROJECT_ID
. Se não estiver presente, pode usar a flag --project-id
.
Se não especificar um ID do projeto do Google Cloud, create-service-account
usa o projeto na configuração do projeto do gcloud atual.
Pode verificar a configuração do projeto gcloud
atualmente definida com o seguinte comando:
gcloud config list project
Se precisar de alterar o ID do projeto atual, use o seguinte comando:
gcloud config set project PROJECT_ID
Em que PROJECT_ID é o ID do seu projeto do Google Cloud atual. As instruções para criar um projeto do Google Cloud são abordadas no passo 2: crie um projeto do Google Cloud.
A usar create-service-account
Os exemplos seguintes mostram a utilização de create-service-account
para tarefas de configuração comuns do Apigee hybrid.
Crie contas de serviço para um ambiente de produção
Num ambiente híbrido de produção, o Apigee recomenda a utilização de uma conta de serviço separada para cada componente. Use o seguinte comando para criar todas as contas de serviço para os componentes híbridos com os respetivos nomes predefinidos no diretório predefinido.
./tools/create-service-account --env prod
Isto cria as seguintes contas de serviço com os ficheiros de certificado transferidos no diretório ./tools/service-accounts
:
Conta de serviço | Função de IAM | Ficheiro de certificação | |
---|---|---|---|
apigee-cassandra |
roles/storage.objectAdmin |
apigee-cassandra@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-cassandra.json |
apigee-logger |
roles/logging.logWriter |
apigee-logger@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-logger.json |
apigee-mart |
roles/apigeeconnect.Agent |
apigee-mart@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-mart.json |
apigee-metrics |
roles/monitoring.metricWriter |
apigee-metrics@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-metrics.json |
apigee-runtime |
Nenhuma função atribuída | apigee-runtime@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-runtime.json |
apigee-synchronizer |
roles/apigee.synchronizerManager |
apigee-synchronizer@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-synchronizer.json |
apigee-udca |
roles/apigee.analyticsAgent |
apigee-udca@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-udca.json |
apigee-watcher |
roles/apigee.runtimeAgent |
apigee-watcher@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-watcher.json |
Crie uma única conta de serviço para um ambiente de não produção
Para ambientes de não produção, como um ambiente experimental ou de demonstração, pode criar uma única conta de serviço denominada "apigee-non-prod" que pode usar para todos os componentes. Esta conta de serviço terá todas as funções da IAM no exemplo anterior atribuídas.
./tools/create-service-account --env non-prod
Isto cria uma única conta de serviço denominada apigee-non-prod e transfere o ficheiro de certificado
para o diretório ./tools/service-accounts
:
Conta de serviço | Funções de IAM | Ficheiro de certificação | |
---|---|---|---|
apigee-non-prod |
roles/apigee.analyticsAgent |
apigee-non-prod@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-non-prod.json |
create-service-account syntax
A ferramenta create-service-account
usa a seguinte sintaxe:
create-service-account [flags]
A tabela seguinte indica as flags create-service-account
:
Bandeira | Valores | Descrição |
---|---|---|
--dir -d |
nome do diretório | Especifica um diretório de saída para os ficheiros de chaves de contas de serviço. Se o diretório não existir, o comando create-service-account cria-o. Se o diretório já existir,
create-service-account substitui todos os ficheiros no diretório que tenham o
mesmo nome que os ficheiros de chaves que está a criar.
Se não especificar um diretório de saída, |
--env -e |
prod non-prod |
Especifica se está a criar contas de serviço para um ambiente de produção (prod ) ou um ambiente de não produção (non-prod ).
Se executar |
--help -h |
nenhum | Apresenta texto de ajuda. |
--name -n |
Nome da conta de serviço | Especifica um nome para a conta de serviço. --name aplica-se apenas a uma única conta de serviço, especificada com --profile ou --env non-prod .
O nome também faz parte do nome do ficheiro cert e do email da conta de serviço. Por exemplo, se executar
Se não especificar |
‑‑profile -p |
apigee‑cassandra apigee‑logger apigee‑mart apigee‑metrics apigee‑runtime apigee‑synchronizer apigee‑udca apigee‑watcher |
Apenas para ambientes de produção, especifica uma única conta de serviço a criar.
Pode especificar um nome para a conta de serviço com a flag
Requer |
‑‑project‑id -i |
ID do projeto | O ID do projeto do Google Cloud no qual está a criar as contas de serviço.
Se não especificar um ID do projeto, o |
Para mais informações sobre as contas de serviço usadas pelo Apigee hybrid, consulte o artigo Acerca das contas de serviço.
Também pode criar contas de serviço na Google Cloud Console. Consulte também Criar e gerir contas de serviço.