Pode criar concessões para permitir a elevação temporária de privilégios para um conjunto selecionado de responsáveis. Tenha em atenção o seguinte quando criar concessões:
Pode criar autorizações ao nível da organização, da pasta ou do projeto. As funções concedidas por um direito em cada nível seguem a Cloud de Confiance by S3NS hierarquia de recursos. Por exemplo, as funções concedidas por um direito ao nível da organização são herdadas ao nível da pasta e do projeto.
Se o Security Command Center Premium ou o nível Enterprise estiver ativado ao nível da organização, pode exigir mais do que um nível de aprovação por direito, o que permite até dois níveis de aprovações sequenciais para cada direito. Pode exigir até cinco aprovações por nível.
Depois de receber o número necessário de aprovações de primeiro nível, são enviadas notificações por email aos aprovadores de segundo nível. Depois de receber o número necessário de aprovações de segundo nível, a concessão passa para o estado
active. Se um aprovador recusar a concessão, esta passa para o estadodeniede não é enviada a aprovadores adicionais.Esta funcionalidade está disponível em pré-visualização.
Se as contas de serviço puderem aprovar concessões para este recurso, pode adicionar contas de serviço e identidades do conjunto de cargas de trabalho como aprovadores. Para saber como ativar esta definição, consulte o artigo Configure as definições do Gestor de acesso privilegiado.
Esta funcionalidade está disponível em pré-visualização.
Se adicionar um grupo como requerente a uma concessão, todas as contas individuais nesse grupo podem pedir uma concessão dessa concessão. No entanto, apenas a conta individual que solicita a concessão pode receber privilégios elevados.
Se adicionar um grupo como aprovador a uma concessão, todas as contas individuais nesse grupo podem aprovar ou recusar um pedido de concessão.
As funções básicas (administrador, autor e leitor) são suportadas, mas as funções básicas antigas (proprietário, editor e leitor) não são suportadas.
Não inclua funções de agente do serviço em autorizações.
Algumas funções de agente de serviço contêm autorizações muito poderosas, e as autorizações nestas funções podem mudar sem aviso prévio. Em alternativa, escolha uma função predefinida diferente ou crie uma função personalizada com as autorizações de que precisa.
Antes de começar
Para receber as autorizações de que precisa para criar concessões, peça ao seu administrador que lhe conceda as seguintes funções de IAM na organização, na pasta ou no projeto para o qual quer criar concessões:
-
Crie autorizações para uma organização:
-
Administrador do gestor de acesso privilegiado (
roles/privilegedaccessmanager.admin) -
Administrador de segurança (
roles/iam.securityAdmin)
-
Administrador do gestor de acesso privilegiado (
-
Criar para uma pasta:
-
Administrador do Gestor de acesso privilegiado (
roles/privilegedaccessmanager.admin) -
Administrador da IAM de pastas (
roles/resourcemanager.folderAdmin)
-
Administrador do Gestor de acesso privilegiado (
-
Crie autorizações para um projeto:
-
Administrador do Gestor de acesso privilegiado (
roles/privilegedaccessmanager.admin) -
Project IAM Admin (
roles/resourcemanager.projectIamAdmin)
-
Administrador do Gestor de acesso privilegiado (
-
Para ver registos de auditoria:
Visualizador de registos (
roles/logs.viewer)
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Estas funções predefinidas contêm as autorizações necessárias para criar direitos. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para criar concessões:
-
Para criar direitos e concessões para uma organização:
-
resourcemanager.organizations.get -
resourcemanager.organizations.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
-
Para criar autorizações e concessões para uma pasta:
-
resourcemanager.folders.get -
resourcemanager.folders.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
-
Para criar direitos e concessões para um projeto:
-
resourcemanager.projects.get -
resourcemanager.projects.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Crie autorizações
Consola
Aceda à página Gestor de acesso privilegiado.
Selecione a organização, a pasta ou o projeto ao qual quer aplicar a concessão.
Clique no separador Autorizações.
Clique em Criar.
Na secção Detalhes da concessão, introduza os seguintes detalhes da concessão:
Um nome da concessão. Um nome de autorização pode ter entre 4 e 63 carateres. Tem de começar com uma letra minúscula e só pode conter letras minúsculas, números e hífenes.
Até 30 funções a conceder na organização, na pasta ou no projeto.
Também pode adicionar condições do IAM a estas funções da mesma forma que adiciona condições a associações de funções de políticas de autorização. No entanto, nas autorizações do Gestor de acesso privilegiado, a utilização de condições que verificam as etiquetas de um recurso está em pré-visualização.
A duração máxima de uma subvenção. A duração máxima que pode definir para uma autorização é de 7 dias.
Clicar em Seguinte.
Na secção Adicionar requerentes, introduza até 20 principais de solicitação válidos para a concessão.
Todos os tipos principais são suportados, exceto
allUserseallAuthenticatedUsers. Pode adicionar mais de 20 identidades adicionando-as a um grupo e listando o grupo na autorização.Escolha se os diretores têm de fornecer uma justificação para o pedido de concessão.
Introduza endereços de email adicionais de utilizadores a notificar quando a concessão for elegível para pedido.
As identidades Google associadas à concessão, como os aprovadores e os requerentes, são notificadas automaticamente. No entanto, se quiser notificar pessoas adicionais, pode adicionar os respetivos endereços de email. Isto é especialmente útil se estiver a usar identidades da força de trabalho em vez de Contas Google.
Clicar em Seguinte.
Na secção Adicionar aprovadores, faça uma das seguintes ações:
Para permitir concessões de funções sem aprovação, selecione Ativar acesso sem aprovações.
Para tornar as aprovações obrigatórias, faça o seguinte:
- Opcional: para exigir que os aprovadores introduzam justificações para aprovar pedidos, selecione Justificação necessária dos aprovadores.
Introduza os detalhes do aprovador de primeiro nível:
Uma lista de aprovadores da autorização
Pode adicionar qualquer um dos seguintes tipos de principais como aprovadores:
Contas Google
Grupos do Google
Domínios do Google Workspace
Identificadores do Workforce Pool
Identificadores do Workload Pool
Contas de serviço
Os identificadores de contas de serviço e do Workload Identity Pool só estão disponíveis se as contas de serviço puderem aprovar concessões para este recurso. Para ver detalhes, consulte o artigo Configure as definições do Gestor de acesso privilegiado.
Número de aprovações necessárias
Se adicionou um grupo como aprovador, certifique-se de que o número de aprovações necessárias é inferior ou igual ao número de responsáveis no grupo. Caso contrário, as concessões permanecem permanentemente no estado
approval awaited.Endereços de email dos aprovadores para notificação
Opcional: adicione detalhes do aprovador de segundo nível:
Uma lista de aprovadores da autorização
Pode adicionar qualquer um dos seguintes tipos de principais como aprovadores:
Contas Google
Grupos do Google
Domínios do Google Workspace
Identificadores do Workforce Pool
Identificadores do Workload Pool
Contas de serviço
Os identificadores de contas de serviço e do Workload Identity Pool só estão disponíveis se as contas de serviço puderem aprovar concessões para este recurso. Para ver detalhes, consulte o artigo Configure as definições do Gestor de acesso privilegiado.
Número de aprovações necessárias
Se adicionou um grupo como aprovador, certifique-se de que o número de aprovações necessárias é inferior ou igual ao número de responsáveis no grupo. Caso contrário, as concessões permanecem permanentemente no estado
approval awaited.Endereços de email dos aprovadores para notificação
Pode adicionar até 20 responsáveis pela aprovação (identidades ou grupos) por aprovação. Se quiser adicionar mais de 20 aprovadores, pode fazê-lo adicionando-os a um grupo e indicando o grupo como aprovador da concessão.
Clicar em Seguinte.
Clique em Criar autorização.
Os direitos recém-criados podem demorar alguns minutos a propagar-se e ficar prontos para utilização.
gcloud
O comando
gcloud alpha pam entitlements create
cria um direito ao nível da organização, da pasta ou do projeto.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
ENTITLEMENT_ID: o ID de direito de utilização a criar. Um ID tem de ter entre 4 e 63 carateres e usar os seguintes carateres:[a-z0-9-]. O primeiro caráter tem de ser uma letra.RESOURCE_TYPE: opcional. O tipo de recurso ao qual a concessão pertence. Use o valororganization,folderouproject.RESOURCE_ID: usado comRESOURCE_TYPE. O ID da organização, da pasta ou do projeto para o qual quer gerir autorizações. Cloud de ConfianceOs IDs dos projetos são strings alfanuméricas, comomy-project. Os IDs das pastas e das organizações são numéricos, como123456789012.RESOURCE_MANAGER_RESOURCE_TYPE:Organization,FolderouProject, consoante o âmbito.ROLE: As funções a atribuir quando é concedido um direito.MAXIMUM_GRANT_DURATION: a duração máxima para a qual uma concessão pode ser pedida, em segundos. O intervalo suportado é entre 30 minutos (1800) e 168 horas (604800).-
REQUESTING_MEMBER: Principais que podem pedir que a concessão seja concedida. Todos os tipos principais são suportados, excetoallUserseallAuthenticatedUsers. -
APPROVING_MEMBER: Principais que podem aprovar o pedido de concessão. Os tipos principais válidos são os seguintes:- Utilizador
- Grupo
- Domínio
- Identificadores do Workforce Pool
- Identificadores do Workload Pool
Esta opção só está disponível se as contas de serviço puderem aprovar pedidos de concessão para este recurso. Para ver detalhes, consulte o artigo Configure as definições do Gestor de acesso privilegiado.
- Contas de serviço
Esta opção só está disponível se as contas de serviço puderem aprovar pedidos de concessão para este recurso. Para ver detalhes, consulte o artigo Configure as definições do Gestor de acesso privilegiado.
APPROVALS_NEEDED: o número de aprovadores necessários para aprovar o pedido de concessão.Se adicionou um grupo como aprovador, certifique-se de que o número de aprovações necessárias é inferior ou igual ao número de responsáveis no grupo. Caso contrário, as concessões permanecem permanentemente no estado
approval awaited.APPROVER_EMAIL_ADDRESSES: opcional. Endereços de email adicionais para os quais enviamos uma notificação quando é pedida uma concessão. As identidades Google associadas aos aprovadores de concessões são notificadas automaticamente. No entanto, pode querer notificar um conjunto diferente de endereços de email, especialmente se estiver a usar a federação de identidades da força de trabalho.ADMIN_EMAIL_ADDRESS: opcional. Endereços de email adicionais para notificar quando um requerente recebe acesso. As identidades Google associadas aos aprovadores de concessões são notificadas automaticamente. No entanto, pode querer notificar um conjunto diferente de endereços de email, especialmente se estiver a usar a federação de identidades da força de trabalho.REQUESTER_EMAIL_ADDRESS: opcional. Endereços de email adicionais para notificar quando esta autorização estiver disponível para pedido. As identidades Google associadas aos requerentes de concessão são notificadas automaticamente. No entanto, pode querer enviar notificações para um conjunto diferente de endereços de email, especialmente se estiver a usar a Workforce Identity Federation.CONDITION_EXPRESSION: opcional. A expressão de condição que especifica quando o principal pode usar as autorizações na função. Esta condição só se aplica quando a concessão está ativa.
Guarde o seguinte conteúdo num ficheiro denominado 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
Deve receber uma resposta semelhante à seguinte:
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 uma autorização ao nível da organização, da pasta ou do projeto.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
SCOPE: a organização, a pasta ou o projeto no qual criar a concessão, no formato deorganizations/ORGANIZATION_ID,folders/FOLDER_IDouprojects/PROJECT_ID. Os IDs dos projetos são strings alfanuméricas, comomy-project. Os IDs das pastas e das organizações são numéricos, como123456789012.ENTITLEMENT_ID: o ID de direito de utilização a criar. Um ID tem de ter entre 4 e 63 carateres e usar os seguintes carateres:[a-z0-9-]. O primeiro caráter tem de ser uma letra.RESOURCE_MANAGER_RESOURCE_TYPE:Organization,FolderouProject, consoante o âmbito.ROLE: As funções a atribuir quando é concedido um direito.MAXIMUM_GRANT_DURATION: a duração máxima para a qual uma concessão pode ser pedida, em segundos. O intervalo suportado é entre 30 minutos (1800) e 168 horas (604800).-
REQUESTING_MEMBER: Principais que podem pedir que o direito seja concedido. Todos os tipos principais são suportados, excetoallUserseallAuthenticatedUsers. -
APPROVING_MEMBER: Principais que podem aprovar o pedido de concessão. Os tipos principais válidos são os seguintes:- Utilizador
- Grupo
- Domínio
- Identificadores do Workforce Pool
- Identificadores do Workload Pool
Esta opção só está disponível se as contas de serviço puderem aprovar pedidos de concessão para este recurso. Para ver detalhes, consulte o artigo Configure as definições do Gestor de acesso privilegiado.
- Contas de serviço
Esta opção só está disponível se as contas de serviço puderem aprovar pedidos de concessão para este recurso. Para ver detalhes, consulte o artigo Configure as definições do Gestor de acesso privilegiado.
APPROVALS_NEEDED: o número de aprovadores necessários para aprovar o pedido de concessão.Se adicionou um grupo como aprovador, certifique-se de que o número de aprovações necessárias é inferior ou igual ao número de responsáveis no grupo. Caso contrário, as concessões permanecem permanentemente no estado
approval awaited.APPROVER_EMAIL_ADDRESSES: opcional. Endereços de email adicionais para os quais enviamos uma notificação quando é pedida uma concessão. As identidades Google associadas aos aprovadores de concessões são notificadas automaticamente. No entanto, pode querer notificar um conjunto diferente de endereços de email, especialmente se estiver a usar a federação de identidades da força de trabalho.ADMIN_EMAIL_ADDRESS: opcional. Endereços de email adicionais para notificar quando um requerente recebe acesso. As identidades Google associadas aos aprovadores de concessões são notificadas automaticamente. No entanto, pode querer notificar um conjunto diferente de endereços de email, especialmente se estiver a usar a Workforce Identity Federation.REQUESTER_EMAIL_ADDRESS: opcional. Endereços de email adicionais para notificar quando esta autorização estiver disponível para pedido. As identidades Google associadas aos requerentes de concessão são notificadas automaticamente. No entanto, pode querer enviar notificações para um conjunto diferente de endereços de email, especialmente se estiver a usar a Workforce Identity Federation.CONDITION_EXPRESSION: opcional. A expressão de condição que especifica quando o principal pode usar as autorizações na função. Esta 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 do pedido:
{
"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 o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{
"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, pode enviar um pedido GET para o seguinte ponto final:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID
Envie um pedido GET para o seguinte ponto final para listar todas as
operações:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations
Terraform
Pode usar o Terraform para criar autorizações. Para mais informações, consulte google_privileged_access_manager_entitlement na documentação do Terraform. Os direitos recém-criados podem demorar alguns minutos a propagar-se e ficar prontos para utilização.
Config Connector
Pode usar o Kubernetes Config Connector para criar autorizações. Para mais informações, consulte o artigo PrivilegedAccessManagerEntitlement na documentação do Config Connector. Os direitos recém-criados podem demorar alguns minutos a propagar-se e ficar prontos para utilização.
O que se segue?
- Veja, atualize e elimine autorizações
- Configure as definições do Gestor de acesso privilegiado
- Audite eventos de autorização