Depois de criar um direito de acesso, você pode visualizá-lo, atualizá-lo ou excluí-lo.
Antes de começar
Verifique se você ativou o Privileged Access Manager e configurou as permissões dele.
Conferir, atualizar e excluir direitos de acesso usando o console do Google Cloud
Acesse a página Privileged Access Manager.
Selecione a organização, a pasta ou o projeto em que você quer gerenciar os direitos de acesso.
Na guia Direitos de acesso, clique em Direitos para todos os usuários. Nela você encontra os direitos disponíveis, os papéis concedidos e os solicitantes e os aprovadores válidos.
Na tabela, clique em
Mais opções na mesma linha do direito de acesso que você quer inspecionar.Para conferir os detalhes do direito de acesso, clique em Visualizar detalhes do direito.
Para conferir as concessões associadas ao direito, clique em Conferir concessões associadas.
Para revogar todos os acessos ativos para o direito, clique em Revogar todos os acessos.
Para excluir o direito, clique em Excluir direito. Não é possível excluir um direito com permissões ativas. Primeiro, você precisa revogar as permissões.
Para atualizar um direito, clique em
Editar direito na mesma linha do direito de acesso que você quer atualizar.Tenha em mente o seguinte ao atualizar um direito:
A configuração de direito de acesso atualizada só é aplicável a benefícios solicitados após a atualização. No entanto, as mudanças de aprovador também se aplicam a solicitações de concessão que ainda não foram aprovadas ou negadas.
Ao atualizar um direito de acesso, não é possível mudar se a aprovação é necessária. Se você precisar mudar o estado de aprovação, crie um novo direito de acesso.
As mudanças nos solicitantes e aprovadores de um direito de acesso podem levar alguns minutos para serem propagadas.
Conferir direitos de forma programática
Para conferir os direitos de acesso de forma programática, é possível pesquisar, listar, receber e exportá-los.
Listar direitos de acesso
gcloud
O comando
gcloud beta pam entitlements list
lista os direitos que pertencem a um escopo
específico.
Antes de usar os dados do comando abaixo, faça estas substituições:
RESOURCE_TYPE
: opcional. O tipo de recurso ao qual o direito de acesso pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: usada comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização do Google Cloud que você quer gerenciar os direitos de acesso. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud beta pam entitlements list \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements list ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam entitlements list ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Você receberá uma resposta semelhante a esta:
additionalNotificationTargets: adminEmailRecipients: - alex@example.com createTime: '2024-03-26T11:07:37.009498890Z' eligibleUsers: - principals: - user:bola@example.com etag: 00000000000000000000000000000000000000000000000000000000000= maxRequestDuration: 3600s name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID privilegedAccess: gcpIamAccess: resource: //cloudresourcemanager.googleapis.com/projects/my-project resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin requesterJustificationConfig: unstructured: {} state: AVAILABLE updateTime: '2024-03-26T11:07:40.056780645Z'
REST
O método
listEntitlements
da API Privileged Access Manager lista os direitos de acesso que pertencem a um escopo
específico.
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 está, no formato deorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/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
.FILTER
: opcional. Retorna os direitos de acesso cujos valores de campo correspondem a uma expressão AIP-160.PAGE_SIZE
: opcional. O número de itens a serem retornados em uma resposta.PAGE_TOKEN
: opcional. A página em que a resposta vai começar, usando um token de página retornado em uma resposta anterior.
Método HTTP e URL:
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
[ { "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "createTime": "2023-11-21T17:28:39.962144708Z", "updateTime": "2023-11-21T17:28:43.160309410Z", "eligibleUsers": [ { "principals": [ "user:alex@example.com" ] } ], "approvalWorkflow": { "manualApprovals": { "steps": [ { "approvers": [ { "principals": [ "user:bola@example.com" ] } ], "approvalsNeeded": 1 } ] } }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "maxRequestDuration": "14400s", "state": "AVAILABLE", "requesterJustificationConfig": { "unstructured": {} }, "additionalNotificationTargets": { "adminEmailRecipients": [ "alex@example.com" ] }, "etag": "00000000000000000000000000000000000000000000000000000000000=" } ]
Receber direitosde acesso
gcloud
O comando
gcloud beta pam entitlements describe
recupera um direito específico.
Antes de usar os dados do comando abaixo, faça estas substituições:
ENTITLEMENT_ID
: o ID direito de acesso que você quer ver os detalhes.RESOURCE_TYPE
: opcional. O tipo de recurso ao qual o direito de acesso pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: usada comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização do Google Cloud que você quer gerenciar os direitos de acesso. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud beta pam entitlements describe \ ENTITLEMENT_ID \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements describe ` ENTITLEMENT_ID ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam entitlements describe ^ ENTITLEMENT_ID ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Você receberá uma resposta semelhante a esta:
additionalNotificationTargets: adminEmailRecipients: - alex@example.com createTime: '2024-03-26T11:07:37.009498890Z' eligibleUsers: - principals: - user:bola@example.com etag: 00000000000000000000000000000000000000000000000000000000000= maxRequestDuration: 3600s name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID privilegedAccess: gcpIamAccess: resource: //cloudresourcemanager.googleapis.com/projects/my-project resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin requesterJustificationConfig: unstructured: {} state: AVAILABLE updateTime: '2024-03-26T11:07:40.056780645Z'
REST
O método getEntitlement
da API Privileged Access Manager
busca um direito de acesso específico.
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 de onde o direito é retirado, no formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/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 direito de acesso que você quer ver os detalhes.
Método HTTP e URL:
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "createTime": "2023-11-21T17:28:39.962144708Z", "updateTime": "2023-11-21T17:28:43.160309410Z", "eligibleUsers": [ { "principals": [ "user:alex@example.com" ] } ], "approvalWorkflow": { "manualApprovals": { "steps": [ { "approvers": [ { "principals": [ "user:bola@example.com" ] } ], "approvalsNeeded": 1 } ] } }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "maxRequestDuration": "14400s", "state": "AVAILABLE", "requesterJustificationConfig": { "unstructured": {} }, "additionalNotificationTargets": { "adminEmailRecipients": [ "alex@example.com" ] }, "etag": "00000000000000000000000000000000000000000000000000000000000=" }
Exportar direitos de acesso usando a gcloud CLI
O comando
gcloud beta pam entitlements export
exporta um direito específico para um arquivo
YAML.
Antes de usar os dados do comando abaixo, faça estas substituições:
ENTITLEMENT_ID
: o ID do direito de exportação.FILENAME
: o nome de arquivo para exportar o conteúdo do direito.RESOURCE_TYPE
: opcional. O tipo de recurso ao qual o direito de acesso pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: usada comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização do Google Cloud que você quer gerenciar os direitos de acesso. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud beta pam entitlements export \ ENTITLEMENT_ID \ --destination=FILENAME.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements export ` ENTITLEMENT_ID ` --destination=FILENAME.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam entitlements export ^ ENTITLEMENT_ID ^ --destination=FILENAME.yaml ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Você receberá uma resposta semelhante a esta:
Exported [projects/my-project/locations/global/entitlements/ENTITLEMENT_ID] to 'FILENAME.yaml'.
Atualizar direitos de acesso de forma programática
Tenha em mente o seguinte ao atualizar um direito:
A configuração de direito de acesso atualizada só é aplicável a benefícios solicitados após a atualização. No entanto, as mudanças de aprovador também se aplicam a solicitações de concessão que ainda não foram aprovadas ou negadas.
Ao atualizar um direito de acesso, não é possível mudar se a aprovação é necessária. Se você precisar mudar o estado de aprovação, crie um novo direito de acesso.
As mudanças nos solicitantes e aprovadores de um direito de acesso podem levar alguns minutos para serem propagadas.
gcloud
O comando
gcloud beta pam entitlements update
atualiza um direito de acesso específico.
Antes de usar os dados do comando abaixo, faça estas substituições:
ENTITLEMENT_ID
: o ID do direito de acesso a ser atualizado.RESOURCE_TYPE
: opcional. O tipo de recurso ao qual o direito de acesso pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: usada comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização do Google Cloud que você quer gerenciar os direitos de acesso. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.FILENAME
: um arquivo que contém a configuração modificada do direito de acesso. Para criar esse arquivo, peça ou exporte o direito de acesso atual, salve a resposta em um arquivo YAML e modifique-a para usar como o corpo da solicitação de atualização. É necessário incluir a ETAG no corpo para atualizar a versão mais recente do direito de acesso. Para saber quais campos podem ser alterados ou adicionados, consulte Criar direitos de acesso de forma programática.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud beta pam entitlements update \ ENTITLEMENT_ID \ --entitlement-file=FILENAME.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements update ` ENTITLEMENT_ID ` --entitlement-file=FILENAME.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam entitlements update ^ ENTITLEMENT_ID ^ --entitlement-file=FILENAME.yaml ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Você receberá uma resposta semelhante a esta:
Request issued for: [ENTITLEMENT_ID] Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done. Updated entitlement [ENTITLEMENT_ID]. approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - 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/projects/my-project resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin requesterJustificationConfig: unstructured: {} state: AVAILABLE updateTime: '2024-04-09T02:39:40.066770306Z'
REST
O método
updateEntitlement
da API Privileged Access Manager atualiza um direito de acesso específico.
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 está, no formato deorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/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 atualizado.-
UPDATED_FIELDS
: uma lista separada por vírgulas de campos que estão sendo atualizados no direito de acesso. Por exemplo:?updateMask=privilegedAccess,maxRequestDuration
Para todos os campos atualizáveis, defina a máscara de atualização como
*
. REQUEST_ID
: opcional. Precisa ser um UUID diferente de zero. Se o servidor receber uma solicitação com um ID, ele vai verificar se outra solicitação com esse ID já foi concluída nos últimos 60 minutos. Nesse caso, a nova solicitação será ignorada.request.json
: um arquivo que contém a configuração modificada do direito de acesso. Para criar esse arquivo, peça ou exporte o direito de acesso atual, salve a resposta em um arquivorequest.json
e modifique-a para usar como o corpo da solicitação de atualização. É necessário incluir a ETAG no corpo para atualizar a versão mais recente do direito de acesso. Para saber quais campos podem ser alterados ou adicionados, consulte Criar direitos de acesso de forma programática.
Método HTTP e URL:
PATCH https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID?updateMask=UPDATED_FIELDS&requestId=REQUEST_ID
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/my-project/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata", "createTime": "2024-03-25T01:55:02.544562950Z", "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1beta" }, "done": false }
Para verificar o progresso de uma operação de atualizaçã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
Excluir direitos de acesso de forma programática
gcloud
O comando
gcloud beta pam entitlements delete
exclui um direito de acesso específico.
Antes de usar os dados do comando abaixo, faça estas substituições:
ENTITLEMENT_ID
: o ID do direito de acesso a ser excluído.RESOURCE_TYPE
: opcional. O tipo de recurso ao qual o direito de acesso pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: usada comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização do Google Cloud que você quer gerenciar os direitos de acesso. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud beta pam entitlements delete \ ENTITLEMENT_ID \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements delete ` ENTITLEMENT_ID ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam entitlements delete ^ ENTITLEMENT_ID ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Você receberá uma resposta semelhante a esta:
Delete request issued for: [ENTITLEMENT_ID] Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done. Deleted entitlement [ENTITLEMENT_ID].
REST
O método
deleteEntitlement
da API Privileged Access Manager exclui um direito de acesso específico.
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 para excluir o direito de acesso, no formato deorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/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 excluído.REQUEST_ID
: opcional. Precisa ser um UUID diferente de zero. Se o servidor receber uma solicitação com um ID, ele vai verificar se outra solicitação com esse ID já foi concluída nos últimos 60 minutos. Nesse caso, a nova solicitação será ignorada.
Método HTTP e URL:
DELETE https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID?requestId=REQUEST_ID
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/my-project/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata", "createTime": "2024-03-06T02:28:28.020293460Z", "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1beta" }, "done": false }
Para verificar o progresso de uma operação de exclusã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