Configurar políticas do IAM
Nesta página, descrevemos como configurar políticas do Identity and Access Management (IAM) que permitem que os membros criem e gerenciem recursos do Certificate Authority Service. Para mais informações sobre o IAM, consulte Visão geral do IAM.
Políticas gerais do IAM
No CA Service, você concede papéis do IAM a usuários ou contas de serviço para criar e gerenciar recursos do CA Service. É possível adicionar essas vinculações de função nos seguintes níveis:
- Nível do pool de ACs para gerenciar o acesso a um pool de ACs específico e às ACs nesse pool.
- No nível do projeto ou da organização para conceder acesso a todos os pools de AC nesse escopo.
Os papéis são herdados se concedidos em um nível de recurso mais alto. Por exemplo, um usuário
que recebe o papel de auditor (roles/privateca.auditor) no nível do projeto
pode ver todos os recursos do projeto. As políticas do IAM definidas em um pool de autoridade certificadora (CA) são herdadas por todas as CAs nesse pool.
Não é possível conceder papéis do IAM em certificados e recursos de CA.
Políticas condicionais do IAM
Se você tiver um pool de ACs compartilhado que possa ser usado por vários usuários autorizados a solicitar diferentes tipos de certificados, defina condições do IAM para aplicar o acesso baseado em atributos e realizar determinadas operações em um pool de ACs.
Com as vinculações de papéis condicionais do IAM, você pode conceder acesso aos principais
somente se as condições especificadas forem atendidas. Por exemplo, se a função Solicitante de certificado estiver vinculada ao usuário alice@example.com em um pool de AC com a condição de que os SANs DNS solicitados sejam um subconjunto de ['alice@example.com', 'bob@example.com'], esse usuário poderá solicitar certificados do mesmo pool de AC somente se o SAN solicitado for um desses dois valores permitidos. É possível definir condições em vinculações do IAM usando expressões da Common Expression Language (CEL). Essas condições podem ajudar você a restringir ainda mais o tipo de certificados que um usuário pode solicitar. Para informações sobre como usar expressões CEL em condições do IAM, consulte Dialeto da Common Expression Language (CEL) para políticas do IAM.
Antes de começar
- Ative a API.
- Crie uma AC e um pool de ACs seguindo as instruções em um dos quickstarts.
- Leia sobre os papéis do IAM disponíveis para o Certificate Authority Service.
Como configurar vinculações de políticas do IAM no nível do projeto
Os cenários a seguir descrevem como conceder aos usuários acesso a recursos do CA Service no nível do projeto.
Como gerenciar recursos
Um administrador do serviço de CA (roles/privateca.admin) tem permissões para
gerenciar todos os recursos do serviço de CA e definir políticas do IAM
em pools de ACs e modelos de certificado.
Para atribuir o papel de administrador de serviço da CA (roles/privateca.admin) a um usuário no nível do projeto, siga estas instruções:
Console
No console do Google Cloud , acesse a página IAM.
Selecione o projeto.
Clique em Conceder acesso.
No campo Novos principais, insira o endereço de e-mail do principal ou outro identificador.
Na lista Selecionar um papel, escolha Administrador do serviço de CA.
Clique em Salvar.
gcloud
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=MEMBER \
--role=roles/privateca.admin
Substitua:
- PROJECT_ID: o identificador exclusivo do projeto
- MEMBER: o usuário ou a conta de serviço a que você quer atribuir o papel de administrador de serviço da CA
A flag --role especifica o papel do IAM que você quer atribuir ao membro.
Criação de recursos
Um gerente de operações do serviço de AC (roles/privateca.caManager) pode criar,
atualizar e excluir pools e ACs. Essa função também permite que o autor da chamada revogue certificados emitidos pelas CAs no pool de CAs.
Para atribuir o papel de gerente de operações do serviço de CA (roles/privateca.caManager) a um usuário no nível do projeto, siga estas instruções:
Console
No console do Google Cloud , acesse a página IAM.
Selecione o projeto.
Clique em Conceder acesso.
No campo Novos principais, insira o endereço de e-mail do principal ou outro identificador.
Na lista Selecionar um papel, escolha Gerente de operações do serviço de CA.
Clique em Salvar.
gcloud
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=MEMBER \
--role=roles/privateca.caManager
Substitua:
- PROJECT_ID: o identificador exclusivo do projeto
- MEMBER: o usuário ou a conta de serviço a que você quer adicionar o papel do IAM.
A flag --role especifica o papel do IAM que você quer atribuir ao membro.
Para mais informações sobre o comando gcloud projects add-iam-policy-binding, consulte gcloud projects add-iam-policy-binding.
Como opção, a criação de uma CA usando uma chave do Cloud KMS também exige que o usuário seja administrador da chave.
O administrador do Cloud KMS (roles/cloudkms.admin) tem acesso completo a todos os recursos do Cloud KMS, exceto as operações de criptografia e descriptografia. Para
mais informações sobre os papéis do IAM para o Cloud KMS, consulte
Cloud KMS: permissões e papéis.
Para conceder o papel de administrador do Cloud KMS (roles/cloudkms.admin) a um usuário, siga estas instruções:
Console
No console do Google Cloud , acesse a página Cloud Key Management Service.
Em Keyrings, clique no keyring que contém a chave de assinatura da CA.
Clique na chave de assinatura da CA.
Se o painel de informações não estiver visível, clique em Mostrar painel de informações. Em seguida, clique em Permissões.
Clique em adicionar conta principal.
No campo Novos principais, insira o endereço de e-mail do principal ou outro identificador.
Na lista Selecionar uma função, escolha Administrador do Cloud KMS.
Clique em Salvar.
gcloud
gcloud kms keys add-iam-policy-binding KEY \
--keyring=KEYRING --location=LOCATION \
--member=MEMBER \
--role=roles/cloudkms.admin
Substitua:
- KEY: o identificador exclusivo da chave.
- KEYRING: o keyring que contém a chave. Para mais informações sobre keyrings, consulte Keyrings.
- MEMBER: o usuário ou a conta de serviço para que você quer adicionar a vinculação do IAM.
A flag --role especifica o papel do IAM que você quer atribuir ao membro.
Para mais informações sobre o comando gcloud kms keys add-iam-policy-binding,
consulte gcloud kms keys add-iam-policy-binding.
Recursos de auditoria
Um auditor de serviço de CA (roles/privateca.auditor) tem acesso de leitura a todos os recursos do serviço de CA. Quando concedida para um pool de ACs específico, ela concede acesso de leitura ao pool. Se o pool de ACs estiver no nível Enterprise, o usuário com essa função também poderá ver os certificados e as CRLs emitidos pelas ACs no pool. Atribua essa função a pessoas responsáveis por validar a segurança e as operações do pool de ACs.
Para atribuir o papel Auditor de serviço da CA (roles/privateca.auditor) a um usuário no nível do projeto, siga estas instruções:
Console
No console do Google Cloud , acesse a página IAM.
Selecione o projeto.
Clique em Conceder acesso.
No campo Novos principais, insira o endereço de e-mail do principal ou outro identificador.
Na lista Selecionar um papel, escolha Auditor do serviço de CA.
Clique em Salvar.
gcloud
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=MEMBER \
--role=roles/privateca.auditor
Substitua:
- PROJECT_ID: o identificador exclusivo do projeto
- MEMBER: o identificador exclusivo do usuário a quem você quer atribuir a função de auditor do serviço de CA (
roles/privateca.auditor)
A flag --role especifica o papel do IAM que você quer atribuir ao membro.
Como configurar vinculações de políticas do IAM no nível do recurso
Nesta seção, descrevemos como configurar vinculações de políticas do IAM para um recurso específico no CA Service.
Como gerenciar pools de CA
É possível conceder o papel de administrador do serviço de AC (roles/privateca.admin) no nível do recurso para gerenciar um pool de AC ou modelo de certificado específico.
Console
No console Google Cloud , acesse a página Certificate Authority Service.
Clique na guia Gerenciador de pools de AC e selecione o pool de AC para o qual você quer conceder permissões.
Se o painel de informações não estiver visível, clique em Mostrar painel de informações. Em seguida, clique em Permissões.
Clique em adicionar conta principal.
No campo Novos principais, insira o endereço de e-mail do principal ou outro identificador.
Na lista Selecionar um papel, escolha Administrador do serviço de CA.
Clique em Salvar. O principal recebe o papel selecionado no recurso do pool de CAs.
gcloud
Para definir a política do IAM, execute o seguinte comando:
gcloud privateca pools add-iam-policy-binding POOL_ID \
--location LOCATION \
--member MEMBER \
--role roles/privateca.admin
Substitua:
- POOL_ID: o identificador exclusivo do pool de ACs para o qual você quer definir a política do IAM.
- LOCATION: o local do pool de ACs. Para a lista completa de locais, consulte Locais.
- MEMBER: o usuário ou a conta de serviço a que você quer atribuir o papel do IAM
A flag --role especifica o papel do IAM que você quer atribuir ao membro.
Para mais informações sobre o comando gcloud privateca pools add-iam-policy-binding,
consulte gcloud privateca pools add-iam-policy-binding.
Siga as mesmas etapas para conceder o papel de Administrador de serviço da AC em um modelo de certificado.
Também é possível conceder o papel de gerente de operações do serviço de AC (roles/privateca.caManager)
em um pool de AC específico. Essa função permite que o autor da chamada revogue certificados emitidos por ACs nesse pool.
Console
No console Google Cloud , acesse a página Certificate Authority Service.
Clique na guia Gerenciador de pools de AC e selecione o pool de AC para o qual você quer conceder permissões.
Se o painel de informações não estiver visível, clique em Mostrar painel de informações. Em seguida, clique em Permissões.
Clique em adicionar conta principal.
No campo Novos principais, insira o endereço de e-mail do principal ou outro identificador.
Na lista Selecionar um papel, escolha Gerente de operações do serviço de CA.
Clique em Salvar. O principal recebe o papel selecionado no recurso do pool de CAs a que a CA pertence.
gcloud
Para conceder o papel a um pool de AC específico, execute o seguinte comando gcloud:
gcloud privateca pools add-iam-policy-binding POOL_ID \
--location LOCATION \
--member MEMBER \
--role roles/privateca.caManager
Substitua:
- POOL_ID: o identificador exclusivo do pool de ACs
- LOCATION: o local do pool de ACs. Para a lista completa de locais, consulte Locais.
- MEMBER: o identificador exclusivo do usuário a quem você quer atribuir o papel de gerente de operações de serviço de CA (
roles/privateca.caManager).
A flag --role especifica o papel do IAM que você quer atribuir ao membro.
Para mais informações sobre o comando gcloud privateca pools add-iam-policy-binding, consulte gcloud privateca pools add-iam-policy-binding.
Como criar certificados
Conceda o papel de Gerente de certificado do CA Service (roles/privateca.certificateManager) aos usuários para que eles possam enviar solicitações de emissão de certificado a um pool de ACs. Esse papel também
concede acesso de leitura aos recursos do serviço de CA. Para permitir apenas a criação de certificados
sem acesso de leitura, conceda o papel Requerente de certificado do serviço de AC (roles/privateca.certificateRequester). Para mais informações sobre os papéis do IAM para o serviço de CA, consulte
Controle de acesso com o IAM.
Para conceder ao usuário acesso para criar certificados para uma AC específica, siga estas instruções.
Console
No console Google Cloud , acesse a página Certificate Authority Service.
Clique em Gerenciador de pools de AC e selecione o pool de AC para o qual você quer conceder permissões.
Se o painel de informações não estiver visível, clique em Mostrar painel de informações. Em seguida, clique em Permissões.
Clique em adicionar conta principal.
No campo Novos principais, insira o endereço de e-mail do principal ou outro identificador.
Na lista Selecionar um papel, escolha Certificate Manager do serviço de AC.
Clique em Salvar. O principal recebe o papel selecionado no recurso do pool de CAs a que a CA pertence.
gcloud
gcloud privateca pools add-iam-policy-binding 'POOL_ID' \
--location LOCATION \
--member MEMBER \
--role roles/privateca.certificateManager
Substitua:
- POOL_ID: o identificador exclusivo do pool de ACs
- LOCATION: o local do pool de ACs. Para a lista completa de locais, consulte Locais.
- MEMBER: o identificador exclusivo do usuário a quem você
quer atribuir o papel de Gerente de certificado de serviço de CA
(
roles/privateca.certificateManager).
A flag --role especifica o papel do IAM que você quer atribuir ao membro.
Adicionar vinculações de política do IAM a um modelo de certificado
Para adicionar uma política do IAM a um modelo de certificado específico, siga estas instruções:
Console
No console Google Cloud , acesse a página Certificate Authority Service.
Clique na guia Gerenciador de modelos e selecione o modelo de certificado a que você quer conceder permissões.
Se o painel de informações não estiver visível, clique em Mostrar painel de informações. Em seguida, clique em Permissões.
Clique em adicionar conta principal.
No campo Novos principais, insira o endereço de e-mail do principal ou outro identificador.
Na lista suspensa Selecionar um papel, escolha um papel a ser concedido.
Clique em Salvar.
gcloud
gcloud privateca templates add-iam-policy-binding TEMPLATE_ID \
--location=LOCATION \
--member=MEMBER \
--role=ROLE
Substitua:
- LOCATION: o local do modelo de certificado. Para a lista completa de locais, consulte Locais.
- MEMBER: o usuário ou a conta de serviço a que você quer adicionar a vinculação de política do IAM.
- ROLE: o papel que você quer conceder ao membro
Para mais informações sobre o comando gcloud privateca templates add-iam-policy-binding, consulte gcloud privateca templates add-iam-policy-binding.
Para mais informações sobre como modificar o papel do IAM de um usuário, consulte Conceder acesso.
Remover vinculações da política do IAM
É possível remover uma vinculação de política do IAM usando o comando remove-iam-policy-binding da Google Cloud CLI.
Para remover uma política do IAM em um pool de CA específico, use o seguinte comando gcloud:
gcloud
gcloud privateca pools remove-iam-policy-binding POOL_ID \
--location=LOCATION \
--member=MEMBER \
--role=ROLE
Substitua:
- LOCATION: o local do pool de ACs. Para a lista completa de locais, consulte Locais.
- MEMBER: o usuário ou a conta de serviço para quem você quer remover a vinculação de política do IAM
- ROLE: o papel que você quer remover do membro.
Para mais informações sobre o comando gcloud privateca pools remove-iam-policy-binding, consulte gcloud privateca pools remove-iam-policy-binding.
Para remover uma política do IAM de um modelo de certificado específico, use o seguinte comando gcloud:
gcloud
gcloud privateca templates remove-iam-policy-binding TEMPLATE_ID \
--location=LOCATION \
--member=MEMBER \
--role=ROLE
Substitua:
- LOCATION: o local do modelo de certificado. Para a lista completa de locais, consulte Locais.
- MEMBER: o usuário ou a conta de serviço para quem você quer remover a vinculação de política do IAM
- ROLE: o papel que você quer remover do membro.
Para mais informações sobre o comando gcloud privateca templates remove-iam-policy-binding,
consulte gcloud privateca templates remove-iam-policy-binding.
Para mais informações sobre como remover o papel do IAM de um usuário, consulte Revogar o acesso.
A seguir
- Analise os papéis do IAM para o serviço de CA e as permissões associadas.
- Saiba mais sobre modelos e políticas de emissão.
- Saiba como gerenciar controles de política.