Ce document explique comment utiliser les stratégies de refus IAM et les contraintes liées aux règles d'administration pour contrôler l'utilisation d'Autokey dans une organisation ou un dossier. Ces deux garde-fous ne peuvent être modifiés qu'avec des rôles au niveau de l'organisation. Les comptes principaux disposant de rôles de propriétaire ou d'administrateur au niveau du dossier ou du projet ne peuvent donc pas les remplacer.
Les cas d'utilisation suivants sont pris en charge :
- Exiger que les clés soient créées par Autokey. Vous pouvez empêcher les comptes principaux de créer manuellement des clés, ce qui garantit que toutes les clés sont créées par Autokey. Dans les ressources où Autokey n'est pas activé, vous ne pourrez pas créer de clés.
- Restreindre Autokey pour n'autoriser que le stockage des clés dans un projet dédié ou dans le même projet.
- Bloquer complètement Autokey. Cela garantit que toutes les clés sont créées manuellement.
IAM ou règle d'administration
IAM et les règles d'administration vous permettent de définir des garde-fous pour contrôler l'utilisation de Cloud KMS Autokey dans votre organisation.
IAM contrôle qui est autorisé à effectuer quelles actions sur quelles ressources. Vous pouvez utiliser IAM pour limiter les comptes principaux qui peuvent activer et utiliser Autokey dans votre organisation.
Les règles d'administration contrôlent les ressources qui peuvent être créées et comment elles peuvent être configurées. Vous pouvez utiliser des règles d'administration personnalisées pour limiter où et comment Autokey peut être activé.
Vous pouvez utiliser IAM et les règles d'administration ensemble pour créer un système de garde-fous robuste afin de contrôler qui peut activer et utiliser Autokey, ainsi que où et comment il peut le faire.
Avant de commencer
Pour obtenir les autorisations nécessaires pour contrôler l'utilisation d'Autokey, demandez à votre administrateur de vous accorder les rôles IAM suivants sur l'organisation :
-
Définir une règle d'administration :
Administrateur des règles d'administration (
roles/orgpolicy.policyAdmin) -
Définir des stratégies de refus IAM :
administrateur des refus (
roles/iam.denyAdmin)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Utiliser des stratégies de refus IAM pour contrôler Autokey
Les stratégies de refus IAM offrent un contrôle descendant sur les comptes principaux qui peuvent effectuer quelles actions. Les stratégies de refus définies sur une ressource ne peuvent pas être remplacées par des attributions de rôle IAM ni par des stratégies de refus définies sur une ressource enfant. Les comptes principaux ne peuvent pas effectuer d'actions nécessitant des autorisations refusées, même si l'autorisation est incluse dans un rôle dont ils disposent.
Pour savoir comment créer des stratégies de refus IAM, consultez la section Refuser l'accès aux ressources.
Le tableau suivant présente quelques exemples de cas d'utilisation des stratégies de refus IAM, y compris les autorisations que vous pouvez refuser pour contrôler Autokey dans votre organisation et l'effet du refus de chaque autorisation.
Utiliser des contraintes personnalisées liées aux règles d'administration pour contrôler Autokey
Les contraintes personnalisées liées aux règles d'administration offrent un contrôle ascendant sur l'endroit et la manière dont Autokey peut être configuré. Les contraintes peuvent être remplacées par des contraintes appliquées à une ressource enfant. Toutefois, la modification des contraintes nécessite des autorisations au niveau de l'organisation. Les comptes principaux disposant d'autorisations au niveau du dossier ou du projet ne peuvent donc pas remplacer les contraintes. Lorsque les contraintes sont appliquées, les comptes principaux ne peuvent pas effectuer d'actions interdites, même s'ils disposent des autorisations requises pour le faire.
Pour savoir comment appliquer des contraintes personnalisées dans votre organisation, consultez Créer des contraintes personnalisées liées aux règles d'administration pour Cloud KMS.
Vous pouvez combiner les contraintes personnalisées liées aux règles d'administration décrites ici avec d'autres règles d'administration CMEK.
Restreindre le mode Autokey
Vous pouvez restreindre les fonctionnalités d'Autokey en bloquant de manière conditionnelle la création de ressources AutokeyConfig. L'exemple de définition de contrainte suivant interdit la création ou la mise à jour de ressources AutokeyConfig en fonction de leur keyProjectResolutionMode.
name: organizations/ORGANIZATION_ID/customConstraints/custom.restrictAutokeyKeyStorage
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: "resource.keyProjectResolutionMode == 'KEY_PROJECT_RESOLUTION_MODE')"
actionType: DENY
displayName: Restrict Autokey key storage mode
description: >
Prevent creation or update of AutokeyConfig resources with
`KEY_PROJECT_RESOLUTION_MODE` key resolution mode.
Remplacez KEY_PROJECT_RESOLUTION_MODE par le keyProjectResolutionMode que vous souhaitez bloquer. Par exemple, pour empêcher quiconque dans votre organisation d'utiliser le stockage des clés dans le même projet dans ses projets, définissez cette valeur sur RESOURCE_PROJECT.
Interdire la création d'une configuration Autokey dans un dossier
Vous pouvez utiliser des règles d'administration personnalisées pour empêcher l'activation d'Autokey dans un dossier en bloquant la création de toutes les ressources AutokeyConfig.
L'exemple de définition de contrainte suivant interdit la création de ressources AutokeyConfig dans un dossier nommé. Lorsque cette contrainte est appliquée, toutes les configurations existantes peuvent toujours être modifiées.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noNewAutokeyConfigFolder
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
condition: "resource.name == 'folders/FOLDER_ID/autokeyConfig'"
actionType: DENY
displayName: Prohibit Autokey within FOLDER_ID
description: >
Prevent creation of new AutokeyConfig resources within
folders/FOLDER_ID.
Remplacez les éléments suivants :
ORGANIZATION_ID: identifiant de votre organisation.FOLDER_IDpar l'identifiant du dossier dans lequel vous souhaitez bloquer Autokey.
Interdire la création d'une configuration Autokey dans une organisation
Vous pouvez utiliser des règles d'administration personnalisées pour empêcher l'activation d'Autokey dans l'ensemble de votre organisation en bloquant la création de toutes les ressources AutokeyConfig.
L'exemple de définition de contrainte suivant interdit la création de ressources AutokeyConfig dans l'ensemble de votre organisation. Lorsque cette contrainte est appliquée, toutes les configurations existantes peuvent toujours être modifiées.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noNewAutokeyConfigOrg
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
condition: "resource.name.endsWith('/autokeyConfig')"
actionType: DENY
displayName: Prohibit Autokey within ORGANIZATION_ID
description: >
Prevent creation of new AutokeyConfig resources within organization
ORGANIZATION_ID.
Remplacez ORGANIZATION_ID par l'identifiant de votre organisation.
Interdire la modification de la configuration Autokey dans un dossier
Vous pouvez utiliser des règles d'administration personnalisées pour empêcher la modification des configurations Autokey dans un dossier en bloquant la création ou la mise à jour de toutes les ressources AutokeyConfig.
L'exemple de définition de contrainte suivant interdit la création ou la mise à jour de ressources AutokeyConfig dans un dossier nommé.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noChangeAutokeyConfigFolder
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: "resource.name == 'folders/FOLDER_ID/autokeyConfig'"
actionType: DENY
displayName: Prohibit Autokey within FOLDER_ID
description: >
Prevent creation or update of AutokeyConfig resources within
folders/FOLDER_ID.
Remplacez les éléments suivants :
ORGANIZATION_ID: identifiant de votre organisation.FOLDER_IDpar l'identifiant du dossier dans lequel vous souhaitez bloquer Autokey.
Interdire la modification de la configuration Autokey dans une organisation
Vous pouvez utiliser des règles d'administration personnalisées pour empêcher la modification des configurations Autokey dans l'ensemble de votre organisation en bloquant la création ou la mise à jour de toutes les ressources AutokeyConfig.
L'exemple de définition de contrainte suivant interdit la création ou la mise à jour de ressources AutokeyConfig dans l'ensemble de votre organisation.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noChangeAutokeyConfigOrg
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: condition: "resource.name.endsWith('/autokeyConfig')"
actionType: DENY
displayName: Prohibit Autokey within ORGANIZATION_ID
description: >
Prevent creation or update of AutokeyConfig resources within
ORGANIZATION_ID.
Remplacez ORGANIZATION_ID par l'identifiant de votre organisation.
N'autoriser que la configuration Autokey DISABLED
L'exemple de définition de contrainte suivant interdit à quiconque de créer ou de mettre à jour une ressource AutokeyConfig dans l'ensemble d'une organisation, sauf si le keyProjectResolutionMode est explicitement défini sur DISABLED.
name: organizations/ORGANIZATION_ID/customConstraints/custom.onlyDisabledAutokeyConfig
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: "resource.keyProjectResolutionMode=='DISABLED'"
actionType: ALLOW
displayName: Prohibit Autokey within the organization
description: >
Prevent creation or update of `AutokeyConfig` resources within
organization ORGANIZATION_ID unless the `keyProjectResolutionMode`
is `DISABLED`.
Interdire la configuration Autokey au niveau du projet
L'exemple de définition de contrainte suivant interdit à quiconque de créer ou de mettre à jour une ressource AutokeyConfig dans un projet, sans bloquer les configurations au niveau du dossier. Lorsque cette contrainte est appliquée, toutes les ressources AutokeyConfig existantes au niveau du projet restent en vigueur, mais tous les autres projets doivent continuer à hériter du AutokeyConfig de leur dossier parent.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noAutokeyConfigProject
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: "resource.name.startsWith('projects/')"
actionType: DENY
displayName: Block project-level Autokey within the organization
description: >
Prevent creation or update of `AutokeyConfig` resources on projects within
organization ORGANIZATION_ID. Existing project-level AutokeyConfig
resources remain in effect, but all other projects must inherit the
AutokeyConfig from their parent folder.
Exemples de cas d'utilisation
Les sections suivantes fournissent des exemples combinant des stratégies de refus IAM, des règles d'administration personnalisées et des règles d'administration standards.
Exiger que les clés soient créées par Autokey
Si vous souhaitez exiger l'utilisation de CMEK avec Autokey dans un dossier, vous pouvez le faire en combinant les contrôles d'accès IAM avec les règles d'administration CMEK. Pour ce faire, supprimez les autorisations de création de clés des comptes principaux autres que l'agent de service Cloud KMS, puis exigez que toutes les ressources soient protégées par CMEK à l'aide du projet de clés Autokey.
Pour appliquer l'utilisation d'Autokey dans un dossier, procédez comme suit :
Bloquez la création manuelle de clés dans le projet de clés en appliquant une stratégie de refus IAM. Dans la stratégie de refus, refusez l'autorisation
cloudkms.cryptoKeys.createà tous les comptes principaux, à l'exception de l'agent de service Cloud KMS. Si le dossier utilise le stockage des clés dans un projet dédié, appliquez la stratégie de refus au projet de clés dédié. Si le dossier utilise le stockage des clés dans le même projet, appliquez la stratégie de refus aux projets de ressources.Lorsque les clés ne peuvent pas être créées manuellement, seules les clés créées par Autokey peuvent être créées dans ces projets.
Exigez que les nouvelles ressources créées dans le dossier soient protégées à l'aide de CMEK en appliquant la contrainte
constraints/gcp.restrictNonCmekServices.Pour en savoir plus sur cette contrainte, y compris la liste des services compatibles avec la contrainte, consultez Exiger la protection CMEK.
Exigez que les clés utilisées pour CMEK proviennent d'un projet de clés dédié ou de projets dans lesquels le stockage des clés dans le même projet est activé en appliquant la contrainte
constraints/gcp.restrictCmekCryptoKeyProjects. Pour en savoir plus sur cette contrainte, y compris la liste des services compatibles avec la contrainte, consultez Limiter l'utilisation des clés Cloud KMS pour CMEK.
Interdire complètement Autokey
Si vous souhaitez bloquer complètement l'utilisation d'Autokey dans une organisation ou un dossier, vous pouvez le faire à l'aide de stratégies de refus IAM ou de contraintes personnalisées liées aux règles d'administration. Pour une assurance multicouche, vous pouvez utiliser les deux.
Pour bloquer complètement Autokey dans une organisation ou un dossier, procédez comme suit :
Si Autokey est déjà activé quelque part dans l'organisation ou le dossier, désactivez Autokey d'abord.
Empêchez les utilisateurs de configurer Autokey en appliquant une stratégie de refus IAM. Dans la stratégie de refus, refusez l'autorisation
cloudkms.autokeyConfigs.updateà tous les comptes principaux. Lorsque Autokey est désactivé partout et qu'aucun compte principal n'est en mesure de modifier les ressourcesAutokeyConfig, Autokey reste complètement désactivé.Facultatif : Les étapes ci-dessus suffisent à empêcher quiconque d'activer Autokey. Toutefois, si vous souhaitez une autre couche d'assurance, vous pouvez également appliquer une contrainte personnalisée liée aux règles d'administration pour n'autoriser que
AutokeyConfigles ressources où Autokey est désactivé.
Si vous appliquez à la fois la stratégie de refus IAM et la contrainte personnalisée liée aux règles d'administration décrites ici, aucun compte principal ne pourra activer Autokey dans la ressource sans d'abord annuler ou mettre à jour ces deux garde-fous.
Étape suivante
- En savoir plus sur les règles d'administration CMEK.
- En savoir plus sur les stratégies de refus IAM.
- En savoir plus sur le service de règles d'administration.
- En savoir plus sur les contraintes personnalisées liées aux règles d'administration