Pour élever temporairement vos droits, vous pouvez demander une autorisation pour un droit d'accès dans Privileged Access Manager (PAM) pour une durée fixe.
Un droit d'accès contient des rôles qui vous sont accordés une fois votre demande d'octroi approuvée. Ces rôles sont supprimés par Privileged Access Manager à la fin de l'autorisation.
Tenez compte des points suivants lorsque vous souhaitez demander une autorisation pour un droit d'accès:
Vous ne pouvez demander des autorisations que pour les droits d'accès auxquels vous avez été ajouté. Pour être ajouté à un droit d'accès, contactez le principal qui l'administre.
Selon la configuration, une demande d'autorisation peut nécessiter une approbation.
Si une demande d'autorisation nécessite une approbation et qu'elle n'est pas approuvée ni refusée dans un délai de 24 heures, son état est défini sur
Expired
. Vous devrez ensuite envoyer une nouvelle demande d'autorisation si l'élévation des droits d'accès est toujours requise.L'application des requêtes d'autorisation peut prendre quelques minutes.
Demander une subvention à l'aide de la console Google Cloud
Pour demander une autorisation pour un droit d'accès:
Accédez à la page Privileged Access Manager.
Sélectionnez l'organisation, le dossier ou le projet pour lesquels vous souhaitez demander une autorisation.
Dans l'onglet Mes droits d'accès, recherchez le droit d'accès pour lequel vous souhaitez demander l'octroi, puis cliquez sur Demander l'octroi sur la même ligne.
Spécifiez les informations suivantes :
Durée requise pour l'octroi, jusqu'à la durée maximale définie sur le droit d'accès.
Si nécessaire, une justification de l'autorisation
(Facultatif) Adresses e-mail à informer de la demande d'autorisation Les identités Google associées aux approbateurs sont automatiquement notifiées. Toutefois, vous pouvez souhaiter envoyer une notification à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité des employés.
Cliquez sur Demander l'autorisation.
Pour consulter l'historique de vos subventions, y compris leur état d'approbation, cliquez sur l'onglet Subventions, puis sur l'onglet Mes subventions.
Demander une autorisation de manière programmatique
Pour demander une autorisation pour un droit d'accès, procédez comme suit:
Recherchez les ID de droit d'accès disponibles pour lesquels vous pouvez demander des autorisations.
Demandez l'autorisation.
Vous pouvez ensuite vérifier l'état de votre autorisation pour voir si elle est active, ce qui signifie que vous avez reçu l'élevation temporaire.
Rechercher les droits d'accès disponibles
gcloud
La commande gcloud beta pam entitlements search
avec le type d'accès de l'appelant grant-requester
recherche les droits d'accès pour lesquels vous pouvez demander une autorisation.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
RESOURCE_TYPE
: facultatif. Type de ressource auquel le droit d'accès appartient. Utilisez la valeurorganization
,folder
ouproject
.RESOURCE_ID
: utilisé avecRESOURCE_TYPE
. ID du projet, du dossier ou de l'organisation Google Cloud pour lequel/laquelle vous souhaitez gérer les droits d'accès. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012
.
Exécutez la commande suivante :
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
Vous devriez obtenir un résultat semblable à celui-ci :
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
La méthode searchEntitlements
de l'API Privileged Access Manager avec le type d'accès de l'appelant GRANT_REQUESTER
recherche les droits d'accès pour lesquels vous pouvez demander une autorisation.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
SCOPE
: organisation, dossier ou projet dans lequel/laquelle le droit d'accès est attribué, au formatorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/PROJECT_ID
. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012
.FILTER
: facultatif. Renvoie les droits d'accès dont les valeurs de champ correspondent à une expression AIP-160.PAGE_SIZE
: facultatif. Nombre d'éléments à renvoyer dans une réponse.PAGE_TOKEN
: facultatif. Page à partir de laquelle commencer la réponse, à l'aide d'un jeton de page renvoyé dans une réponse précédente.
Méthode HTTP et URL :
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements:search?callerAccessType=GRANT_REQUESTER&filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
[ { "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" } ]
Demander l'attribution d'un droit d'accès
gcloud
La commande gcloud beta pam grants create
demande une autorisation.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
ENTITLEMENT_ID
: ID d'éligibilité à partir duquel créer l'autorisation.GRANT_DURATION
: durée demandée de l'autorisation, en secondes.JUSTIFICATION
: justification de la demande d'attribution.EMAIL_ADDRESS
: facultatif. Adresses e-mail supplémentaires à informer de la demande d'autorisation d'accès. Les identités Google associées aux approbateurs sont automatiquement notifiées. Toutefois, vous pouvez souhaiter envoyer une notification à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération des identités des employés.RESOURCE_TYPE
: facultatif. Type de ressource auquel le droit d'accès appartient. Utilisez la valeurorganization
,folder
ouproject
.RESOURCE_ID
: utilisé avecRESOURCE_TYPE
. ID du projet, du dossier ou de l'organisation Google Cloud pour lequel/laquelle vous souhaitez gérer les droits d'accès. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012
.
Exécutez la commande suivante :
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
Vous devriez obtenir un résultat semblable à celui-ci :
Created [GRANT_ID].
REST
La méthode createGrant
de l'API Privileged Access Manager demande une autorisation.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
SCOPE
: organisation, dossier ou projet dans lequel/laquelle le droit d'accès est attribué, au formatorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/PROJECT_ID
. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012
.ENTITLEMENT_ID
: ID d'éligibilité à partir duquel créer l'autorisation.REQUEST_ID
: facultatif. Doit être un UUID non nul. Si le serveur reçoit une requête avec un ID de requête, il vérifie si une autre requête avec cet ID a déjà été traitée au cours des 60 dernières minutes. Si c'est le cas, la nouvelle requête est ignorée.GRANT_DURATION
: durée demandée de l'autorisation, en secondes.JUSTIFICATION
: justification de la demande d'attribution.EMAIL_ADDRESS
: facultatif. Adresses e-mail supplémentaires à informer de la demande d'autorisation d'accès. Les identités Google associées aux approbateurs sont automatiquement notifiées. Toutefois, vous pouvez souhaiter envoyer une notification à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité des employés.
Méthode HTTP et URL :
POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants?requestId=REQUEST_ID
Corps JSON de la requête :
{ "requestedDuration": "GRANT_DURATIONs", "justification": { "unstructuredJustification": "JUSTIFICATION" }, "additionalEmailRecipients": [ "EMAIL_ADDRESS_1", "EMAIL_ADDRESS_2", ... ] }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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" ] }
Vérifier l'état de votre demande de subvention
gcloud
La commande gcloud beta pam grants search
utilisée avec la relation appelant had-created
recherche les autorisations que vous avez créées. Pour vérifier leur état, recherchez le champ state
dans la réponse.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
ENTITLEMENT_ID
: ID du droit d'accès auquel l'octroi appartient.RESOURCE_TYPE
: facultatif. Type de ressource auquel le droit d'accès appartient. Utilisez la valeurorganization
,folder
ouproject
.RESOURCE_ID
: utilisé avecRESOURCE_TYPE
. ID du projet, du dossier ou de l'organisation Google Cloud pour lequel/laquelle vous souhaitez gérer les droits d'accès. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012
.
Exécutez la commande suivante :
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
Vous devriez obtenir un résultat semblable à celui-ci :
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'
Les subventions peuvent présenter les états suivants:
État | Description |
---|---|
ACTIVATING | L'autorisation est en cours d'activation. |
ACTIVATION_FAILED | Privileged Access Manager n'a pas pu accorder les rôles en raison d'une erreur non récupérable. |
ACTIVE | L'octroi est actif et le compte principal a accès aux ressources autorisées par les rôles. |
APPROVAL_AWAITED | La demande d'autorisation d'accès est en attente d'une décision de la part d'un approbateur. |
REFUSÉ | La demande d'attribution a été refusée par un approbateur. |
ENDED | L'autorisation a pris fin et les rôles ont été supprimés du compte principal. |
EXPIRED | La demande d'autorisation a expiré, car elle n'a pas été approuvée dans un délai de 24 heures. |
REVOKED | L'autorisation est révoquée, et le principal n'a plus accès aux ressources autorisées par les rôles. |
REVOKING | L'autorisation est en cours de révocation. |
REST
La méthode searchGrants
de l'API Privileged Access Manager utilisée avec la relation de l'appelant HAD_CREATED
recherche les autorisations que vous avez créées. Pour vérifier leur état, recherchez le champ state
dans la réponse.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
SCOPE
: organisation, dossier ou projet dans lequel/laquelle le droit d'accès est attribué, au formatorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
ouprojects/PROJECT_ID
. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
. Les ID de dossier et d'organisation sont des valeurs numériques, telles que123456789012
.ENTITLEMENT_ID
: ID du droit d'accès auquel l'octroi appartient.FILTER
: facultatif. Renvoie les subventions dont les valeurs de champ correspondent à une expression AIP-160.PAGE_SIZE
: facultatif. Nombre d'éléments à renvoyer dans une réponse.PAGE_TOKEN
: facultatif. Page à partir de laquelle commencer la réponse, à l'aide d'un jeton de page renvoyé dans une réponse précédente.
Méthode HTTP et 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
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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" ] } ] }
Les états des autorisations sont détaillés dans le tableau suivant.
État | Description |
---|---|
ACTIVATING | L'autorisation est en cours d'activation. |
ACTIVATION_FAILED | Privileged Access Manager n'a pas pu accorder les rôles en raison d'une erreur non récupérable. |
ACTIVE | L'octroi est actif et le compte principal a accès aux ressources autorisées par les rôles. |
APPROVAL_AWAITED | La demande d'autorisation d'accès est en attente d'une décision de la part d'un approbateur. |
REFUSÉ | La demande d'attribution a été refusée par un approbateur. |
ENDED | L'autorisation a pris fin et les rôles ont été supprimés du compte principal. |
EXPIRED | La demande d'autorisation a expiré, car elle n'a pas été approuvée dans un délai de 24 heures. |
REVOKED | L'autorisation est révoquée, et le principal n'a plus accès aux ressources autorisées par les rôles. |
REVOKING | L'autorisation est en cours de révocation. |