Contrôle des accès avec IAM
Cette page décrit les rôles IAM pour Certificate Authority Service.
Le service de certification utilise des rôles IAM (Identity and Access Management) pour le contrôle des accès. IAM vous permet de contrôler les accès en définissant (identité) dispose de quel accès (rôle) pour quelle ressource. Les rôles IAM contiennent un ensemble d'autorisations qui permet aux utilisateurs d'effectuer des actions spécifiques sur les ressources Google Cloud. En suivant le principe du moindre privilège lorsque vous accordez IAM vous pouvez protéger l'intégrité des ressources Certificate Authority Service et gérer la sécurité du pool d'autorités de certification et de l'infrastructure globale de clés publiques (PKI) lui-même.
Pour savoir comment attribuer des rôles IAM à un compte utilisateur ou de service, consultez la page Accorder, modifier et révoquer les accès à des ressources dans la documentation IAM.
Rôles prédéfinis
Le tableau suivant répertorie les rôles IAM prédéfinis et les autorisations associées à chacun d'entre eux:
Rôle | Autorisations | Description |
---|---|---|
Auditeur du service CAroles/privateca.auditor |
privateca.caPools.get privateca.caPools.getIamPolicy privateca.caPools.list privateca.certificateAuthorities.list privateca.certificateAuthorities.get privateca.certificateTemplates.get privateca.certificateTemplates.getIamPolicy privateca.certificateTemplates.list privateca.certificates.list privateca.certificates.get privateca.locations.get privateca.locations.list privateca.operations.get privateca.operations.list privateca.certificateRevocationLists.list privateca.certificateRevocationLists.get privateca.certificateRevocationLists.getIamPolicy resourcemanager.projects.get resourcemanager.projects.list
|
Le rôle Auditeur du service CA dispose d'un accès en lecture seule à toutes les ressources du service CA. Il peut récupérer et répertorier les propriétés du pool d'autorités de certification, de l'autorité de certification, des certificats, des listes de révocation, des stratégies IAM et des projets. Nous vous recommandons d'attribuer ce rôle aux personnes chargées de valider la sécurité et les opérations du pool d'autorités de certification, et qui n'ont pas de responsabilités quotidiennes d'administrer le service. |
Demandeur de certificat du service CAroles/privateca.certificateRequester |
privateca.certificates.create
|
Un rôle de demandeur de certificat du service CA peut envoyer des demandes de certificat à un pool d'autorités de certification. Nous vous recommandons d'attribuer ce rôle à des personnes de confiance autorisées à demander des certificats. Un utilisateur disposant de ce rôle peut demander des certificats arbitraires, sous réserve du règlement d'émission. Contrairement au rôle "Gestionnaire de certificats CA Service", ce rôle ne permet pas à l'utilisateur d'obtenir ou de lister le nouveau certificat émis, ni d'obtenir des informations sur le pool d'autorités de certification. |
Demandeur de certificat de charge de travail du service CAroles/privateca.workloadCertificateRequester |
privateca.certificates.createForSelf
|
Un demandeur de certificat de charge de travail du service CA peut demander des certificats du service CA avec l'identité de l'appelant. |
Gestionnaire de certificats du service CAroles/privateca.certificateManager |
Toutes les autorisations de roles/privateca.auditor , plus:privateca.certificates.create
|
Un gestionnaire de certificats du service CA peut envoyer des demandes d’émission de certificats à un pool d’autorités de certification tel que le demandeur de certificat du service CA. De plus, ce rôle hérite également des autorisations du rôle Auditeur du service CA. Nous vous recommandons d'attribuer ce rôle aux personnes chargées de créer, de suivre et d'examiner les demandes de certificat pour un pool d'autorités de certification, comme un responsable ou un ingénieur principal. |
Utilisateur du modèle de certificat du service CAroles/privateca.templateUser |
privateca.certificateTemplates.get privateca.certificateTemplates.list privateca.certificateTemplates.use
|
Un utilisateur du modèle de certificat du service CA peut lire, répertorier et utiliser des modèles de certificat. |
Responsable des opérations du service CAroles/privateca.caManager |
Toutes les autorisations de roles/privateca.auditor , plus :privateca.certificates.update privateca.caPools.create privateca.caPools.delete privateca.caPools.update privateca.certificateAuthorities.create privateca.certificateAuthorities.delete privateca.certificateAuthorities.update privateca.certificateRevocationLists.update privateca.certificateTemplates.create privateca.certificateTemplates.delete privateca.certificateTemplates.update privateca.certificates.update privateca.operations.cancel privateca.operations.delete resourcemanager.projects.get resourcemanager.projects.list storage.buckets.create
|
Un gestionnaire des opérations du service CA peut créer, mettre à jour et supprimer des pools d'autorités de certification et des autorités de certification. Ce rôle peut également révoquer des certificats et créer des buckets Cloud Storage. Il offre également les mêmes capacités que l'auditeur du service CA. Ce rôle consiste à configurer et déployer des pools d'autorités de certification dans l'organisation, ainsi qu'à configurer la stratégie d'émission du pool d'autorités de certification. Ce rôle ne permet pas de créer des certificats. Pour ce faire, utilisez les rôles Demandeur de certificat du service CA, Gestionnaire de certificats du service CA ou Administrateur du service CA. |
Administrateur du service CAroles/privateca.admin |
Toutes les autorisations de roles/privateca.certificateManager ,
et roles/privateca.caManager , plus:privateca.*.setIamPolicy privateca.caPools.use privateca.operations.cancel privateca.operations.delete privateca.resourcemanager.projects.get privateca.resourcemanager.projects.list storage.buckets.create
|
Le rôle Administrateur du service CA hérite des autorisations des rôles CA Service Operation Manager et CA Service Certificate Manager. Ce rôle permet d'effectuer toutes les actions du service CA. Un administrateur du service CA peut définir des stratégies IAM pour le pool d'autorités de certification et créer des buckets Cloud Storage. Nous vous recommandons de rarement attribuer ce rôle une fois le service établi. Ce rôle permet d'effectuer tous les aspects de l'administration, y compris l'attribution de droits à d'autres personnes et la gestion des demandes de certificat dans le service CA. Nous vous recommandons d'implémenter un contrôle et un accès spéciaux à ce compte de rôle pour empêcher tout accès ou toute utilisation non autorisés. |
Rôle d'agent de service CA
Lorsque vous fournissez des clés de signature ou
Cloud Storage pendant la création d'une autorité de certification, le service CA
Compte de service d'agent de service
(service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com
) doit être
accorder l'accès à la ressource concernée.
Pour Cloud KMS, roles/cloudkms.signerVerifier
est nécessaire pour utiliser la clé de signature et lire la clé publique. roles/viewer
est requis pour surveiller
la clé de l'intégration à Cloud Monitoring.
Pour Cloud Storage, roles/storage.objectAdmin
est requis pour écrire le
un certificat CA et des LRC à un bucket. roles/storage.legacyBucketReader
correspond à
requis pour surveiller le bucket afin de l'intégrer à Cloud Monitoring. Pour plus
plus d'informations, consultez la page Rôles IAM pour Cloud Storage.
Pour accéder au service via l'API, exécutez les commandes suivantes.
Créez un compte de service avec le rôle d'agent de service.
gcloud
gcloud beta services identity create --service=privateca.googleapis.com --project=PROJECT_ID
Où :
- PROJECT_ID est l'identifiant unique du projet dans lequel le pool d'autorités de certification est créé.
Attribuez les rôles
roles/cloudkms.signerVerifier
etroles/viewer
à votre compte de service à l'aide de la commandegcloud
suivante.Si des clés de signature Cloud KMS existantes sont fournies:
gcloud
gcloud kms keys add-iam-policy-binding 'CRYPTOKEY_NAME' \ --keyring='KEYRING_NAME' \ --location='LOCATION' \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com' \ --role='roles/cloudkms.signerVerifier'
Où :
- CRYPTOKEY_NAME est le nom de votre clé.
- "KEYRING_NAME" correspond au nom de votre trousseau de clés.
- "LOCATION" correspond à l'emplacement Cloud KMS dans lequel vous avez créé votre trousseau de clés.
- PROJECT_NUMBER correspond au nom de votre compte de service.
gcloud kms keys add-iam-policy-binding 'CRYPTOKEY_NAME' \ --keyring='KEYRING_NAME' \ --location='LOCATION' \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com' \ --role='roles/viewer'
Accordez les rôles
roles/storage.objectAdmin
etroles/storage.legacyBucketReader
à votre compte de service à l'aide de la commandegcloud
suivante.Si des buckets Cloud Storage existants sont fournis:
gcloud
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com \ --role=roles/storage.objectAdmin
Où :
- BUCKET_NAME est le nom du bucket Cloud Storage.
- PROJECT_NUMBER est l'identifiant unique de votre compte de service.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com \ --role=roles/storage.legacyBucketReader
Autorisations des API
Le tableau suivant répertorie les autorisations dont l'appelant doit disposer pour appeler chaque dans l'API CA Service:
Autorisation | Description |
---|---|
privateca.caPools.create |
Créez un pool d'autorités de certification. |
privateca.caPools.update |
Mettre à jour un pool d'autorités de certification. |
privateca.caPools.list |
Répertorier les pools d'autorités de certification dans un projet. |
privateca.caPools.get |
Récupérez un pool d'autorités de certification. |
privateca.caPools.delete |
Supprimer un pool d'autorités de certification. |
privateca.caPools.use |
Utilisez un pool d'autorités de certification. |
privateca.caPools.getIamPolicy |
Récupérez la stratégie IAM du pool d'autorités de certification. |
privateca.caPools.setIamPolicy |
Définissez une stratégie IAM pour le pool d'autorités de certification. |
privateca.certificateAuthorities.create |
Créez une autorité de certification. |
privateca.certificateAuthorities.delete |
Planifiez la suppression d'une autorité de certification. |
privateca.certificateAuthorities.get |
Obtenir une requête de signature de certificat CA ou CA |
privateca.certificateAuthorities.list |
Répertorier les autorités de certification d'un projet |
privateca.certificateAuthorities.update |
Mettre à jour une autorité de certification, y compris activer, activer, désactiver et restaurer l'autorité de certification |
privateca.certificates.create |
Permet de demander des certificats au service CA. |
privateca.certificates.createForSelf |
Demander des certificats au service CA avec l'identité de l'appelant |
privateca.certificates.get |
Obtenir un certificat et ses métadonnées |
privateca.certificates.list |
Répertorier tous les certificats d'une autorité de certification. |
privateca.certificates.update |
Mettre à jour les métadonnées d'un certificat, y compris la révocation. |
privateca.certificateRevocationLists.get |
obtenir une liste de révocation de certificats (LRC) dans une autorité de certification ; |
privateca.certificateRevocationLists.getIamPolicy |
obtenir la stratégie IAM d'une liste de révocation de certificats ; |
privateca.certificateRevocationLists.list |
Répertorier toutes les LRC d'une autorité de certification. |
privateca.certificateRevocationLists.setIamPolicy |
Définissez la stratégie IAM d'une LRC. |
privateca.certificateRevocationLists.update |
Mettez à jour une LRC. |
privateca.certificateTemplates.create |
Créez un modèle de certificat. |
privateca.certificateTemplates.get |
Récupérez un modèle de certificat. |
privateca.certificateTemplates.list |
Répertorier tous les modèles de certificat |
privateca.certificateTemplates.update |
Mettez à jour un modèle de certificat. |
privateca.certificateTemplates.delete |
Supprimez un modèle de certificat. |
privateca.certificateTemplates.getIamPolicy |
Obtenir la stratégie IAM d'un modèle de certificat |
privateca.certificateTemplates.setIamPolicy |
Définissez la stratégie IAM d'un modèle de certificat. |
privateca.certificateTemplates.use |
Utilisez un modèle de certificat. |
privateca.operations.cancel |
Annule une opération de longue durée. |
privateca.operations.delete |
Supprime une opération de longue durée. |
privateca.operations.get |
Obtenir une opération de longue durée |
privateca.operations.list |
Répertorier les opérations de longue durée dans un projet |
Étape suivante
- Découvrez comment IAM centralise la gestion des autorisations et des niveaux d'accès pour les ressources Google Cloud.
- Apprenez à configurer les stratégies IAM.