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.
Na guia Direitos, clique em Direitos para todos os usuários. Aqui você encontra os direitos disponíveis, os papéis que eles concedem e os solicitantes e aprovadores válidos.
Na tabela, clique em
Mais opções na mesma linha do direito que você quer inspecionar.Para conferir os detalhes do direito, clique em Ver 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 que você quer atualizar.Tenha em mente o seguinte ao atualizar um direito:
A configuração de direito atualizada só se aplica 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, não é possível mudar se a aprovação é necessária. Se você precisar mudar o estado de aprovação, crie um novo direito.
As mudanças nos solicitantes e aprovadores de um direito 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 pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: Usada comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização do Google Cloud para que você quer gerenciar os direitos. 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 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 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 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 de onde 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 direitos
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 do direito a que você quer conferir os detalhes.RESOURCE_TYPE
: opcional. O tipo de recurso ao qual o direito pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: Usada comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização do Google Cloud para que você quer gerenciar os direitos. 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 recupera um direito 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 é recebido, 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 do direito a que você quer 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 pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: Usada comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização do Google Cloud para que você quer gerenciar os direitos. 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 forma programática
Tenha em mente o seguinte ao atualizar um direito:
A configuração de direito atualizada só se aplica 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, não é possível mudar se a aprovação é necessária. Se você precisar mudar o estado de aprovação, crie um novo direito.
As mudanças nos solicitantes e aprovadores de um direito podem levar alguns minutos para serem propagadas.
gcloud
O comando
gcloud beta pam entitlements update
atualiza um direito específico.
Antes de usar os dados do comando abaixo, faça estas substituições:
ENTITLEMENT_ID
: o ID do direito a ser atualizado.RESOURCE_TYPE
: opcional. O tipo de recurso ao qual o direito pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: Usada comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização do Google Cloud para que você quer gerenciar os direitos. 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. 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 sua solicitação de atualização. É necessário incluir a ETAG no corpo para atualizar a versão mais recente do direito. 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 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 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 a ser atualizado.-
UPDATED_FIELDS
: uma lista separada por vírgulas de campos que estão sendo atualizados no direito. 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. Para criar esse arquivo, peça ou exporte o direito de acesso existente, salve a resposta em um arquivo chamadorequest.json
e modifique-o para usar como o corpo da solicitação de atualização. É necessário incluir o ETAG no corpo para atualizar a versão mais recente do direito. Para saber quais campos disponíveis 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 forma programática
gcloud
O comando
gcloud beta pam entitlements delete
exclui um direito específico.
Antes de usar os dados do comando abaixo, faça estas substituições:
ENTITLEMENT_ID
: o ID do direito a ser excluído.RESOURCE_TYPE
: opcional. O tipo de recurso ao qual o direito pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: Usada comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização do Google Cloud para que você quer gerenciar os direitos. 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 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 será excluído, 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 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 para listar todas as operações:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations