Provisionner votre organisation avec la résidence des données

Ce document explique comment provisionner votre organisation Apigee avec la résidence des données au repos uniquement ou avec la résidence des données avancée.

Consultez également la page Présentation de la résidence des données.

Provisionner votre organisation avec la résidence des données au repos uniquement

En tant qu'administrateur Apigee, pour provisionner votre organisation avec la résidence des données au repos uniquement et pour limiter l'emplacement de stockage des données, utilisez l'une des options de provisionnement payantes disponibles pour les organisations. Veillez à cocher la case Activer la résidence des données lors du provisionnement.

Configurer la résidence avancée des données pour votre organisation

En tant qu'administrateur Apigee, pour provisionner votre organisation avec la résidence avancée des données, y compris le stockage (au repos), le traitement (en cours d'utilisation) et la transmission (en transit) des données, vous devez suivre les étapes suivantes.

# Step Description Effectuée par
1 Créer un dossier Assured Workloads Créez un dossier Assured Workloads dans votre organisation Google Cloud pour définir et appliquer les règles d'administration requises qui limitent l'utilisation des ressources aux emplacements autorisés. AdministrateurGoogle Cloud disposant de l'autorisation Administration Assured Workloads
2 Provisionner avec la résidence avancée des données Configurez votre organisation payante avec la résidence des données avancée à l'aide de l'une des options de configuration disponibles pour les organisations payantes.

Vous devez utiliser la console juridictionnelle pour accéder à l'interface utilisateur Apigee ou le point de terminaison régional pour accéder aux API Apigee en fonction de l'emplacement de votre plan de contrôle.

Administrateur de l'organisation Apigee

Créer un dossier Assured Workloads

Remarque : Vous devez être un administrateur Google Cloud disposant de l'autorisation d'administration Assured Workloads pour configurer un dossier Assured Workloads.

Assured Workloads permet aux organisations d'appliquer et de faire respecter des contrôles réglementaires, régionaux et de souveraineté sur les ressources Google Cloud .

Dans la console Google Cloud , vous créez un dossier Assured Workloads dans votre organisation Google Cloud et sélectionnez un package de contrôles en fonction de vos exigences réglementaires. Un package de contrôles est un ensemble de contrôles qui, combinés, permettent de respecter le niveau de référence d'un cadre, d'une loi ou d'un règlement de conformité. Le package de contrôle définit et applique les contraintes liées aux règles d'administration requises pour :

  • Restreindre l'utilisation des ressources aux produits compatibles uniquement
  • Autoriser la création ou l'utilisation de ressources uniquement dans les zones autorisées

Pour en savoir plus sur Assured Workloads, consultez la présentation d'Assured Workloads.

Provisionner avec la résidence avancée des données

Remarque : Vous devez être un administrateur d'organisation Apigee pour provisionner une organisation payante avec résidence avancée des données.

En tant qu'administrateur Apigee, lorsque vous provisionnez votre organisation payante à l'aide de l'une des options de provisionnement, vous devez utiliser la console juridictionnelle pour accéder à l'interface utilisateur Apigee ou le point de terminaison régional lorsque vous utilisez la CLI.

Utiliser la console juridictionnelle

Lorsque vous provisionnez votre organisation avec la résidence des données avancée, vous devez utiliser la console juridictionnelle basée sur la localisation pour accéder à l'interface utilisateur Apigee. Lorsque vous provisionnez l'organisation Apigee à l'aide de la console juridictionnelle, les champs suivants sont configurés automatiquement :

  • L'option Activer la résidence des données est sélectionnée (et ne peut pas être désélectionnée).
  • Les options de juridiction d'hébergement du plan de contrôle sont filtrées en fonction de la console juridictionnelle utilisée.
  • Tous les autres sélecteurs de région sont filtrés pour n'afficher que les emplacements situés dans la juridiction d'hébergement du plan de contrôle sélectionnée.

Pour savoir comment accéder à la console juridictionnelle, consultez Console Google Cloud juridictionnelle et Responsabilité partagée dans Assured Workloads.

Utiliser le point de terminaison régional

Lorsque vous provisionnez votre organisation avec la résidence avancée des données, utilisez le point de terminaison régional suivant :

apigee.CONTROL_PLANE_LOCATION.rep.googleapis.com

CONTROL_PLANE_LOCATION est l'emplacement physique où les données du plan de contrôle Apigee seront stockées. Pour obtenir la liste des emplacements du plan de contrôle disponibles, consultez Utiliser des points de terminaison régionaux pour une résidence avancée des données.

Lors du provisionnement, vous êtes responsable de la sélection des valeurs appropriées. Si vous utilisez un emplacement interdit par les règles d'administration en vigueur, vous recevrez une erreur Permission Denied.

Par exemple, la commande suivante crée une organisation Apigee dans la région des États-Unis avec CMEK activé. Voir aussi l'API Apigee Organizations.

curl "https://apigee.us.rep.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID" \
  -X POST
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "$PROJECT_ID",
    "runtimeType": "CLOUD", # Hybrid organizations aren't supported
    "billingType": "$BILLING_TYPE", # Eval organizations aren't supported
    "controlPlaneEncryptionKeyName" : "'"$CONTROL_PLANE_KEY_ID"'",
    "apiConsumerDataLocation" : "'"$CONSUMER_DATA_REGION"'",  # Must be single region in US
    "apiConsumerDataEncryptionKeyName" : "'"$CONSUMER_DATA_KEY_ID"'",
    "authorizedNetwork" : "'"$NETWORK_NAME"'", # Must be created in the US region
    "runtimeDatabaseEncryptionKeyName" : "'"$RUNTIMEDB_KEY_ID"'"
  }'

Créer des clés CMEK avec un niveau de protection externe à l'aide de la gcloud CLI

Lorsque vous provisionnez votre organisation Apigee avec une résidence des données avancée dans la région de l'UE, vous devez créer des clés de chiffrement gérées par le client (CMEK) avec un niveau de protection externe. Vous devez utiliser Google Cloud CLI pour créer les clés CMEK, car la console de la juridiction européenne ne permet pas de configurer des clés CMEK soutenues en externe. De plus, vous devrez configurer un gestionnaire de clés externe (EKM).

Pour créer les clés CMEK et configurer un EKM, suivez les étapes décrites dans les sections suivantes :

Configurer un EKM

Les clés CMEK créées pour la région de l'UE doivent être créées avec un niveau de protection externe, ce qui vous oblige à configurer un EKM. Pour configurer un EKM, suivez les instructions fournies dans les sections suivantes :

Créer les clés CMEK pour la région de l'UE

Créez les clés CMEK suivantes requises pour la région de l'UE à l'aide des commandes gcloud CLI décrites ci-dessous :

  • Clé de chiffrement du plan de contrôle
  • Clé de chiffrement des données client de l'API
  • Clé de chiffrement de base de données d'exécution
  • Clé de chiffrement du disque d'exécution

Pour en savoir plus sur la création de clés CMEK, consultez À propos des clés de chiffrement Apigee.

Répétez les étapes suivantes pour créer chacune des clés CMEK requises :

  1. Créez un trousseau de clés dans la région de l'UE à l'aide de la commande suivante :
    gcloud kms keyrings create DATA_KEY_RING \
          --location LOCATION \
          --project=PROJECT_ID
        
  2. Créez une clé externe à l'aide de la commande suivante :
    gcloud kms keys create DATA_KEY_NAME \
          --keyring=DATA_KEY_RING \
          --location LOCATION \
          --purpose encryption \
          --protection-level external \
          --skip-initial-version-creation \
          --default-algorithm external-symmetric-encryption \
          --project PROJECT_ID
        
  3. Créez une version de clé qui pointe vers l'EKM configuré à l'étape précédente à l'aide de la commande suivante :
    gcloud kms keys versions create \
      --key DATA_KEY_NAME \
      --keyring DATA_KEY_RING \
      --location LOCATION \
      --external-key-uri "EKM_URI" \
      --primary \
      --project PROJECT_ID
        
  4. Accordez des autorisations à l'agent de service Apigee à l'aide de la commande suivante :
    gcloud kms keys add-iam-policy-binding DATA_KEY_NAME \
          --location LOCATION \
          --keyring DATA_KEY_RING \
          --member serviceAccount:service-$(gcloud projects describe $project --format="value(projectNumber)")@gcp-sa-apigee.iam.gserviceaccount.com \
          --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
          --project PROJECT_ID
        

Où :

  • DATA_KEY_RING : nom du trousseau de clés du plan de contrôle, des données du consommateur d'API, de la base de données d'exécution ou du disque d'exécution.
  • DATA_KEY_NAME : nom du plan de contrôle, des données du consommateur d'API, de la base de données d'exécution ou de la clé de disque d'exécution.
  • LOCATION : emplacement Cloud KMS du trousseau de clés. Définissez cette valeur comme suit :
    • Pour la clé de chiffrement du plan de contrôle, définissez l'une des clés multirégionales suivantes : us ou europe.
    • Pour la clé de chiffrement des données client de l'API, la clé de chiffrement de la base de données d'exécution et la clé de chiffrement du disque d'exécution, définissez l'une des clés monorégionales suivantes : europe-* ou us-*. (par exemple, europe-west1, us-central1, et ainsi de suite).
  • EKM_URI : URI EKM.
  • PROJECT_ID : ID du projet Google Cloud .

Configurer la gcloud CLI pour utiliser le point de terminaison régional (facultatif)

Vous pouvez gérer votre organisation Apigee à l'aide de la gcloud CLI. Pour la plupart des organisations, la gcloud CLI détecte automatiquement le point de terminaison régional approprié. Cette opération fonctionne de manière transparente si le nom de votre organisation Apigee correspond au nom du projet Google Cloud .

Toutefois, dans certains cas, les noms peuvent ne pas correspondre. Par exemple, si vous avez migré l'organisation Apigee d'un projet Google Cloud vers un autre, les noms de l'organisation Apigee et du projet Google Cloud dans lequel elle réside peuvent être différents. Dans ce cas, vous devrez effectuer l'une des opérations suivantes lorsque vous utiliserez la gcloud CLI :

  • Transmettez l'indicateur --organization avec chaque commande gcloud CLI pour spécifier l'organisation Apigee cible.
  • Configurez gcloud CLI pour remplacer le point de terminaison Apigee et forcer toutes les commandes à utiliser le nouveau point de terminaison régional.

    Par exemple, pour utiliser le point de terminaison régional américain, la commande gcloud CLI est la suivante :

    gcloud config set api_endpoint_overrides/apigee https://apigee.us.rep.googleapis.com/

Afficher l'emplacement du plan de contrôle pour une organisation

Si vous avez déjà provisionné votre organisation (PROJECT_ID) pour l'utiliser avec la résidence des données, vous pouvez utiliser l' API getProjectMapping pour afficher l'emplacement du plan de contrôle associé à un projet en procédant comme suit :

  1. Autorisez gcloud à accéder à Cloud Platform avec vos identifiants Google :
    gcloud auth login
  2. Appelez l'API getProjectMapping.

    Étant donné que les informations auxquelles vous accédez sont des métadonnées et non du contenu client principal, vous pouvez utiliser le point de terminaison mondial ou régional pour appeler l'API. La commande suivante utilise le point de terminaison global :

    curl -X GET https://apigee.googleapis.com/v1/organizations/PROJECT_ID:getProjectMapping \
        -H "Authorization: Bearer $(gcloud auth print-access-token)"

    PROJECT_ID est le nom de votre organisation Apigee.

    Voici un exemple de réponse :

    {
      "organization": "my-project",
      "projectIds": [
        "my-project"
      ],
      "projectId": "my-project"
      "location": "us"
    }

Migrer une organisation Apigee pour prendre en charge la résidence avancée des données

Pour migrer une organisation Apigee existante qui prend en charge la résidence des données au repos afin de prendre en charge la résidence avancée des données, procédez comme suit :

  1. Déplacez le projetGoogle Cloud dans lequel Apigee est provisionné vers un dossier Assured Workloads. Pour en savoir plus, consultez Migrer une charge de travail.
  2. Si vous avez créé votre organisation Apigee avant que la résidence avancée des données ne soit disponible pour tous, vous devrez reconfigurer vos ressources réseau mondiales pour les migrer vers la juridiction requise. Dans le cas contraire, veuillez ignorer cette étape.