É possível criar direitos para permitir a elevação temporária de privilégios para um conjunto selecionado de principais. Considere o seguinte ao criar direitos:
É possível criar direitos no nível da organização, da pasta ou do projeto. Os papéis concedidos por um direito de acesso em cada nível seguem a Cloud de Confiance by S3NS hierarquia de recursos. Por exemplo, os papéis concedidos por um direito de acesso no nível da organização são herdados nos níveis de pasta e projeto.
Se o nível Premium ou Enterprise do Security Command Center estiver ativado no nível da organização, será possível exigir mais de um nível de aprovação por direito, permitindo até dois níveis de aprovações sequenciais para cada direito. É possível exigir até cinco aprovações por nível.
Depois que o número necessário de aprovações de primeiro nível é recebido, as notificações por e-mail são enviadas aos aprovadores de segundo nível. Depois que o número necessário de aprovações de segundo nível é recebido, a concessão passa para o estado
active. Se um aprovador negar a concessão, ela vai para o estadodeniede não será enviada a outros aprovadores.Esse recurso está disponível em pré-lançamento.
Se as contas de serviço puderem aprovar concessões para esse recurso, você poderá adicionar contas de serviço e identidades de pool de carga de trabalho como aprovadores. Para saber como ativar essa configuração, consulte Configurar as configurações do Privileged Access Manager.
Esse recurso está disponível em pré-lançamento.
Se você adicionar um grupo como solicitante a um direito de acesso, todas as contas individuais nesse grupo poderão solicitar o acesso a ele. No entanto, somente a conta individual que solicita a concessão pode receber privilégios elevados.
Se você adicionar um grupo como aprovador a um direito de acesso, todas as contas individuais nesse grupo poderão aprovar ou negar uma solicitação de concessão.
Os papéis básicos (administrador, gravador e leitor) são aceitos, mas os papéis básicos legados (proprietário, editor e leitor) não são.
Não inclua papéis de agente de serviço em direitos.
Alguns papéis do agente de serviço contêm permissões muito eficientes, e as permissões nesses papéis podem ser alteradas sem aviso prévio. Em vez disso, escolha um papel predefinido diferente ou crie um papel personalizado com as permissões necessárias.
Antes de começar
Para receber as permissões necessárias para criar direitos, peça ao administrador para conceder a você os seguintes papéis do IAM na organização, pasta ou projeto em que você quer criar direitos:
-
Criar direitos de acesso para uma organização:
-
Administrador do Privileged Access Manager (
roles/privilegedaccessmanager.admin) -
Administrador de segurança (
roles/iam.securityAdmin)
-
Administrador do Privileged Access Manager (
-
Criar para uma pasta:
-
Administrador do Privileged Access Manager (
roles/privilegedaccessmanager.admin) -
Administrador de pastas do IAM (
roles/resourcemanager.folderAdmin)
-
Administrador do Privileged Access Manager (
-
Crie direitos de acesso para um projeto:
-
Administrador do Privileged Access Manager (
roles/privilegedaccessmanager.admin) -
Administrador de projetos do IAM (
roles/resourcemanager.projectIamAdmin)
-
Administrador do Privileged Access Manager (
-
Para conferir os registros de auditoria:
Visualizador de registros (
roles/logs.viewer)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para criar direitos. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar direitos:
-
Para criar direitos e permissões para uma organização:
-
resourcemanager.organizations.get -
resourcemanager.organizations.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
-
Para criar direitos e permissões para uma pasta:
-
resourcemanager.folders.get -
resourcemanager.folders.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
-
Para criar direitos e permissões para um projeto:
-
resourcemanager.projects.get -
resourcemanager.projects.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Criar direitos
Console
Acesse a página Privileged Access Manager.
Selecione a organização, a pasta ou o projeto em que você quer aplicar o direito de acesso.
Clique na guia Direitos de acesso.
Clique em Criar.
Na seção Detalhes do direito, insira o seguinte:
Um nome de direito de acesso. Um nome de direito pode ter de 4 a 63 caracteres. Ele precisa começar com uma letra minúscula e só pode conter letras minúsculas, números e hifens.
Até 30 papéis a serem concedidos na organização, na pasta ou no projeto.
Também é possível adicionar condições do IAM a esses papéis da mesma forma que você adiciona condições às vinculações de papel da política de permissão. No entanto, nos direitos do Privileged Access Manager, o uso de condições que verificam as tags de um recurso está em prévia.
A duração máxima de uma concessão. A duração máxima que você pode definir para um direito é de 7 dias.
Clique em Próxima.
Na seção Adicionar solicitantes, insira até 20 principais solicitantes válidos para o direito de acesso.
Todos os tipos de principais são aceitos, exceto
allUserseallAuthenticatedUsers. É possível adicionar mais de 20 identidades adicionando-as a um grupo e listando o grupo no direito de acesso.Escolha se os administradores principais precisam justificar a solicitação de concessão.
Insira outros endereços de e-mail dos usuários que vão receber notificações quando o direito de acesso estiver disponível para solicitação.
As identidades do Google associadas ao direito de acesso, como aprovadores e solicitantes, são notificadas automaticamente. No entanto, se você quiser notificar mais pessoas, adicione os endereços de e-mail delas. Isso é especialmente útil se você estiver usando identidades de colaboradores em vez de Contas do Google.
Clique em Próxima.
Na seção Adicionar aprovadores, faça o seguinte:
Para permitir a concessão de papéis sem aprovação, selecione Ativar o acesso sem aprovações.
Para exigir aprovações, faça o seguinte:
- Opcional: para exigir que os aprovadores insiram justificativas para aprovar solicitações, selecione Justificativa necessária dos aprovadores.
Insira os detalhes do aprovador de primeiro nível:
Uma lista de aprovadores para o direito de acesso
É possível adicionar qualquer um dos seguintes tipos de principais como aprovadores:
Contas do Google
Grupos do Google
Domínios do Google Workspace
Identificadores do pool de funcionários
Identificadores do pool de carga de trabalho
Contas de serviço
As contas de serviço e os identificadores de pool de carga de trabalho só estão disponíveis se as contas de serviço puderem aprovar concessões para esse recurso. Para mais detalhes, consulte Configurar as opções do Privileged Access Manager.
Número de aprovações necessárias
Se você adicionou um grupo como aprovador, verifique se o número de aprovações necessárias é menor ou igual ao número de principais no grupo. Caso contrário, as concessões vão ficar presas indefinidamente no estado
approval awaited.Endereços de e-mail dos aprovadores para notificação
Opcional: adicione detalhes do aprovador de segundo nível:
Uma lista de aprovadores para o direito de acesso
É possível adicionar qualquer um dos seguintes tipos de principais como aprovadores:
Contas do Google
Grupos do Google
Domínios do Google Workspace
Identificadores do pool de funcionários
Identificadores do pool de carga de trabalho
Contas de serviço
As contas de serviço e os identificadores de pool de carga de trabalho só estão disponíveis se as contas de serviço puderem aprovar concessões para esse recurso. Para mais detalhes, consulte Configurar as opções do Privileged Access Manager.
Número de aprovações necessárias
Se você adicionou um grupo como aprovador, verifique se o número de aprovações necessárias é menor ou igual ao número de principais no grupo. Caso contrário, as concessões vão ficar presas indefinidamente no estado
approval awaited.Endereços de e-mail dos aprovadores para notificação
É possível adicionar até 20 pessoas autorizadas (identidades ou grupos) por aprovação. Se quiser adicionar mais de 20 aprovadores, inclua-os em um grupo e liste o grupo como aprovador do direito de acesso.
Clique em Próxima.
Clique em Criar direito de acesso.
Os direitos recém-criados podem levar alguns minutos para serem propagados e ficarem prontos para uso.
gcloud
O comando
gcloud alpha pam entitlements create
cria um direito de acesso no nível da organização, da pasta ou do projeto.
Antes de usar os dados do comando abaixo, faça estas substituições:
ENTITLEMENT_ID: o ID do direito de acesso a ser criado. Um ID precisa ter de 4 a 63 caracteres e usar os seguintes caracteres:[a-z0-9-]. O primeiro caractere precisa ser uma letra.RESOURCE_TYPE: opcional. O tipo de recurso ao qual o direito de acesso pertence. Use o valororganization,folderouproject.RESOURCE_ID: usada comRESOURCE_TYPE. O ID da organização, da pasta ou do projeto do Cloud de Confiance que você quer gerenciar os direitos de acesso. Os IDs do projeto são strings alfanuméricas, comomy-project. Os IDs de pastas e organizações são numéricos, como123456789012.RESOURCE_MANAGER_RESOURCE_TYPE:Organization,FolderouProject, dependendo do escopo.ROLE: os papéis a serem atribuídos quando um direito de acesso for concedido.MAXIMUM_GRANT_DURATION: a duração máxima de uma concessão, em segundos. O intervalo aceito é entre 30 minutos (1.800) e 168 horas (604.800).-
REQUESTING_MEMBER: principais que podem solicitar que o direito seja concedido. Todos os tipos de principais são compatíveis, excetoallUserseallAuthenticatedUsers. -
APPROVING_MEMBER: principais que podem aprovar a solicitação de direito de acesso. Os tipos de principais válidos são os seguintes:- Usuário
- Grupo
- Domínio
- Identificadores do pool de funcionários
- Identificadores do pool de carga de trabalho
Isso só está disponível se as contas de serviço puderem aprovar solicitações de direitos para esse recurso. Para mais detalhes, consulte Configurar as opções do Privileged Access Manager.
- Contas de serviço
Isso só está disponível se as contas de serviço puderem aprovar solicitações de direitos para esse recurso. Para mais detalhes, consulte Configurar as opções do Privileged Access Manager.
APPROVALS_NEEDED: o número de aprovadores necessários para aprovar a solicitação de direito de acesso.Se você adicionou um grupo como aprovador, verifique se o número de aprovações necessárias é menor ou igual ao número de principais no grupo. Caso contrário, as concessões vão ficar presas no estado
approval awaited.APPROVER_EMAIL_ADDRESSES: opcional. Outros endereços de e-mail para receber notificações quando uma concessão for solicitada. As identidades do Google associadas aos aprovadores de concessão são notificadas automaticamente. No entanto, você pode notificar um conjunto diferente de endereços de e-mail, especialmente se estiver usando a federação de identidade de colaboradores.ADMIN_EMAIL_ADDRESS: opcional. Outros endereços de e-mail para receber notificações quando um requerente receber acesso. As identidades do Google associadas aos aprovadores de concessão são notificadas automaticamente. No entanto, você pode notificar um conjunto diferente de endereços de e-mail, especialmente se estiver usando a federação de identidade de colaboradores.REQUESTER_EMAIL_ADDRESS: opcional. Outros endereços de e-mail para receber notificações quando este direito de acesso estiver disponível para solicitação. As identidades do Google associadas aos solicitantes da concessão são notificadas automaticamente. No entanto, você pode notificar um conjunto diferente de endereços de e-mail, especialmente se estiver usando a federação de identidade de colaboradores.CONDITION_EXPRESSION: opcional. A expressão de condição que especifica quando o principal pode usar as permissões na função. Essa condição só se aplica quando a concessão está ativa.
Salve o conteúdo a seguir em um arquivo chamado entitlement.yaml:
privilegedAccess: gcpIamAccess: resourceType: cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE resource: //cloudresourcemanager.googleapis.com/RESOURCE_ID roleBindings: - role: ROLE_1 conditionExpression: CONDITION_EXPRESSION_1 - role: ROLE_2 conditionExpression: CONDITION_EXPRESSION_2 maxRequestDuration: MAXIMUM_GRANT_DURATION eligibleUsers: - principals: - REQUESTING_MEMBER_1 - REQUESTING_MEMBER_2 approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - approvalsNeeded: APPROVALS_NEEDED_1 approverEmailRecipients: - APPROVER_EMAIL_ADDRESSES_1 - APPROVER_EMAIL_ADDRESSES_2 approvers: - principals: - APPROVING_MEMBER_1 - APPROVING_MEMBER_2 - approvalsNeeded: APPROVALS_NEEDED_2 approverEmailRecipients: - APPROVER_EMAIL_ADDRESSES_3 - APPROVER_EMAIL_ADDRESSES_4 approvers: - principals: - APPROVING_MEMBER_3 - APPROVING_MEMBER_4 requesterJustificationConfig: unstructured: {} additionalNotificationTargets: adminEmailRecipients: - ADMIN_EMAIL_ADDRESS_1 - ADMIN_EMAIL_ADDRESS_2 requesterEmailRecipients: - REQUESTER_EMAIL_ADDRESS_1 - REQUESTER_EMAIL_ADDRESS_2
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud alpha pam entitlements create \ ENTITLEMENT_ID \ --entitlement-file=entitlement.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud alpha pam entitlements create ` ENTITLEMENT_ID ` --entitlement-file=entitlement.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud alpha pam entitlements create ^ ENTITLEMENT_ID ^ --entitlement-file=entitlement.yaml ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Você receberá uma resposta semelhante a esta:
Create request issued for: [ENTITLEMENT_ID]
Waiting for operation [projects/PROJECT_ID/locations/global/operations/OPERATION_ID] to complete...done.
Created entitlement [ENTITLEMENT_ID].
additionalNotificationTargets: {}
approvalWorkflow:
manualApprovals:
requireApproverJustification: true
steps:
- id: step-1
approvalsNeeded: 3
approvers:
- principals:
- user:alex@example.com
- group:dev-team@example.com
- id: step-2
approvalsNeeded: 1
approvers:
- principals:
- user:alex@example.com
createTime: '2024-04-09T02:39:37.011866832Z'
eligibleUsers:
- principals:
- user:bola@example.com
etag: 00000000000000000000000000000000000000000000000000000000000=
maxRequestDuration: 7200s
name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID
privilegedAccess:
gcpIamAccess:
resource: //cloudresourcemanager.googleapis.com/RESOURCE_TYPE/RESOURCE_ID
resourceType: cloudresourcemanager.googleapis.com/Project
roleBindings:
- role: roles/storage.admin
id: hwarq_1
conditionExpression: "request.time.getHours() >= 8"
requesterJustificationConfig:
unstructured: {}
state: AVAILABLE
REST
O método
createEntitlement
da API Privileged Access Manager cria um direito no nível da organização, da pasta
ou do projeto.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
SCOPE: a organização, a pasta ou o projeto em que o direito de acesso será criado, no formato deorganizations/ORGANIZATION_ID,folders/FOLDER_IDouprojects/PROJECT_ID. Os IDs do projeto são strings alfanuméricas, comomy-project. Os códigos de pastas e organizações são numéricos, como123456789012.ENTITLEMENT_ID: o ID do direito de acesso a ser criado. Um ID precisa ter de 4 a 63 caracteres e usar os seguintes caracteres:[a-z0-9-]. O primeiro caractere precisa ser uma letra.RESOURCE_MANAGER_RESOURCE_TYPE:Organization,FolderouProject, dependendo do escopo.ROLE: os papéis a serem atribuídos quando um direito de acesso for concedido.MAXIMUM_GRANT_DURATION: a duração máxima de uma concessão, em segundos. O intervalo aceito é entre 30 minutos (1.800) e 168 horas (604.800).-
REQUESTING_MEMBER: principais que podem solicitar que o direito seja concedido. Todos os tipos de principais são compatíveis, excetoallUserseallAuthenticatedUsers. -
APPROVING_MEMBER: principais que podem aprovar a solicitação de direito de acesso. Os tipos de principais válidos são os seguintes:- Usuário
- Grupo
- Domínio
- Identificadores do pool de funcionários
- Identificadores do pool de carga de trabalho
Isso só está disponível se as contas de serviço puderem aprovar solicitações de direitos para esse recurso. Para mais detalhes, consulte Configurar as opções do Privileged Access Manager.
- Contas de serviço
Isso só está disponível se as contas de serviço puderem aprovar solicitações de direitos para esse recurso. Para mais detalhes, consulte Configurar as opções do Privileged Access Manager.
APPROVALS_NEEDED: o número de aprovadores necessários para aprovar a solicitação de direito de acesso.Se você adicionou um grupo como aprovador, verifique se o número de aprovações necessárias é menor ou igual ao número de principais no grupo. Caso contrário, as concessões vão ficar presas no estado
approval awaited.APPROVER_EMAIL_ADDRESSES: opcional. Outros endereços de e-mail para receber notificações quando uma concessão for solicitada. As identidades do Google associadas aos aprovadores de concessão são notificadas automaticamente. No entanto, você pode notificar um conjunto diferente de endereços de e-mail, especialmente se estiver usando a federação de identidade de colaboradores.ADMIN_EMAIL_ADDRESS: opcional. Outros endereços de e-mail para receber notificações quando um requerente receber acesso. As identidades do Google associadas aos aprovadores de concessão são notificadas automaticamente. No entanto, você pode notificar um conjunto diferente de endereços de e-mail, especialmente se estiver usando a federação de identidade de colaboradores.REQUESTER_EMAIL_ADDRESS: opcional. Outros endereços de e-mail para receber notificações quando este direito de acesso estiver disponível para solicitação. As identidades do Google associadas aos solicitantes da concessão são notificadas automaticamente. No entanto, você pode notificar um conjunto diferente de endereços de e-mail, especialmente se estiver usando a federação de identidade de colaboradores.CONDITION_EXPRESSION: opcional. A expressão de condição que especifica quando o principal pode usar as permissões na função. Essa condição só se aplica quando a concessão está ativa.
Método HTTP e URL:
POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID
Corpo JSON da solicitação:
{
"privilegedAccess": {
"gcpIamAccess": {
"resourceType": "cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE",
"resource": "//cloudresourcemanager.googleapis.com/SCOPE",
"roleBindings": [
{
"role": "ROLE_1",
"conditionExpression": "CONDITION_EXPRESSION_1",
},
{
"role": "ROLE_2",
"conditionExpression": "CONDITION_EXPRESSION_2",
},
]
}
},
"maxRequestDuration": "MAXIMUM_GRANT_DURATION",
"eligibleUsers": [
{
"principals": [
"REQUESTING_MEMBER_1",
"REQUESTING_MEMBER_2",
...
]
}
],
"approvalWorkflow": {
"manualApprovals": {
"requireApproverJustification": true,
"steps": [
{
"approvers": [
{
"principals": [
"APPROVING_MEMBER_1",
"APPROVING_MEMBER_2",
]
}
],
"approvalsNeeded": APPROVALS_NEEDED_1,
"approverEmailRecipients": [
"APPROVER_EMAIL_ADDRESSES_1",
"APPROVER_EMAIL_ADDRESSES_2",
]
},
{
"approvers": [
{
"principals": [
"APPROVING_MEMBER_3",
"APPROVING_MEMBER_4",
]
}
],
"approvalsNeeded": APPROVALS_NEEDED_2,
"approverEmailRecipients": [
"APPROVER_EMAIL_ADDRESSES_3",
"APPROVER_EMAIL_ADDRESSES_4",
]
}
]
}
},
"requesterJustificationConfig": {
"unstructured": {
}
},
"additionalNotificationTargets": {
"adminEmailRecipients": [
"ADMIN_EMAIL_ADDRESS_1",
"ADMIN_EMAIL_ADDRESS_2",
],
"requesterEmailRecipients": [
"REQUESTER_EMAIL_ADDRESS_1",
"REQUESTER_EMAIL_ADDRESS_2",
]
}
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata",
"createTime": "2024-03-05T03:35:14.596739353Z",
"target": "projects/PROJECT_ID/locations/global/entitlements/ENTITLEMENT_ID",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1beta"
},
"done": false
}
Para verificar o progresso de uma operação de criação, envie uma solicitação GET para o seguinte endpoint:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID
Envie uma solicitação GET para o endpoint a seguir e liste todas as
operações:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations
Terraform
Use o Terraform para criar direitos de acesso. Para mais informações, consulte google_privileged_access_manager_entitlement na documentação do Terraform. Os direitos recém-criados podem levar alguns minutos para serem propagados e ficarem prontos para uso.
Config Connector
É possível usar o Kubernetes Config Connector para criar direitos. Para mais informações, consulte PrivilegedAccessManagerEntitlement na documentação do Config Connector. Os direitos recém-criados podem levar alguns minutos para serem propagados e ficarem prontos para uso.
A seguir
- Acessar, atualizar e excluir direitos de acesso
- Configurar as opções do Privileged Access Manager
- Auditar eventos de direito de acesso