Para elevar temporariamente os seus privilégios, pode pedir uma concessão relativamente a um direito no gestor de acesso privilegiado (PAM) durante um período fixo.
Uma autorização contém funções que lhe são concedidas após o êxito do seu pedido de concessão. Estas funções são removidas pelo gestor de acesso privilegiado quando a concessão termina.
Tenha em atenção o seguinte quando quiser pedir uma concessão contra uma autorização:
Só pode pedir concessões relativas a direitos de utilização aos quais foi adicionado. Para ser adicionado a uma concessão, contacte o principal que administra a concessão.
Só pode ter uma concessão ativa de cada vez para uma autorização.
Consoante a configuração, um pedido de concessão pode exigir aprovação para ser concedido.
Se um pedido de concessão exigir aprovação e não for aprovado nem recusado no prazo de 24 horas, o estado da concessão é alterado para
Expired
. Após esta ação, tem de fazer um novo pedido de concessão se a elevação de privilégios ainda for necessária.Os pedidos de concessão bem-sucedidos podem demorar alguns minutos a entrar em vigor.
Peça uma concessão através da Trusted Cloud consola
Para pedir uma concessão contra uma autorização, siga estas instruções:
Aceda à página Gestor de acesso privilegiado.
Selecione a organização, a pasta ou o projeto no qual quer pedir uma subvenção.
No separador As minhas autorizações, encontre a autorização para a qual quer pedir a concessão e, em seguida, clique em Pedir concessão na mesma linha.
Forneça os seguintes detalhes:
A duração necessária para a concessão, até à duração máxima definida na autorização.
Se necessário, uma justificação para a concessão.
Opcional: que endereços de email devem ser notificados sobre o pedido de concessão. As identidades Google associadas aos aprovadores 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.
Clique em Pedir concessão.
Para ver o seu histórico de subvenções, incluindo os estados de aprovação, clique no separador Subvenções e, de seguida, no separador As minhas subvenções.
Peça uma concessão de forma programática
Para pedir uma concessão relativamente a um direito, tem de concluir os seguintes passos:
Pesquise IDs de concessões disponíveis para os quais pode pedir concessões.
Peça a subvenção.
Posteriormente, pode verificar o estado da concessão para ver se está ativa, o que significa que recebeu a elevação temporária.
Pesquise autorizações disponíveis
gcloud
O comando
gcloud pam entitlements search
com o tipo de acesso do autor da chamada grant-requester
pesquisa as concessões para as quais pode pedir uma subvenção.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
RESOURCE_TYPE
: opcional. O tipo de recurso ao qual a concessão pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: usado comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização para os quais quer gerir autorizações. Trusted CloudOs IDs dos projetos são strings alfanuméricas, comomy-project
. Os IDs das pastas e das organizações são numéricos, como123456789012
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud pam entitlements search \ --caller-access-type=grant-requester \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud pam entitlements search ` --caller-access-type=grant-requester ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud pam entitlements search ^ --caller-access-type=grant-requester ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Deve receber uma resposta semelhante à seguinte:
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 GRANT_REQUESTER
caller access
pesquisa autorizações para as quais pode pedir uma concessão.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
SCOPE
: a organização, a pasta ou o projeto em que a concessão se encontra, no formato deorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/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
.FILTER
: opcional. Devolve autorizações cujos valores de campo correspondem a uma expressão AIP-160.PAGE_SIZE
: opcional. O número de itens a devolver numa resposta.PAGE_TOKEN
: opcional. A partir de que página deve começar a resposta, usando um token de página devolvido numa resposta anterior.
Método HTTP e URL:
GET https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements:search?callerAccessType=GRANT_REQUESTER&filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
[ { "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" } ]
Peça uma concessão contra um direito
gcloud
O comando
gcloud pam grants create
pede uma concessão.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
ENTITLEMENT_ID
: o ID do direito de utilização para criar a concessão.GRANT_DURATION
: a duração pedida da autorização, em segundos.JUSTIFICATION
: a justificação para pedir a concessão.EMAIL_ADDRESS
: opcional. Endereços de email adicionais para notificar sobre o pedido de concessão. As identidades Google associadas aos aprovadores 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 Workforce Identity Federation.RESOURCE_TYPE
: opcional. O tipo de recurso ao qual a concessão pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: usado comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização para os quais quer gerir autorizações. Trusted CloudOs IDs dos projetos são strings alfanuméricas, comomy-project
. Os IDs das pastas e das organizações são numéricos, como123456789012
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud 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 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 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
Deve receber uma resposta semelhante à seguinte:
Created [GRANT_ID].
REST
O método createGrant
da API Privileged Access Manager pede uma concessão.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
SCOPE
: a organização, a pasta ou o projeto em que a concessão se encontra, no formato deorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/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 do direito de utilização para criar a concessão.REQUEST_ID
: opcional. Tem de ser um UUID diferente de zero. Se o servidor receber um pedido com um ID do pedido, verifica se outro pedido com esse ID já foi concluído nos últimos 60 minutos. Se for o caso, o novo pedido é ignorado.GRANT_DURATION
: a duração pedida da autorização, em segundos.JUSTIFICATION
: a justificação para pedir a concessão.EMAIL_ADDRESS
: opcional. Endereços de email adicionais para notificar sobre o pedido de concessão. As identidades Google associadas aos aprovadores são notificadas automaticamente. No entanto, pode querer enviar notificações a um conjunto diferente de endereços de email, especialmente se estiver a usar a federação de identidades da força de trabalho.
Método HTTP e URL:
POST https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants?requestId=REQUEST_ID
Corpo JSON do pedido:
{ "requestedDuration": "GRANT_DURATIONs", "justification": { "unstructuredJustification": "JUSTIFICATION" }, "additionalEmailRecipients": [ "EMAIL_ADDRESS_1", "EMAIL_ADDRESS_2", ... ] }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" ] }
Verifique o estado do seu pedido de subvenção
gcloud
O comando
gcloud pam grants search
usado com o autor da chamada had-created
procura concessões que criou. Para verificar o estado,
procure o campo state
na resposta.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
ENTITLEMENT_ID
: o ID da concessão de direitos a que a concessão pertence.RESOURCE_TYPE
: opcional. O tipo de recurso ao qual a concessão pertence. Use o valororganization
,folder
ouproject
.RESOURCE_ID
: usado comRESOURCE_TYPE
. O ID do projeto, da pasta ou da organização para os quais quer gerir autorizações. Trusted CloudOs IDs dos projetos são strings alfanuméricas, comomy-project
. Os IDs das pastas e das organizações são numéricos, como123456789012
.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud pam grants search \ --entitlement=ENTITLEMENT_ID \ --caller-relationship=had-created \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud pam grants search ` --entitlement=ENTITLEMENT_ID ` --caller-relationship=had-created ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud pam grants search ^ --entitlement=ENTITLEMENT_ID ^ --caller-relationship=had-created ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Deve receber uma resposta semelhante à seguinte:
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 concessões podem ter os seguintes estados:
Estado | Descrição |
---|---|
A ATIVAR | A concessão está em processo de ativação. |
ACTIVATION_FAILED | O Privileged Access Manager não conseguiu conceder as funções devido a um erro não repetível. |
ATIVO | A concessão está ativa e o principal tem acesso aos recursos permitidos pelas funções. |
APPROVAL_AWAITED | O pedido de concessão está a aguardar uma decisão de um aprovador. |
RECUSADO | O pedido de concessão foi recusado por um aprovador. |
TERMINOU | A concessão terminou e as funções foram removidas do principal. |
EXPIRADO | O pedido de concessão expirou porque não foi dada aprovação no prazo de 24 horas. |
REVOGADO | A concessão é revogada e o principal deixa de ter acesso aos recursos permitidos pelas funções. |
REVOGAR | A concessão está em processo de revogação. |
REST
O método searchGrants
da API Privileged Access Manager usado com a relação HAD_CREATED
do autor da chamada
pesquisa concessões que criou. Para verificar o estado,
procure o campo state
na resposta.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
SCOPE
: a organização, a pasta ou o projeto em que a concessão se encontra, no formato deorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/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 da concessão de direitos a que a concessão pertence.FILTER
: opcional. Devolve concessões cujos valores de campo correspondem a uma expressão AIP-160.PAGE_SIZE
: opcional. O número de itens a devolver numa resposta.PAGE_TOKEN
: opcional. A partir de que página deve começar a resposta, usando um token de página devolvido numa resposta anterior.
Método HTTP e URL:
GET https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants:search?callerRelationship=HAD_CREATED&filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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 estados das subvenções estão detalhados na tabela seguinte.
Estado | Descrição |
---|---|
A ATIVAR | A concessão está em processo de ativação. |
ACTIVATION_FAILED | O Privileged Access Manager não conseguiu conceder as funções devido a um erro não repetível. |
ATIVO | A concessão está ativa e o principal tem acesso aos recursos permitidos pelas funções. |
APPROVAL_AWAITED | O pedido de concessão está a aguardar uma decisão de um aprovador. |
RECUSADO | O pedido de concessão foi recusado por um aprovador. |
TERMINOU | A concessão terminou e as funções foram removidas do principal. |
EXPIRADO | O pedido de concessão expirou porque não foi dada aprovação no prazo de 24 horas. |
REVOGADO | A concessão é revogada e o principal deixa de ter acesso aos recursos permitidos pelas funções. |
REVOGAR | A concessão está em processo de revogação. |