Google Cloud propose deux contraintes de règle d'administration pour garantir que les CMEK dans une organisation:
constraints/gcp.restrictNonCmekServices
est utilisé pour exiger une clé CMEK de sécurité.constraints/gcp.restrictCmekCryptoKeyProjects
permet de limiter Les clés Cloud KMS sont utilisées pour la protection CMEK.
Les règles d'administration CMEK ne s'appliquent qu'aux ressources nouvellement créées dans les services Google Cloud compatibles.
Rôles requis
Pour s'assurer que chaque utilisateur dispose des
des autorisations pour vérifier les règles d'administration lors de la création de ressources,
demandez à votre administrateur d'accorder à chaque utilisateur
rôle IAM Lecteur des règles d'administration (roles/orgpolicy.policyViewer
) sur votre organisation.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour vérifier les règles de l'organisation lors de la création de ressources. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour vérifier les règles d'administration de l'organisation lors de la création de ressources :
-
Pour afficher les détails complets des règles d'administration:
orgpolicy.policy.get
-
Pour vérifier les règles d'administration lors de la création de ressources:
orgpolicy.policies.check
Votre administrateur peut également attribuer à chaque utilisateur ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Lorsque les règles d'administration de l'organisation sont actives, l'autorisation orgpolicy.policies.check
est requise pour les utilisateurs de la console Google Cloud qui créent des ressources protégées par des clés CMEK. Les utilisateurs ne disposant pas de cette autorisation peuvent créer
à l'aide de la console Google Cloud, mais il peut sélectionner une clé CMEK
n'est pas autorisé par la contrainte restrictCmekCryptoKeyProjects
. Lorsqu'une clé qui ne respecte pas cette contrainte est sélectionnée, la création de ressources échoue à terme.
Exiger la protection CMEK
Afin d'exiger la protection CMEK pour votre organisation, configurez
Règle d'administration constraints/gcp.restrictNonCmekServices
.
Les valeurs acceptées pour cette contrainte sont les suivantes : Google Cloud,
(par exemple, sqladmin.googleapis.com
). Utiliser cette contrainte
en fournissant une liste de noms de services Google Cloud et en définissant la contrainte sur
Refuser. Cette configuration bloque la création de ressources dans ces services si la ressource n'est pas protégée par CMEK. Dans
Autrement dit, les requêtes de création de ressource dans le service n'aboutissent pas
en spécifiant une clé Cloud KMS. De plus, cette contrainte bloque la suppression de la protection CMEK des ressources de ces services. Cette contrainte ne peut être appliquée qu'aux services compatibles.
Limiter l'utilisation de clés Cloud KMS pour les CMEK
Pour limiter les clés Cloud KMS utilisées pour la protection CMEK, configurez la contrainte constraints/gcp.restrictCmekCryptoKeyProjects
.
En tant que contrainte de liste, les valeurs acceptées sont des indicateurs de hiérarchie des ressources (par exemple, projects/PROJECT_ID
, under:folders/FOLDER_ID
et under:organizations/ORGANIZATION_ID
). Utilisez cette contrainte en configurant une liste d'indicateurs de hiérarchie des ressources et en définissant la contrainte sur Allow (Autoriser).
Cette configuration limite les services compatibles afin que les clés CMEK puissent être choisies
uniquement à partir des projets, dossiers et organisations répertoriés. Les requêtes de création de ressources protégées par CMEK dans les services configurés échouent sans clé Cloud KMS provenant de l'une des ressources autorisées. Lorsqu'elle est configurée, cette contrainte s'applique à tous les services compatibles.
Services compatibles
Service | Valeur de contrainte lorsque le chiffrement CMEK est requis |
---|---|
AlloyDB pour PostgreSQL | alloydb.googleapis.com |
Apigee | apigee.googleapis.com |
Application Integration | integrations.googleapis.com |
Artifact Registry | artifactregistry.googleapis.com |
BigQuery | bigquery.googleapis.com |
Bigtable | bigtable.googleapis.com |
Cloud Composer | composer.googleapis.com |
Cloud Logging | logging.googleapis.com |
Cloud Run | run.googleapis.com |
Fonctions Cloud Run | cloudfunctions.googleapis.com |
Cloud SQL | sqladmin.googleapis.com |
Cloud Storage | storage.googleapis.com |
Cloud Workstations | workstations.googleapis.com |
Colab Enterprise | aiplatform.googleapis.com |
Compute Engine | compute.googleapis.com |
Dataflow | dataflow.googleapis.com |
Dataproc | dataproc.googleapis.com |
Document AI | documentai.googleapis.com |
Filestore | file.googleapis.com |
Firestore | firestore.googleapis.com |
Google Kubernetes Engine (Preview) | container.googleapis.com |
Memorystore pour Redis | redis.googleapis.com |
Pub/Sub | pubsub.googleapis.com |
Secret Manager | secretmanager.googleapis.com |
Secure Source Manager | securesourcemanager.googleapis.com |
Spanner | spanner.googleapis.com |
Speech-to-Text | speech.googleapis.com |
Vertex AI | aiplatform.googleapis.com |
Vertex AI Agent Builder | discoveryengine.googleapis.com |
Instances Vertex AI Workbench | notebooks.googleapis.com |
Règles d'administration CMEK et service de transfert de stockage
Bien que le service de transfert de stockage ne dispose pas d'une intégration CMEK, il peut être utilisé
avec des règles d'administration CMEK. Si vous utilisez le service de transfert de stockage
vérifier que les identifiants de la base de données stockés dans Secret Manager sont
protégées par une CMEK, vous devez ajouter storagetransfer.googleapis.com
et
secretmanager.googleapis.com
jusqu'au constraints/gcp.restrictNonCmekServices
d'une contrainte. Pour en savoir plus, consultez la documentation CMEK du service de transfert de stockage
documentation.
Exceptions d'application par type de ressource
Les contraintes de règles d'administration CMEK sont appliquées lors de la création d'une ressource ou lors de la modification (le cas échéant) de la clé Cloud KMS d'une ressource existante. En règle générale, elles sont appliquées à tous les types de ressources d'un service des CMEK et uniquement en fonction de la configuration de la ressource. Quelques notions les exceptions sont résumées ici:
Type de ressource | Exception à la mise en application |
---|---|
bigquery.googleapis.com/Dataset |
Application partielle sur la clé Cloud KMS par défaut de l'ensemble de données (gcp.restrictCmekCryptoKeyProjects uniquement)
|
bigquery.googleapis.com/Job |
Jobs de requête uniquement : appliqué à la clé Cloud KMS fournie avec la requête ou par défaut du projet de facturation. Consultez également la configuration distincte de la clé Cloud KMS par défaut du projet. |
bigquerydatatransfer.googleapis.com/TransferConfig |
Les configurations de transfert utilisent le nom de service du service de transfert de données (bigquerydatatransfer.googleapis.com) pour les contraintes de règles d'organisation CMEK. |
container.googleapis.com/Cluster |
(Preview) Obligatoire pour la clé Cloud KMS du disque de démarrage du nœud uniquement, non obligatoire pour les secrets au niveau de la couche application |
logging.googleapis.com/LogBucket |
Appliqué aux buckets de journaux créés explicitement. Consultez également la configuration requise pour garantir la conformité des buckets de journaux intégrés. |
storage.googleapis.com/Bucket |
Appliquée sur la clé Cloud KMS par défaut du bucket |
storage.googleapis.com/Object |
Appliqué indépendamment du bucket voir également les Configuration de la clé Cloud KMS par défaut du bucket |
Exemples de configuration
Dans les exemples de configuration, supposons que l'organisation de l'exemple dispose des éléments suivants : hiérarchie des ressources:
Exiger des CMEK et limiter les clés pour un projet
Supposons que vous souhaitiez exiger une protection CMEK pour toutes les ressources Cloud Storage sous projects/5
et vous assurer que seules les clés provenant de projects/4
peuvent être utilisées.
Pour exiger la protection CMEK pour toutes les nouvelles ressources Cloud Storage, utilisez le paramètre de règle d'administration suivant:
- Règle d'administration de l'organisation :
constraints/gcp.restrictNonCmekServices
- Liaison à :
projects/5
- Type de règle: Deny
- Valeur de la règle:
storage.googleapis.com
Pour vous assurer que seules les clés de projects/4
sont utilisées, utilisez la configuration suivante:
- Règle d'administration de l'organisation :
constraints/gcp.restrictCmekCryptoKeyProjects
- Liaison à :
projects/5
- Type de règle: Autoriser
- Valeur de la règle :
projects/4
Exiger les CMEK et limiter les clés à un dossier
Supposons également que vous prévoyez d'ajouter d'autres projets Cloud KMS sous folders/2
à l'avenir et que vous souhaitiez exiger CMEK de manière plus large dans folders/3
. Pour ce scénario, vous avez besoin
de fonctionnalités légèrement différentes
de configuration.
Pour exiger une protection CMEK supplémentaire pour les nouvelles ressources Cloud SQL et Cloud Storage dans folders/3
:
- Règle d'administration:
constraints/gcp.restrictNonCmekServices
- Liaison à :
folders/3
- Type de règle : Refuser
- Valeurs de stratégie :
sqladmin.googleapis.com
,storage.googleapis.com
Pour vous assurer que seules les clés des projets Cloud KMS sous folders/2
sont utilisées :
- Règle d'administration de l'organisation :
constraints/gcp.restrictCmekCryptoKeyProjects
- Liaison à :
folders/3
- Type de règle: Autoriser
- Valeur de la règle:
under:folders/2
Exiger une clé CMEK pour une organisation
Pour exiger CMEK partout dans l'organisation (dans les services compatibles), configurez la contrainte constraints/gcp.restrictNonCmekServices
avec le paramètre suivant :
- Règle d'administration:
constraints/gcp.restrictNonCmekServices
- Liaison à :
organizations/1
- Type de règle : Refuser
- Valeurs des règles : (tous les services compatibles)
Limites
Si vous utilisez la console Google Cloud pour créer une ressource, vous remarquerez peut-être que vous ne pouvez utiliser aucune autre option de chiffrement que CMEK lorsque constraints/gcp.restrictNonCmekServices
est configuré pour un projet et un service. La restriction liée aux règles d'administration CMEK n'est visible que lorsque le compte client a reçu l'autorisation IAM orgpolicy.policy.get
sur le projet.
Étape suivante
Pour en savoir plus sur les avantages et les cas d'utilisation courants des règles d'administration, consultez la page Présentation du service de règles d'administration.
Pour voir d'autres exemples de création d'une règle d'administration avec des règles contraintes, consultez la section Utiliser contraintes.