Para aumentar temporariamente os privilégios, solicite uma concessão de um direito no Privileged Access Manager (PAM) por um período fixo.
Um direito de acesso contém papéis que são concedidos a você depois que o pedido de concessão é aprovado. Essas funções são removidas pelo Privileged Access Manager quando o acesso é encerrado.
Considere o seguinte ao solicitar uma concessão para um direito de acesso:
Só é possível solicitar permissões para direitos de acesso a que você foi adicionado. Para ser adicionado a um direito de acesso, entre em contato com o principal que administra o direito.
Dependendo da configuração, uma solicitação de concessão pode exigir aprovação para ser concedida.
Se uma solicitação de concessão exigir aprovação e não for aprovada ou negada em 24 horas, o status da concessão será alterado para
Expired
. Depois disso, será necessário fazer uma nova solicitação de concessão se o privilégio ainda for necessário.As solicitações de concessão bem-sucedidas podem levar alguns minutos para entrar em vigor.
Solicitar um benefício usando o console do Google Cloud
Para solicitar uma concessão de um direito, siga estas instruções:
Acesse a página Privileged Access Manager.
Selecione a organização, a pasta ou o projeto em que você quer solicitar uma concessão.
Na guia Meus direitos, encontre o direito a ser solicitado e clique em Solicitar concessão na mesma linha.
Forneça os seguintes detalhes:
A duração necessária para a concessão, até a duração máxima definida no direito.
Se necessário, uma justificativa para a concessão.
Opcional: quais endereços de e-mail receberão a solicitação de concessão. As identidades do Google associadas aos aprovadores 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.
Clique em Solicitar concessão.
Para conferir o histórico de concessões, incluindo os status de aprovação, clique na guia Concessões e, em seguida, em Minhas concessões.
Solicitar um benefício de maneira programática
Para solicitar uma concessão de um direito, siga estas etapas:
Pesquise IDs de direito disponíveis para os quais você pode solicitar concessões.
Solicite a concessão.
Verifique depois o status da concessão para saber se ela está ativa, ou seja, se você recebeu a elevação temporária.
Pesquisar direitos disponíveis
gcloud
O comando
gcloud beta pam entitlements search
com o tipo de acesso de autor da chamada grant-requester
procura direitos que podem receber uma concessão.
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 search \ --caller-access-type=grant-requester \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements search ` --caller-access-type=grant-requester ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam entitlements search ^ --caller-access-type=grant-requester ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Você receberá uma resposta semelhante a esta:
additionalNotificationTargets: {} approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - approvalsNeeded: 1 approvers: - principals: - user:alex@example.com createTime: '22024-03-26T11:07:37.009498890Z' etag: ETAG 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: notMandatory: {} state: AVAILABLE updateTime: '2024-03-26T11:07:40.056780645Z'
REST
O método searchEntitlements
da API Privileged Access Manager
com o tipo de acesso do autor da chamada GRANT_REQUESTER
procura direitos que podem ser usados para solicitar uma concessão.
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:search?callerAccessType=GRANT_REQUESTER&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": "ETAG" } ]
Solicitar um benefício de direito
gcloud
O comando
gcloud beta pam grants create
solicita uma concessão.
Antes de usar os dados do comando abaixo, faça estas substituições:
ENTITLEMENT_ID
: o ID do direito a que o acesso será concedido.GRANT_DURATION
: a duração solicitada da concessão, em segundos.JUSTIFICATION
: a justificativa para solicitar a concessão.EMAIL_ADDRESS
: opcional. Outros endereços de e-mail para receber a solicitação de concessão. As identidades do Google associadas aos aprovadores 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.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 grants create \ --entitlement=ENTITLEMENT_ID \ --requested-duration="GRANT_DURATIONs" \ --justification="JUSTIFICATION" \ --location=global \ [--additional-email-recipients=EMAIL_ADDRESS_1, EMAIL_ADDRESS_2] \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam grants create ` --entitlement=ENTITLEMENT_ID ` --requested-duration="GRANT_DURATIONs" ` --justification="JUSTIFICATION" ` --location=global ` [--additional-email-recipients=EMAIL_ADDRESS_1, EMAIL_ADDRESS_2] ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam grants create ^ --entitlement=ENTITLEMENT_ID ^ --requested-duration="GRANT_DURATIONs" ^ --justification="JUSTIFICATION" ^ --location=global ^ [--additional-email-recipients=EMAIL_ADDRESS_1, EMAIL_ADDRESS_2] ^ --RESOURCE_TYPE=RESOURCE_ID
Você receberá uma resposta semelhante a esta:
Created [GRANT_ID].
REST
O método createGrant
da API do Privileged Access Manager solicita uma concessão.
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 a que o acesso será concedido.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.GRANT_DURATION
: a duração solicitada da concessão, em segundos.JUSTIFICATION
: a justificativa para solicitar a concessão.EMAIL_ADDRESS
: opcional. Outros endereços de e-mail para receber a solicitação de concessão. As identidades do Google associadas aos aprovadores 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.
Método HTTP e URL:
POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants?requestId=REQUEST_ID
Corpo JSON da solicitação:
{ "requestedDuration": "GRANT_DURATIONs", "justification": { "unstructuredJustification": "JUSTIFICATION" }, "additionalEmailRecipients": [ "EMAIL_ADDRESS_1", "EMAIL_ADDRESS_2", ... ] }
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/grants/GRANT_ID", "createTime": "2024-03-06T03:08:49.330577625Z", "updateTime": "2024-03-06T03:08:49.330577625Z", "requester": "bola@example.com", "requestedDuration": "3600s", "justification": { "unstructuredJustification": "Emergency service for outage" }, "state": "APPROVAL_AWAITED", "timeline": { "events": [ { "eventTime": "2024-03-06T03:08:49.462765846Z", "requested": { "expireTime": "2024-03-07T03:08:49.462765846Z" } } ] }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "additionalEmailRecipients": [ "alex@example.com" ] }
Verificar o status da solicitação de concessão
gcloud
O comando
gcloud beta pam grants search
usado com a relação de chamador had-created
procura as permissões que você criou. Para verificar o status,
procure o campo state
na resposta.
Antes de usar os dados do comando abaixo, faça estas substituições:
ENTITLEMENT_ID
: o ID do direito de acesso a que o acesso pertence.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 grants search \ --entitlement=ENTITLEMENT_ID \ --caller-relationship=had-created \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam grants search ` --entitlement=ENTITLEMENT_ID ` --caller-relationship=had-created ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam grants search ^ --entitlement=ENTITLEMENT_ID ^ --caller-relationship=had-created ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Você receberá uma resposta semelhante a esta:
additionalEmailRecipients: - bola@example.com createTime: '2024-03-07T00:34:32.557017289Z' justification: unstructuredJustification: Renaming a file to mitigate issue #312 name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID privilegedAccess: gcpIamAccess: resource: //cloudresourcemanager.googleapis.com/projects/my-project resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin requestedDuration: 3600s requester: cruz@example.com state: DENIED timeline: events: - eventTime: '2024-03-07T00:34:32.793769042Z' requested: expireTime: '2024-03-08T00:34:32.793769042Z' - denied: actor: alex@example.com reason: Issue has already been resolved eventTime: '2024-03-07T00:36:08.309116203Z' updateTime: '2024-03-07T00:34:32.926967128Z'
As doações podem ter os seguintes status:
Status | Descrição |
---|---|
ACTIVATING | A concessão está sendo ativada. |
ACTIVATION_FAILED | O Privileged Access Manager não concedeu as funções devido a um erro não recuperável. |
ACTIVE | A concessão está ativa e o principal tem acesso aos recursos permitidos pelos papéis. |
APPROVAL_AWAITED | A solicitação de concessão está aguardando uma decisão de um aprovador. |
DENIED | A solicitação de concessão foi negada por um aprovador. |
ENDED | A concessão foi encerrada e as funções foram removidas do principal. |
EXPIRED | O pedido de concessão expirou porque a aprovação não foi concedida em 24 horas. |
REVOKED | A concessão é revogada, e o participante não tem mais acesso aos recursos permitidos pelas funções. |
REVOKING | A concessão está em processo de revogação. |
REST
O método searchGrants
da API Privileged Access Manager usado com a relação
de autor da chamada HAD_CREATED
procura permissões que você criou. Para verificar o status,
procure o campo state
na resposta.
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 que o acesso pertence.FILTER
: opcional. Retorna as concessões 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/ENTITLEMENT_ID/grants:search?callerRelationship=HAD_CREATED&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:
{ "grants": [ { "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID", "createTime": "2024-03-06T03:08:49.330577625Z", "updateTime": "2024-03-06T03:08:49.625874598Z", "requester": "alex@example.com", "requestedDuration": "3600s", "justification": { "unstructuredJustification": "Emergency service for outage" }, "state": "APPROVAL_AWAITED", "timeline": { "events": [ { "eventTime": "2024-03-06T03:08:49.462765846Z", "requested": { "expireTime": "2024-03-07T03:08:49.462765846Z" } } ] }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "additionalEmailRecipients": [ "bola@google.com" ] } ] }
Os status de concessão estão detalhados na tabela a seguir.
Status | Descrição |
---|---|
ACTIVATING | A concessão está sendo ativada. |
ACTIVATION_FAILED | O Privileged Access Manager não concedeu as funções devido a um erro não recuperável. |
ACTIVE | A concessão está ativa e o principal tem acesso aos recursos permitidos pelos papéis. |
APPROVAL_AWAITED | A solicitação de concessão está aguardando uma decisão de um aprovador. |
DENIED | A solicitação de concessão foi negada por um aprovador. |
ENDED | A concessão foi encerrada e as funções foram removidas do principal. |
EXPIRED | O pedido de concessão expirou porque a aprovação não foi concedida em 24 horas. |
REVOKED | A concessão é revogada, e o participante não tem mais acesso aos recursos permitidos pelas funções. |
REVOKING | A concessão está em processo de revogação. |