Règles d'administration CMEK

Google Cloud propose deux contraintes de règle d'administration pour vous aider à vous assurer 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.

Règles d'administration CMEK ne s'appliquent qu'aux ressources nouvellement créées dans 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 section Gérer les accès.

Ce rôle prédéfini contient les autorisations requises pour vérifier les règles d'administration 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 lors de la création de ressources:

  • Pour afficher tous les détails d'une règle 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 sont actives, l'autorisation orgpolicy.policies.check est requis 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 répond pas à cette contrainte est sélectionné, la création de la ressource finit par échouer.

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 empêche la création de ressources dans ces si la ressource n'est pas protégée par une clé 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 peuvent s'appliquer 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, configurer la contrainte constraints/gcp.restrictCmekCryptoKeyProjects.

En tant que contrainte de liste, les valeurs acceptées sont des indicateurs de hiérarchie de ressources (par exemple, exemple : projects/PROJECT_ID, under:folders/FOLDER_ID et under:organizations/ORGANIZATION_ID). Utilisez cette contrainte en configurant liste d'indicateurs de hiérarchie des ressources et définir 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. Demandes de création Dans les services configurés, les ressources protégées par une clé CMEK ne fonctionnent pas clé Cloud KMS de l'une des ressources autorisées. Si elle est configurée, Cette contrainte s'applique à tous les services compatibles.

Services compatibles

Service Valeur de contrainte en cas d'exigence d'une clé CMEK
Application Integration integrations.googleapis.com
Artifact Registry artifactregistry.googleapis.com
BigQuery bigquery.googleapis.com
Bigtable bigtable.googleapis.com
Cloud Composer composer.googleapis.com
Cloud Functions cloudfunctions.googleapis.com
Cloud Logging logging.googleapis.com
Cloud Run run.googleapis.com
Cloud SQL sqladmin.googleapis.com
Cloud Storage storage.googleapis.com
Cloud Workstations workstations.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 (Preview) firestore.googleapis.com
Google Kubernetes Engine (Preview) container.googleapis.com
Pub/Sub pubsub.googleapis.com
Secret Manager secretmanager.googleapis.com
Spanner spanner.googleapis.com
Vertex AI aiplatform.googleapis.com
Instances Vertex AI Workbench notebooks.googleapis.com

Exceptions d'application par type de ressource

Les contraintes liées aux règles d'administration CMEK sont appliquées lors de la création d'une ressource ou lorsque vous modifiez (si compatible) la clé Cloud KMS d'une ressource. 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 Partiellement appliquée à 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és à la clé Cloud KMS fournie avec la requête ou "default" à partir du projet de facturation. consultez également les configurations de projet clé Cloud KMS par défaut
bigquerydatatransfer.googleapis.com/TransferConfig Les configurations de transfert utilisent le nom du service de transfert de données (bigquerydatatransfer.googleapis.com) pour les contraintes liées aux règles d'administration des clés CMEK.
container.googleapis.com/Cluster (Preview) Appliquée sur la clé Cloud KMS pour le démarrage des nœuds disque uniquement ; non appliquées aux secrets au niveau de la couche d'application
logging.googleapis.com/LogBucket Appliqué sur les buckets de journaux créés explicitement consultez également les paramètres de configuration 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:

Schéma d'une hiérarchie de ressources d'organisation

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é.

Pour exiger une protection CMEK pour toutes les nouvelles ressources Cloud Storage, utilisez le paramètre de règle d'administration suivant:

  • Règle d'administration: 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: constraints/gcp.restrictCmekCryptoKeyProjects
  • Liaison à: projects/5
  • Type de règle: Autoriser
  • Valeur de la règle: projects/4

Exiger des CMEK et limiter les clés au sein d'un dossier

Supposons également que vous prévoyez d'ajouter d'autres ressources Cloud KMS projets sous folders/2 à l'avenir et souhaitent étendre l'utilisation des CMEK dans folders/3. Pour ce scénario, vous avez besoin de fonctionnalités légèrement différentes de configuration.

Exiger une protection CMEK supplémentaire pour le nouveau service Cloud SQL et Cloud Storage ressources n'importe où sous folders/3:

  • Règle d'administration: constraints/gcp.restrictNonCmekServices
  • Liaison à: folders/3
  • Type de règle: Deny
  • Valeurs de la règle: sqladmin.googleapis.com, storage.googleapis.com

Pour garantir que seules les clés des projets Cloud KMS de folders/2 sont utilisés:

  • Règle d'administration: 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 l'utilisation de 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: Deny
  • 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 vous ne pouvez pas utiliser d'autres options de chiffrement que CMEK constraints/gcp.restrictNonCmekServices est configurée pour un projet et Google Cloud. La restriction de règle d'administration CMEK n'est visible que lorsque le le compte client dispose du rôle IAM orgpolicy.policy.get sur le projet.

Étape suivante

Voir Présentation des règles d'administration d'assistance pour en savoir plus sur les avantages et les cas d'utilisation courants des 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.