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 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, pour limiter l'emplacement de stockage des données, utilisez l'une des options de provisionnement d'organisation payantes disponibles . Veillez à cocher la case Activer la résidence des données lors du provisionnement.

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

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

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

Vous devez utiliser la console juridictionnelle pour accéder à l'interface utilisateur Apigee ou au 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 Google Cloud administrateur avec l'autorisation Administration Assured Workloads pour configurer un dossier Assured Workloads.

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

À l'aide de la Google Cloud console, vous créez un dossier Assured Workloads dans votre Google Cloud organisation et sélectionnez un package de contrôle en fonction de vos exigences réglementaires. Un package de contrôle est un ensemble de contrôles qui, combinés, prennent en charge la base de référence d'un cadre de conformité , d'une loi ou d'un règlement. Le package de contrôle définit et applique les contraintes de règle d'administration requises d'organisation pour:

  • Limiter l'utilisation des ressources aux produits compatibles uniquement
  • Autoriser la création ou l'utilisation de ressources uniquement dans les emplacements autorisés

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

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

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

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 au 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 l'emplacement 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 :

  • Activer la résidence des données est sélectionné (et ne peut pas être désactivé)
  • 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 de 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 des données avancée, 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 de plan de contrôle disponibles, consultez Utiliser des points de terminaison régionaux pour la résidence des données avancée.

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 place, vous recevrez une Permission Denied erreur.

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

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 gcloud CLI

Lorsque vous provisionnez votre organisation Apigee avec la 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 juridictionnelle de l'UE ne permet pas de configurer des clés CMEK sauvegardées en externe. De plus, vous devez 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 nécessite la configuration d'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 client de l'API, base de données d'exécution ou disque d'exécution.
  • DATA_KEY_NAME : nom de la clé du plan de contrôle, des données client de l'API, base de données d'exécution ou 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 à région unique suivantes : europe-* ou us-*. Par exemple, europe-west1, us-central1, etc.
  • EKM_URI : URI de l'EKM.
  • PROJECT_ID : ID du Google Cloud projet.

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

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

Dans certains cas, toutefois, 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 Google Cloud projet dans lequel elle réside peuvent être différents. Dans ce cas, vous devez effectuer l'une des opérations suivantes lorsque vous utilisez gcloud CLI :

  • Transmettez l'option --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 des États-Unis, 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 d'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 de base, vous pouvez utiliser le point de terminaison global 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 des données avancée

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 des données avancée, procédez comme suit :

  1. Déplacez le Google Cloud projet 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 la disponibilité générale de la résidence des données avancée, vous devez reconfigurer vos ressources réseau globales pour les migrer vers la juridiction requise. Dans le cas contraire, veuillez ignorer cette étape.