Utiliser des contraintes liées aux règles d'administration dans Apigee

Cette page décrit l'utilisation des contraintes liées aux règles d'administration avec Apigee.

Toutes les fonctionnalités d'Apigee n'utilisent pas le CMEK pour le chiffrement des données sensibles. Pour éviter que les données nécessitant un chiffrement avec CMEK n'utilisent involontairement des fonctionnalités non protégées par CMEK, ces fonctionnalités seront désactivées pour les projets soumis à des contraintes CMEK jusqu'à ce qu'elles soient conformes. Seules les nouvelles utilisations des fonctionnalités seront désactivées (création de ressources ou activation d'un module complémentaire). Les fonctionnalités et les ressources déjà utilisées resteront disponibles et modifiables, mais ne seront pas protégées.

La création d'organisations d'évaluation est bloquée par l'API gcloud alpha apigee organizations et par l'assistant de provisionnement d'évaluation. Lorsque vous essayez d'afficher l'assistant de provisionnement d'évaluation, le message suivant s'affiche : L'évaluation Apigee n'est pas disponible.

Pour en savoir plus sur les fonctionnalités désactivées pour les projets soumis à des contraintes CMEK, consultez la section Contraintes liées aux règles d'administration.

Conditions d'utilisation

Les termes suivants sont utilisés dans cette rubrique :

Terme Définition
CMEK Clé de chiffrement gérée par le client. Pour en savoir plus, consultez Clés de chiffrement gérées par le client.
contraintes liées aux règles d'administration Une contrainte est un type de restriction donné appliqué à un service Google Cloud ou à une liste de services Google Cloud. En ce qui concerne le CMEK, il existe deux contraintes pertinentes :
  • constraints/gcp.restrictNonCmekServices
  • constraints/gcp.restrictCmekCryptoKeyProjects
Application Une garantie que les systèmes backend d'Apigee respecteront la contrainte d'un projet (contraintes CMEK dans ce cas)
Prévalidation Comportements de l'interface utilisateur qui vous guident dans la sélection de configurations valides dans Apigee conformément aux règles d'administration CMEK et qui n'exposent pas les fonctionnalités non conformes
Ressources Ressources Apigee telles que les organisations et les instances

Comment limiter les services non-CMEK

Cette section explique comment restreindre les services autres que CMEK.

  1. Remplissez les conditions préalables.
  2. Sélectionnez votre projet dans la console Google Cloud.
  3. Créez une contrainte liée aux règles d'administration.
  4. Provisionnez Apigee.

Prérequis

Vous devez prendre les mesures suivantes :

Ouvrir le projet

  1. Dans la console Google Cloud, accédez à la page Tableau de bord.

    Accéder à Google Dashboard

  2. Sélectionnez votre projet dans la liste déroulante de la console Google Cloud s'il n'est pas déjà sélectionné.

Créer une contrainte liée aux règles d'administration

Les règles d'administration sont définies par les valeurs indiquées pour chaque contrainte. Elles sont personnalisées au niveau de cette ressource, héritées de la ressource parente ou réglées sur le comportement par défaut géré par Google. Dans ce cas, vous allez créer une contrainte qui exige des CMEK et qui sera appliquée au projet et à toutes les ressources qui en héritent.

Pour vous assurer que les clés de chiffrement gérées par le client sont toujours utilisées lorsque vous chiffrez vos données dans Apigee, créez la contrainte liée aux règles d'administration suivante :

  1. Dans la console Google Cloud, accédez à la page Règles d'administration.

    Accéder à la page Règles d'administration

  2. Sélectionnez votre projet dans la liste déroulante de la console Google Cloud s'il n'est pas déjà sélectionné.
  3. Dans la zone Filtre, procédez comme suit :
    constraints/gcp.restrictNonCmekServices
  4. Cliquez sur Plus > Modifier la règle. Si l'option Modifier est désactivée, vous ne disposez pas des autorisations requises et devez demander à votre administrateur de vous accorder le rôle IAM Administrateur des règles d'administration (roles/orgpolicy.policyAdmin) dans l'organisation. Pour en savoir plus, consultez la section Prérequis.
  5. Pour Source de la règle, sélectionnez Remplacer la règle parente. Cette ressource aura une règle unique. À l'étape suivante, vous spécifierez la façon dont les règles de stratégie parentes sont gérées.
  6. Pour Application des règles, sélectionnez l'une des options suivantes :
    • Remplacer. Cette option ignore la règle parente et utilise ces règles.
    • Fusionner avec le parent. Cette option ajoute des règles à celles définies par la ressource parente.

    Pour en savoir plus sur l'héritage des règles d'administration, consultez Comprendre le processus d'évaluation hiérarchique.

  7. Cliquez sur Ajouter une règle.
  8. Pour Valeurs de règles, sélectionnez Personnalisé.
  9. Pour Type de règle, sélectionnez Refuser.
  10. Pour Valeurs personnalisées, procédez comme suit :
    apigee.googleapis.com
  11. Cliquez sur OK.
  12. Cliquez sur Définir la règle. La page Détails des règles s'affiche.

Une fois que vous avez configuré la règle et sélectionné un projet qui hérite/utilise la règle, vous êtes prêt à provisionner Apigee. Notez que les ressources Apigee créées avant la configuration des règles d'administration CMEK ne sont pas forcément conformes. Seules les nouvelles ressources créées après la mise en place de la règle respectent les contraintes CMEK.

Voir également :

Provisionner Apigee

Le provisionnement d'Apigee lorsque vous avez des contraintes liées aux règles d'administration suit les mêmes étapes que le provisionnement d'Apigee lorsque vous n'avez pas de contraintes liées aux règles d'administration. Toutefois, l'interface utilisateur vous empêche de faire des sélections non compatibles.

Cette section décrit les endroits où l'interface utilisateur vous guide pour effectuer des sélections.

  1. Dans la console Google Cloud, accédez à la page Apigee.

    Accéder à Apigee

  2. Sélectionnez votre projet dans la liste déroulante de la console Google Cloud s'il n'est pas déjà sélectionné.
  3. Sur la page Bienvenue dans la gestion des API Apigee, l'option Configurer à l'aide des valeurs par défaut est désactivée, car vous devez sélectionner explicitement les CMEK. Cliquez sur Personnaliser votre configuration.
  4. Activer les API : activez les API requises comme décrit à l'étape 1 : Activer les API requises.
  5. Configurer la mise en réseau : configurez la mise en réseau comme décrit à l'étape 2.
  6. Configurer l'hébergement et le chiffrement :

    Parcours utilisateur D : chiffrement géré par le client et résidence des données est le seul parcours utilisateur pertinent pour les contraintes liées aux règles d'administration qui limitent les services non-CMEK.

    1. Cliquez sur Modifier pour ouvrir le panneau Hébergement et clés de chiffrement.
    2. Dans la section Type de chiffrement, la clé de chiffrement gérée par Google est désactivée, tandis que la clé de chiffrement gérée par le client est activée et ne peut pas être désactivée.
    3. Cliquez sur Suivant.
    4. Dans la section Plan de contrôle, l'option Activer la résidence des données est activée et ne peut pas être désactivée.
    5. Continuez à configurer l'hébergement et le chiffrement comme décrit à l'étape 3.b. du Parcours utilisateur D : chiffrement géré par le client et résidence des données.
  7. Personnaliser le routage d'accès : personnalisez le routage d'accès comme décrit à l'étape 4.

Limiter les projets de clés chiffrées CMEK

Cette section explique comment restreindre les projets de clés de chiffrement CMEK.

Vous pouvez limiter les projets pouvant fournir des clés de chiffrement via une autre contrainte liée aux règles d'administration : constraints/gcp.restrictCmekCryptoKeyProjects. Cette contrainte vous permet d'autoriser les projets à partir desquels les clés de chiffrement peuvent être utilisées.

Cette contrainte s'applique partout où vous pouvez sélectionner une règle CMEK, c'est-à-dire lors du provisionnement d'Apigee ou de la création d'une instance Apigee.

Si le projet actuel sélectionné dans la console Google Cloud n'est pas autorisé dans la contrainte restrictCmekCryptoKeyProjects, vous ne pourrez pas sélectionner de clés dans la zone de sélection des clés de chiffrement. Vous devrez utiliser une clé provenant d'un projet figurant sur la liste d'autorisation.

Prérequis

Vous devez prendre les mesures suivantes :

Ouvrir le projet

  1. Dans la console Google Cloud, accédez à la page Tableau de bord.

    Accéder à Google Dashboard

  2. Sélectionnez votre projet dans la liste déroulante de la console Google Cloud s'il n'est pas déjà sélectionné.

Créer une contrainte liée aux règles d'administration

Les règles d'administration sont définies par les valeurs indiquées pour chaque contrainte. Elles sont configurées au niveau de cette ressource, héritées de la ressource parente ou réglées sur le comportement par défaut géré par Google. Dans ce cas, vous allez créer une contrainte qui n'autorise les clés que pour les projets figurant sur la liste d'autorisation. Cette contrainte sera appliquée au projet et à toutes les ressources qui en héritent.

Pour vous assurer que les clés de chiffrement gérées par le client ne sont utilisées que depuis des projets spécifiques, ajoutez-les à une liste d'autorisation :

  1. Dans la console Google Cloud, accédez à la page Règles d'administration.

    Accéder à la page Règles d'administration

  2. Sélectionnez votre projet dans la liste déroulante de la console Google Cloud s'il n'est pas déjà sélectionné.
  3. Dans la zone Filtre, procédez comme suit :
    restrictCmekCryptoKeyProjects
  4. Cliquez sur Plus > Modifier la règle. Si l'option Modifier est désactivée, vous ne disposez pas des autorisations requises et devez demander à votre administrateur de vous accorder le rôle IAM Administrateur des règles d'administration (roles/orgpolicy.policyAdmin) dans l'organisation. Pour en savoir plus, consultez la section Prérequis.
  5. Pour Source de la règle, sélectionnez Remplacer la règle parente. Cette ressource aura une règle unique. À l'étape suivante, vous spécifierez la façon dont les règles de stratégie parentes sont gérées.
  6. Pour Application des règles, sélectionnez l'une des options suivantes :
    • Remplacer. Cette option ignore la règle parente et utilise ces règles.
    • Fusionner avec le parent. Cette option ajoute des règles à celles définies par la ressource parente.

    Pour en savoir plus sur l'héritage des règles d'administration, consultez Comprendre le processus d'évaluation hiérarchique.

  7. Cliquez sur Ajouter une règle.
  8. Pour Valeurs de règles, sélectionnez Personnalisé.
  9. Pour Type de règle, sélectionnez Autoriser.
  10. Pour Valeurs personnalisées, procédez comme suit :
    projects/PROJECT_ID

    Remplacez PROJECT_ID par l'ID du projet dans lequel se trouvent les clés Cloud KMS que vous souhaitez utiliser. Exemple : my-kms-project.

  11. Cliquez sur OK.
  12. Cliquez sur Définir la règle. La page Détails des règles s'affiche.

Une fois que vous avez configuré la règle et sélectionné un projet qui hérite/utilise la règle, vous êtes prêt à provisionner Apigee. Notez que les ressources Apigee créées avant la configuration des règles d'administration CMEK ne sont pas forcément conformes. Seules les nouvelles ressources créées après la mise en place de la règle respectent les contraintes CMEK.

Voir également :

Provisionner Apigee

Le provisionnement d'Apigee lorsque vous avez des contraintes liées aux règles d'administration suit les mêmes étapes que le provisionnement d'Apigee lorsque vous n'avez pas de contraintes liées aux règles d'administration. Toutefois, l'interface utilisateur vous empêche de faire des sélections non compatibles.

Cette section décrit les endroits où l'interface utilisateur vous guide pour effectuer des sélections.

  1. Dans la console Google Cloud, accédez à la page Apigee.

    Accéder à Apigee

  2. Sélectionnez votre projet dans la liste déroulante de la console Google Cloud s'il n'est pas déjà sélectionné.
  3. Sur la page Bienvenue dans la gestion des API Apigee, cliquez sur Personnaliser votre configuration.
  4. Activer les API : activez les API requises comme décrit à l'étape 1 : Activer les API requises.
  5. Configurer la mise en réseau : configurez la mise en réseau comme décrit à l'étape 2.
  6. Configurer l'hébergement et le chiffrement :

    Parcours utilisateur D : chiffrement géré par le client et résidence des données est le seul parcours utilisateur pertinent pour les contraintes liées aux règles d'administration qui limitent les services non-CMEK.

    1. Cliquez sur Modifier pour ouvrir le panneau Hébergement et clés de chiffrement.
    2. Dans la section Type de chiffrement, la clé de chiffrement gérée par Google est désactivée, tandis que la clé de chiffrement gérée par le client est activée et ne peut pas être désactivée.
    3. Cliquez sur Suivant.
    4. Dans la section Plan de contrôle, l'option Activer la résidence des données est activée et ne peut pas être désactivée.
    5. Continuez à configurer l'hébergement et le chiffrement comme décrit à l'étape 3.b. du Parcours utilisateur D : chiffrement géré par le client et résidence des données.
  7. Personnaliser le routage des accès : personnalisez le routage des accès comme décrit à l'étape 4.

Utiliser une clé provenant d'un projet autorisé

Pour utiliser une clé d'un projet figurant sur la liste d'autorisation d'Apigee, vous devez saisir une clé manuellement à l'aide de son ID de ressource. Toute clé que vous saisissez manuellement sera également validée pour vous assurer que son projet est valide en fonction des projets autorisés dans la contrainte.

Obtenir un ID de ressource Google Cloud KMS

Voir Obtenir un ID de ressource Cloud KMS

Dépannage

Le tableau suivant décrit certaines conditions d'erreur courantes pouvant survenir avec CMEK et les contraintes liées à la règle d'administration.

Message d'erreur Cause Procédure à suivre
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable trial org. CMEK is not supported for trial orgs. To use trial orgs, adjust the gcp.restrictNonCmekServices constraint for this project. Vous avez essayé de provisionner une organisation d'essai pour laquelle une contrainte liée aux règles d'administration existe pour le projet. Les clés CMEK ne sont pas compatibles avec les organisations d'évaluation ou d'essai. Vous devrez mettre à jour la contrainte liée aux règles d'administration constraints/gcp.restrictNonCmekServices pour supprimer Apigee de la liste des services refusés afin de pouvoir provisionner une organisation d'essai.
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable global org. CMEK is not supported in location 'global', select another location or adjust the code constraint for this project. Vous avez essayé de provisionner une organisation globale pour laquelle une contrainte liée aux règles d'administration existe pour le projet. Le chiffrement CMEK n'est pas compatible avec les organisations globales. Vous devrez mettre à jour la contrainte liée aux règles d'administration constraints/gcp.restrictNonCmekServices pour supprimer Apigee de la liste des services refusés ou utiliser un autre emplacement pour créer leurs organisations.
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create a resource without specifying a KMS CryptoKey. Provide a KMS CryptoKey to use for this resource. Vous avez tenté de provisionner une organisation pour laquelle une contrainte liée aux règles d'administration existe pour le projet sans spécifier de clé CryptoKey KMS. Vous avez défini un code dans les règles d'administration qui vous oblige à fournir une clé CMEK pour chiffrer vos données. Vous devez fournir la clé CMEK pour pouvoir créer une organisation ou des instances. Si vous ne souhaitez pas appliquer CMEK, vous pouvez mettre à jour la contrainte liée aux règles d'administration constraints/gcp.restrictNonCmekServices pour supprimer Apigee de la liste des services refusés.
Constraint constraints/gcp.restrictCmekCryptoKeyProjects violated for projects/my-project attempting to use projects/my-project/locations/my-location/keyRings/kr-1/cryptoKeys/ck-1 key. Use a key from a project that is allowed by the gcp.restrictCmekCryptoKeyProjects constraint. Vous avez tenté de provisionner une organisation pour laquelle une règle d'administration existe pour le projet et vous avez spécifié une clé CryptoKey KMS qui ne figure pas sur la liste d'autorisation. Vous avez défini constraints/gcp.restrictCmekCryptoKeyProjects dans les règles d'administration, ce qui vous oblige à fournir une clé CMEK provenant des projets autorisés que vous avez regroupés. Vous devez fournir la clé CMEK d'un projet autorisé pour pouvoir créer une organisation ou des instances. Vous pouvez également mettre à jour la contrainte liée aux règles d'administration constraints/gcp.restrictCmekCryptoKeyProjects pour autoriser les clés du projet Google Cloud spécifique de votre choix.
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create a portal. Integrated portals do not support the use of CMEK. To use integrated portals, adjust the gcp.restrictNonCmekServices policy constraint. Vous avez essayé de créer un portail pour lequel une contrainte liée aux règles d'administration existe pour le projet. Le chiffrement CMEK n'est pas compatible avec les portails intégrés. Vous devrez mettre à jour la contrainte liée aux règles d'administration constraints/gcp.restrictNonCmekServices pour supprimer Apigee de la liste des services refusés afin de pouvoir créer un portail.