Vous pouvez créer des droits d'accès pour accorder une élévation temporaire des droits à un ensemble spécifique de comptes principaux. Lorsque vous créez des droits d'accès, tenez compte des points suivants :
Les droits d'accès peuvent être créés au niveau de l'organisation, du dossier ou du projet. Les rôles accordés par un droit d'accès à chaque niveau suivent la Google Cloud hiérarchie des ressources. Par exemple, les rôles accordés par un droit d'accès au niveau de l'organisation sont hérités au niveau des dossiers et des projets.
Si vous ajoutez un groupe en tant que demandeur à un droit d'accès, tous les comptes individuels de ce groupe peuvent demander une autorisation pour ce droit d'accès. Toutefois, seul le compte individuel qui demande l'accès peut bénéficier de privilèges élevés.
Si vous ajoutez un groupe en tant qu'approbateur à un droit d'accès, tous les comptes individuels de ce groupe peuvent approuver ou refuser une demande d'accès.
Les rôles de base (administrateur, rédacteur et lecteur) sont acceptés, mais les anciens rôles de base (propriétaire, éditeur et lecteur) ne le sont pas.
N'incluez pas les rôles d'agent de service dans les droits d'accès.
Certains rôles d'agents de service contiennent des autorisations très puissantes, qui peuvent être modifiées sans préavis. Choisissez plutôt un autre rôle prédéfini ou créez un rôle personnalisé avec les autorisations dont vous avez besoin.
Avant de commencer
Assurez-vous d'avoir activé Privileged Access Manager et configuré les autorisations correspondantes.
Créer des droits d'accès à l'aide de la console Google Cloud
Pour créer un droit d'accès, procédez comme suit :
Accédez à la page Privileged Access Manager.
Sélectionnez l'organisation, le dossier ou le projet auxquels vous souhaitez appliquer le droit d'accès.
Cliquez sur l'onglet Droits d'accès.
Cliquez sur Créer.
Ajoutez les informations suivantes sur les droits d'accès :
Nom d'un droit d'accès.
Jusqu'à 30 rôles peuvent être attribués à l'organisation, au dossier ou au projet.
Vous pouvez également ajouter des conditions IAM à ces rôles de la même manière que vous ajoutez des conditions aux liaisons de rôle de stratégie d'autorisation. Toutefois, dans les droits d'accès Privileged Access Manager, l'utilisation de conditions qui vérifient les tags d'une ressource est en version Preview.
Durée pendant laquelle les droits d'accès peuvent être accordés par rapport au droit d'accès. La durée maximale que vous pouvez définir pour un droit d'accès est de 24 heures.
Cliquez sur Suivant.
Recherchez et ajoutez jusqu'à 20 comptes principaux demandeurs valides pour le droit d'accès. Tous les types de comptes principaux sont acceptés, à l'exception de
allUsers
etallAuthenticatedUsers
. Vous pouvez ajouter plus de 20 identités en les ajoutant à un groupe et en listant le groupe dans le droit d'accès.Indiquez si les comptes principaux doivent fournir une justification pour la demande d'autorisation.
Cliquez sur Suivant.
Choisissez d'autoriser l'attribution de rôles sans approbation, ou recherchez et ajoutez des comptes principaux valides qui peuvent approuver la demande. Les types de comptes principaux valides sont les suivants :
Comptes Google
Groupes
Domaines Google Workspace
Identifiants de pool d'employés
Si vous choisissez d'avoir des validateurs, indiquez également si ceux-ci doivent fournir une justification pour approuver la demande d'autorisation. Vous pouvez ajouter jusqu'à 20 responsables de l'approbation par droit d'accès. Vous pouvez ajouter plus de 20 identités en les ajoutant à un groupe et en listant le groupe dans le droit d'accès.
Cliquez sur Suivant.
Facultatif : Ajoutez les adresses e-mail des personnes à prévenir lorsque le droit d'accès peut être demandé, lorsqu'une autorisation est en attente d'approbation et lorsqu'un demandeur obtient l'accès. Les identités Google associées au droit d'accès, comme les approbateurs et les demandeurs, sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.
Cliquez sur Créer un droit d'accès.
La propagation des droits d'accès nouvellement créés peut prendre quelques minutes.
Créer des droits d'accès de manière programmatique
gcloud
La commande
gcloud pam entitlements create
crée un droit d'accès au niveau de l'organisation, du dossier ou du projet.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
ENTITLEMENT_ID
: ID du droit d'accès à créer. Un ID doit comporter entre 4 et 63 caractères et utiliser les caractères suivants :[a-z0-9-]
. Le premier caractère doit être une lettreRESOURCE_TYPE
: facultatif. Type de ressource auquel appartient le droit d'accès. Utilisez la valeurorganization
,folder
ouproject
.RESOURCE_ID
: utilisé avecRESOURCE_TYPE
. ID de l'organisation, du dossier ou du projet 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 numériques, tels que123456789012
.SCOPE
: organisation, dossier ou projet dans lequel/laquelle le droit d'accès est créé, 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
.RESOURCE_MANAGER_RESOURCE_TYPE
:Organization
,Folder
ouProject
, selon le champ d'application.ROLE
: rôles à attribuer lorsqu'un droit d'accès est accordé.TIME_IN_SECONDS
: durée maximale pour laquelle une autorisation peut être demandée, en secondes. La plage acceptée est comprise entre 30 minutes (1 800) et 24 heures (86 400).-
REQUESTING_MEMBER
: comptes principaux pouvant demander l'octroi du droit d'accès. Tous les types de principaux sont acceptés, à l'exception deallUsers
etallAuthenticatedUsers
. APPROVING_EMAIL
: facultatif. Adresses e-mail supplémentaires à notifier lorsqu'une autorisation d'accès a été demandée. Les identités Google associées aux approbateurs d'attribution sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.-
APPROVING_MEMBER
: comptes principaux pouvant approuver la demande de droit d'accès. Les types de principaux valides sont les suivants :- Utilisateur
- Groupe
- Domaine
- Identifiants de pool d'employés
ADMIN_EMAIL_ADDRESS
: facultatif. Adresses e-mail supplémentaires auxquelles envoyer une notification lorsqu'un demandeur se voit accorder l'accès. Les identités Google associées aux approbateurs d'attribution sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.REQUESTER_EMAIL_ADDRESS
: facultatif. Adresses e-mail supplémentaires à notifier lorsque ce droit d'accès peut être demandé. Les identités Google associées aux demandeurs d'attribution sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.
Enregistrez le code suivant dans un fichier nommé entitlement.yaml
:
privilegedAccess: gcpIamAccess: resourceType: cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE resource: //cloudresourcemanager.googleapis.com/SCOPE roleBindings: - role: ROLE_1 - role: ROLE_2 maxRequestDuration: TIME_IN_SECONDSs eligibleUsers: - principals: - REQUESTING_MEMBER_1 - REQUESTING_MEMBER_2 approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - approvalsNeeded: 1 approverEmailRecipients: - APPROVING_EMAIL_1 - APPROVING_EMAIL_2 approvers: - principals: - APPROVING_MEMBER_1 - APPROVING_MEMBER_2 requesterJustificationConfig: unstructured: {} additionalNotificationTargets: adminEmailRecipients: - ADMIN_EMAIL_ADDRESS_1 - ADMIN_EMAIL_ADDRESS_2 requesterEmailRecipients: - REQUESTER_EMAIL_ADDRESS_1 - REQUESTER_EMAIL_ADDRESS_2
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud pam entitlements create \ ENTITLEMENT_ID \ --entitlement-file=entitlement.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud pam entitlements create ` ENTITLEMENT_ID ` --entitlement-file=entitlement.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud pam entitlements create ^ ENTITLEMENT_ID ^ --entitlement-file=entitlement.yaml ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Vous devriez obtenir un résultat semblable à celui-ci :
Create request issued for: [ENTITLEMENT_ID] Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done. Created entitlement [ENTITLEMENT_ID]. additionalNotificationTargets: {} 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
La méthode createEntitlement
de l'API Privileged Access Manager crée un droit d'accès au niveau de l'organisation, du dossier ou du projet.
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 créé, 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 à créer. Un ID doit comporter entre 4 et 63 caractères et utiliser les caractères suivants :[a-z0-9-]
. Le premier caractère doit être une lettreREQUEST_ID
: facultatif. Doit être un UUID différent de zéro. 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 demande est ignorée.RESOURCE_MANAGER_RESOURCE_TYPE
:Organization
,Folder
ouProject
, selon le champ d'application.ROLE
: rôles à attribuer lorsqu'un droit d'accès est accordé.TIME_IN_SECONDS
: durée maximale pour laquelle une autorisation peut être demandée, en secondes. La plage acceptée est comprise entre 30 minutes (1 800) et 24 heures (86 400).-
REQUESTING_MEMBER
: comptes principaux pouvant demander l'octroi du droit d'accès. Tous les types de principaux sont acceptés, à l'exception deallUsers
etallAuthenticatedUsers
. -
APPROVING_MEMBER
: comptes principaux pouvant approuver la demande de droit d'accès. Les types de principaux valides sont les suivants :- Utilisateur
- Groupe
- Domaine
- Identifiants de pool d'employés
APPROVING_EMAIL
: facultatif. Adresses e-mail supplémentaires à notifier lorsqu'une autorisation d'accès a été demandée. Les identités Google associées aux approbateurs d'attribution sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.ADMIN_EMAIL_ADDRESS
: facultatif. Adresses e-mail supplémentaires auxquelles envoyer une notification lorsqu'un demandeur se voit accorder l'accès. Les identités Google associées aux approbateurs d'attribution sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.REQUESTER_EMAIL_ADDRESS
: facultatif. Adresses e-mail supplémentaires à notifier lorsque ce droit d'accès peut être demandé. Les identités Google associées aux demandeurs d'attribution sont automatiquement notifiées. Toutefois, vous pouvez choisir d'envoyer des notifications à un autre ensemble d'adresses e-mail, en particulier si vous utilisez la fédération d'identité de personnel.
Méthode HTTP et URL :
POST https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID&requestId=REQUEST_ID
Corps JSON de la requête :
{ "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE", "resource": "//cloudresourcemanager.googleapis.com/SCOPE", "roleBindings": [ { "role": "ROLE_1" }, { "role": "ROLE_2" } ] } }, "maxRequestDuration": "TIME_IN_SECONDSs", "eligibleUsers": [ { "principals": [ "REQUESTING_MEMBER_1", "REQUESTING_MEMBER_2", ... ] } ], "approvalWorkflow": { "manualApprovals": { "requireApproverJustification": true, "steps": [ { "approvers": [ { "principals": [ "APPROVING_MEMBER_1", "APPROVING_MEMBER_2", ... ] } ], "approvalsNeeded": 1, "approverEmailRecipients": [ "APPROVING_EMAIL_1", "APPROVING_EMAIL_2", ... ] } ] } }, "requesterJustificationConfig": { "unstructured": { } }, "additionalNotificationTargets": { "adminEmailRecipients": [ "ADMIN_EMAIL_ADDRESS_1", "ADMIN_EMAIL_ADDRESS_2", ... ], "requesterEmailRecipients": [ "REQUESTER_EMAIL_ADDRESS_1", "REQUESTER_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/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1.OperationMetadata", "createTime": "2024-03-05T03:35:14.596739353Z", "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Pour vérifier la progression d'une opération de création, vous pouvez envoyer une requête GET
au point de terminaison suivant :
https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/operations/OPERATION_ID
Envoyez une requête GET
au point de terminaison suivant pour lister toutes les opérations :
https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/operations
Terraform
Vous pouvez utiliser Terraform pour créer des droits d'accès. Pour en savoir plus, consultez google_privileged_access_manager_entitlement dans la documentation Terraform. La propagation des droits d'accès nouvellement créés peut prendre quelques minutes.
Config Connector
Vous pouvez utiliser Kubernetes Config Connector pour créer des droits d'accès. Pour en savoir plus, consultez PrivilegedAccessManagerEntitlement dans la documentation Config Connector. La propagation des droits d'accès nouvellement créés peut prendre quelques minutes.
Étapes suivantes
- Demander un accès temporaire offrant plus de privilèges
- Approuver ou refuser des subventions
- Afficher, modifier et supprimer des droits d'accès
- Auditer les événements de droits d'accès