Uma conta de serviço é um tipo especial de conta do Google Cloud que permite que os componentes e os aplicativos de um sistema interajam entre si e com outras APIs. Para mais informações sobre o Google Cloud, consulte Sobre os serviços do Google Cloud.
O híbrido usa contas de serviço do Google Cloud para realizar várias tarefas, como:
- Enviar dados de registros e métricas
- Solicitações de rastreamento de pull
- Conectar-se ao gateway da API para solicitações administrativas de API
- Executar backups
- Fazer o download de pacotes proxy
Embora uma conta de serviço possa executar todas essas operações, a Apigee recomenda que você crie várias contas de serviço, cada uma atribuída a uma tarefa específica e cada uma com o próprio conjunto de permissões. Isso reforça a segurança ao compartimentar o acesso e limitar o escopo e os privilégios de acesso de cada conta de serviço. Assim como acontece com as contas de usuário, essas permissões são aplicadas atribuindo um ou mais papéis à conta de serviço.
Contas de serviço e papéis usados por componentes híbridos
Para operar corretamente, a Apigee híbrida exige que você crie várias contas de serviço. Cada conta de serviço requer um ou mais papéis específicos que permitam que ela execute a respectiva função.
A tabela a seguir descreve as contas de serviço dos componentes híbridos:
Componente* | Papel | Necessário para instalação básica? | Descrição |
---|---|---|---|
apigee-cassandra |
Administrador de objetos do Storageroles/storage.objectAdmin |
Permite backups do Cassandra para o Cloud Storage, conforme descrito em Backup e recuperação. | |
apigee-distributed-trace |
Agente do Cloud Traceroles/cloudtrace.agent |
Permite que o plano de ambiente de execução híbrido participe do rastreamento de solicitações distribuídas em um formato compatível com sistemas como o Google Cloud Trace e o Jaeger. | |
apigee-logger |
Gravador de registrosroles/logging.logWriter |
Permite a coleta de dados de geração de registros, conforme descrito em Geração de registros. Obrigatório apenas para instalações de cluster que não são do GKE. | |
apigee-mart |
Agente do Apigee Connectroles/apigeeconnect.Agent
|
Permite a autenticação do serviço MART. O papel de Agente do Apigee Connect permite a comunicação com segurança com o processo do Apigee Connect, conforme descrito em Como usar o Apigee Connect. | |
apigee-metrics |
Gravador de métricas do Monitoringroles/monitoring.metricWriter |
Permite a coleta de dados de métricas, conforme descrito na Visão geral da coleta de métricas. | |
apigee-org-admin |
Administrador da organização da Apigeeroles/apigee.admin |
Permite chamar a API getSyncAuthorization e
a API setSyncAuthorization. Como o administrador da organização da Apigee é um papel externo no plano do ambiente de execução, não é possível atribuir esse papel à conta de serviço com a ferramenta create-service-account . |
|
apigee-synchronizer |
Gerenciador de sincronização da Apigeeroles/apigee.synchronizerManager |
Permite que o sincronizador faça o download de pacotes de proxy e dados de configuração do ambiente. Ativa também a operação do recurso de rastreamento. | |
apigee-udca |
Agente de análise da Apigeeroles/apigee.analyticsAgent |
Permite a transferência de dados de status de rastreamento, análise e implantação para o plano de gerenciamento. | |
apigee-watcher |
Agente do ambiente de execução da Apigeeroles/apigee.runtimeAgent |
O Apigee Watcher extrai alterações virtuais dos hosts relacionados a uma organização no sincronizador e faz as alterações necessárias para configurar a entrada istio. | |
* Esse nome é usado no nome do arquivo da chave da conta de serviço transferido por download. |
Além de criar as contas de serviço listadas nesta tabela, você também faz o download das chaves particulares. Depois, você usará essas chaves para gerar tokens de acesso e acessar as APIs Apigee.
Criar contas de serviço
Há várias maneiras de criar contas de serviço, incluindo:
Cada um deles é descrito nas seções a seguir.
Usar a ferramenta de criação de conta de serviço
A ferramenta create-service-account
(disponível depois que você
faz o download e expande apigeectl
) cria
contas de serviço híbridas específicas de componente e atribui a você os papéis necessários. A
ferramenta também faz o download automático das chaves da conta de serviço e as armazena na máquina local,
no diretório especificado.
Para criar contas de serviço com a ferramenta create-service-account
:
- Faça o download e expanda o
apigeectl
(se ainda não tiver feito), conforme descrito em Fazer o download e instalar o apigeectl. - Crie um diretório para armazenar as chaves da conta de serviço. Exemplo:
mkdir ./service-accounts
- 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-distributed-trace ./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
Esses comandos criam a maioria das contas necessárias e armazenam as chaves no diretório
./service-accounts
.Se esses comandos falharem, verifique se você referenciou um diretório atual para armazenar os arquivos de chave.
Para saber mais sobre o uso de
create-service-account
, consulte a referência de criação de conta de serviço.
Usar o Console do Google Cloud
É possível criar contas de serviço com o Console do Google Cloud.
Para criar contas de serviço com o Console do Google Cloud:
- Abra o Console do Google Cloud e faça login com a conta de usuário que você criou na Etapa 1: criar uma conta do Google Cloud.
- Selecione o projeto que você criou na Etapa 2: criar um projeto do Google Cloud.
- Selecione IAM e administrador > Contas de serviço.
O console exibe a visualização Contas de serviço. Essa visualização exibe uma lista de contas de serviço do projeto. Na maioria dos casos, não haverá contas listadas, embora possa haver contas de serviço padrão na lista, dependendo de como você criou o projeto.
- Para criar uma nova conta de serviço, clique em +Criar conta de serviço na parte superior
da visualização.
A visualização Detalhes da conta de serviço é exibida.
- No campo Nome da conta de serviço, insira o nome da conta de serviço.
A Apigee recomenda que você use um nome que reflita o papel da conta de serviço. É possível definir o nome da conta de serviço como o mesmo nome do componente que a utiliza. Por exemplo, defina o nome da conta de serviço de gravador de registros
apigee-logger
.Para saber mais sobre os nomes e funções de contas de serviço, consulte Contas de serviço e papéis usados por componentes híbridos.
À medida que você insere um nome, o Google Cloud gera para você um ID exclusivo da conta de serviço, estruturado como um endereço de e-mail, como mostra o exemplo a seguir:
Se quiser, adicione uma descrição no campo Descrição da conta de serviço. As descrições são úteis para lembrar você sobre como uma conta de serviço específica é usada.
- Clique em Criar.
O Google Cloud cria uma nova conta de serviço e exibe a visualização de permissões da conta de serviço, como no exemplo a seguir:
Use essa visualização para atribuir um papel à sua nova conta de serviço.
- Clique na lista suspensa Selecionar um papel.
- Selecione o papel para a conta de serviço, conforme descrito em
Contas de serviço e papéis usados por componentes híbridos. Se os
papéis da Apigee não aparecerem na lista suspensa, atualize a página.
Por exemplo, para o componente de geração de registros, selecione o papel de gravador de registros.
Se necessário, insira o texto para filtrar a lista de papéis por nome. Por exemplo, para listar somente os papéis da Apigee, insira
Apigee
no campo de filtro, como mostrado no exemplo a seguir:É possível adicionar mais de um papel a uma conta de serviço, mas a Apigee recomenda usar apenas um papel para cada uma das contas de serviço recomendadas. Para alterar os papéis de uma conta de serviço depois de criá-la, use o painel IAM e administrador no Google Cloud.
- Clique em Continuar.
O Google Cloud exibe a visualização Conceder aos usuários acesso a essa conta de serviço:
- Em Criar chave (opcional), clique em Criar chave.
O Google Cloud oferece a opção de fazer o download de uma chave JSON ou P12:
- Selecione JSON (padrão) e clique em Criar.
O Google Cloud salva o arquivo de chave no formato JSON na sua máquina local e exibe uma confirmação quando ela é bem-sucedida, como mostra o exemplo a seguir:
Posteriormente, você usará algumas das chaves da conta de serviço para configurar os serviços de ambiente de execução híbrido. Por exemplo, ao configurar o ambiente de execução híbrido, você especifica o local das chaves da conta de serviço usando as propriedades SERVICE_NAME
.serviceAccountPath
.Essas chaves são usadas pelas contas de serviço para conseguir tokens de acesso, que serão usados para fazer solicitações nas APIs Apigee em seu nome. Mas isso ainda vai demorar. Por enquanto, lembre-se de onde você salvou.
- Repita as etapas 4 a 11 para cada conta de serviço listada em
Contas de serviço e papéis usados por componentes híbridos
(exceto a conta
apigee-mart
, que não tem nenhum papel associado a ela. Por isso, não atribua um papel a ela).Quando terminar, você deverá ter as seguintes contas de serviço (além das padrões, se houver):
No Console do Google Cloud, as contas de serviço são indicadas com um ícone .
Depois de criar uma conta de serviço, se você quiser adicionar ou remover um papel, use a visualização IAM e administrador. Não é possível gerenciar papéis para contas de serviço na visualização Contas de serviço.
Usar APIs de criação de conta de serviço da gcloud
É possível criar e gerenciar contas de serviço com a API Cloud Identity and Access Management.
Para mais informações, consulte Como criar e gerenciar contas de serviço.