Créer une connexion EKM

Cette page vous explique comment configurer Cloud External Key Manager (Cloud EKM) pour vous connecter à votre fournisseur de gestion de clés externes (EKM) Réseau cloud privé virtuel (VPC) :

Vous pouvez utiliser des clés externes via un VPC dans les emplacements Cloud KMS qui sont compatibles avec EKM via VPC. Pour en savoir plus, consultez la page Emplacements Cloud KMS .

Terminologie

  • Connexion EKM

    La ressource Cloud KMS utilisée pour configurer une connexion à votre gestionnaire de clés externe. Dans la console Google Cloud, c'est ce qu'on appelle EKM via une connexion VPC.

  • Projet VPC

    Projet contenant la ressource VPC utilisée pour se connecter à votre gestionnaire de clés externe.

  • Projets clés

    Les projets qui contiennent des ressources de connexion EKM et des clés Cloud EKM dans Cloud KMS. Un projet de clé peut être identique à un VPC mais ce n'est pas obligatoire.

  • Espace de chiffrement

    Conteneur de vos ressources au sein de votre partenaire externe de gestion des clés. Votre espace de cryptomonnaie est identifié par un chemin d’espace cryptographique unique. Format de l’espace cryptographique varie selon le partenaire de gestion des clés externes (par exemple, v0/cryptospaces/YOUR_UNIQUE_PATH

Avant de commencer

Après avoir suivi les étapes ci-dessous, vous pouvez commencer à utiliser Cloud EKM pour protéger vos données.

Créez un projet

  1. Dans la console Google Cloud, accédez à la page "Gérer les ressources".

    Accéder à la page "Gérer les ressources"

  2. Créez un projet Google Cloud ou sélectionnez un projet existant.

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. En savoir plus sur les tarifs de Cloud EKM

Activer Cloud KMS

  1. Activez l'API Cloud Key Management Service pour le projet.

    Activer l'API Cloud Key Management Service

  2. Notez le compte de service Cloud EKM de votre projet. Dans l'exemple suivant, remplacez PROJECT_NUMBER par le numéro de projet de votre projet Google Cloud. Ce les informations sont également visibles chaque fois que vous utilisez la console Google Cloud pour créer une clé Cloud EKM.

    service-PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com
    

Assurez-vous que la gcloud CLI est à jour

Si vous souhaitez utiliser la Google Cloud CLI, assurez-vous qu'elle est à jour avec la commande suivante:

CLI gcloud

gcloud components update

Préparer un réseau VPC

Il existe deux options lors de la configuration d'un réseau VPC:

Par défaut, les nouveaux projets contiennent un réseau en mode automatique pré-rempli avec des règles de pare-feu. Si le réseau VPC n'est pas destiné à être utilisé en production, le réseau en mode automatique par défaut est le moyen le plus rapide de démarrer.

Si votre gestionnaire de clés externe s'exécute sur site et que vous vous y connecterez via connectivité hybride, utilisez un mode personnalisé car il permet de contrôler les plages d'adresses IP du sous-réseau.

Suivez ces étapes pour configurer votre VPC:

  1. Activer l'accès privé à Google

    Le gestionnaire de clés externe doit vérifier le jeton OIDC contenu dans chaque requête. Pour valider le jeton, il doit récupérer la clé publique OAuth2 à partir du nom de domaine www.googleapis.com. Si le gestionnaire de clés externe exécute dans Google Cloud et n'y a pas accès via Internet (par exemple, une VM sans une adresse IP externe ou bloquée par un pare-feu), suivez les instructions configurer l'accès privé à Google.

  2. Configuration du pare-feu pour la plage d'adresses IP 35.199.192.0/19

    Les requêtes provenant de Cloud EKM proviennent de cette plage. Créer les deux les règles de pare-feu autorisant le trafic entrant et sortant pour TCP sur le port sur lequel le gestionnaire de clés externe écoute.

Configurer une connectivité hybride

Si le gestionnaire de clés externe est exécuté sur site, utilisez un solution de connectivité hybride pour connecter le VPC à votre réseau sur site. Une fois que vous avez configurez la connectivité, procédez comme suit:

  1. Activer l'accès privé à Google

    Le gestionnaire de clés externe doit valider le jeton OIDC contenu dans chaque requête. Pour valider le jeton, pour récupérer la clé publique OAuth2 à partir du nom de domaine www.googleapis.com. Si le gestionnaire de clés externe s'exécute sur site et n'a pas accès via Internet, suivez les instructions pour configurer un accès privé à Google pour les hôtes sur site.

  2. Configuration du pare-feu pour la plage d'adresses IP 35.199.192.0/19

    Les requêtes provenant de Cloud EKM proviennent de cette plage. Configurez votre un pare-feu réseau sur site ou un équipement similaire pour autoriser le trafic TCP sur sur le port sur lequel le gestionnaire de clés externe écoute.

  3. Assurez-vous que votre VPC dispose d'une route de retour vers la plage d'adresses IP 35.199.192.0/19.

    Votre réseau sur site doit disposer d'une route pour le réseau 35.199.192.0/19 vers votre destination. Pour savoir comment répondre à cette exigence, consultez la page stratégies de routage de retour pour les cibles sur site.

Stratégies de routage des retours pour les cibles sur site

  • Pour les tunnels Cloud VPN utilisant le routage statique, créez manuellement une route dans votre réseau sur site dont la destination est 35.199.192.0/19 et dont le prochain saut est le tunnel Cloud VPN. Pour les tunnels Cloud VPN qui utilisent un routage basé sur des règles, configurez le réseau local de Cloud VPN sélecteur de trafic et du réseau sélecteur de trafic distant pour inclure 35.199.192.0/19.

  • Pour les tunnels Cloud VPN utilisant le routage dynamique Cloud Interconnect, configurez le mode d'annonce personnalisé pour 35.199.192.0/19 sur la session BGP du routeur Cloud Router qui gère le tunnel ou le rattachement de VLAN.

Configurer votre gestionnaire de clés externe

Suivez les instructions de votre fournisseur EKM pour configurer votre EKM.

Configurer votre espace de cryptomonnaie

Si vous utilisez Cloud EKM dans le cadre d'un accord EKM géré par un partenaire, ces étapes ont été effectuées pour vous lors du provisionnement de votre partenaire processus.

Si votre fournisseur EKM est compatible avec la gestion des clés EKM à partir de Cloud KMS, la configuration suivante et les étapes de configuration doivent être effectuées dans votre EKM:

  • Créez un espace de chiffrement pour vos ressources gérées par Cloud KMS dans votre EKM.

  • Autoriser votre compte de service Cloud KMS à accéder à votre espace de chiffrement et les clés qui y sont créées.

  • Configurer une règle Key Access Justifications pour définir les justifications d'accès doit être autorisée ou refusée.

La procédure exacte pour chacune de ces étapes dépend de votre EKM. Pour plus consultez la documentation de votre fournisseur EKM.

Créer un point de terminaison de service de l'Annuaire des services

Créer et configurer un point de terminaison de service de l'Annuaire des services de votre projet VPC qui pointe vers l'adresse IP privée et de votre gestionnaire de clés externe. Si vous utilisez un équilibreur de charge devant plusieurs instances répliquées EKM, utilisez l'adresse IP et le port de l'équilibreur de charge. Assurez-vous que le champ network de votre point de terminaison de service de l'Annuaire des services est renseignés.

Autoriser Cloud EKM à accéder à votre VPC

Pour chaque projet de clé, vous devez autoriser Cloud EKM à accéder à votre au nom de ce projet, même si le projet de clé et le de projet VPC sont identiques. En autorisant l'accès, les clés de votre projet de clé peuvent utiliser le VPC dans votre projet VPC.

  1. Assurez-vous qu'un compte de service Cloud EKM existe pour le projet.

    CLI gcloud

    gcloud beta services identity create \
      --service=cloudkms.googleapis.com \
      --project=KEY_PROJECT_ID
    
  2. Accordez les autorisations servicedirectory.viewer et servicedirectory.pscAuthorizedService dans votre à un projet VPC service-KEY_PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com Si vous avez besoin d'aide pour obtenir l'ID et le numéro de votre projet, consultez Créer et gérer des projets

    CLI gcloud

    gcloud projects add-iam-policy-binding VPC_PROJECT_ID \
      --member='serviceAccount:service-KEY_PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com' \
      --role='roles/servicedirectory.viewer'
    
    gcloud projects add-iam-policy-binding VPC_PROJECT_ID \
      --member='serviceAccount:service-KEY_PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com' \
      --role='roles/servicedirectory.pscAuthorizedService'
    

Créer une connexion EKM

Pour connecter votre gestionnaire de clés externe à Cloud EKM, créez un Une connexion EKM dans votre projet de clé

Console

  1. Dans la console Google Cloud, accédez à Infrastructure KMS

    Accéder à l'infrastructure KMS

  2. Cliquez sur Créer une connexion.

  3. Dans le champ Nom de la connexion, saisissez le nom de votre connexion.

  4. Dans le champ Région, sélectionnez un emplacement pour la connexion EKM. N'importe quelle valeur Les clés Cloud KMS associées à cette connexion doivent se trouver dans le même emplacement que la connexion.

  5. Dans le champ ID de ressource du service (self_link), saisissez la valeur du paramètre service de l'Annuaire des services créé Section Créer un point de terminaison de service de l'Annuaire des services Le service d'annuaire de services doit se trouver dans le même emplacement que .

  6. Dans le champ Nom d'hôte, ajoutez le nom d'hôte de votre gestionnaire de clés externe.

  7. Dans Certificats, cliquez sur Ajouter un certificat pour importer un ou plusieurs les certificats de serveur X.509 pour votre gestionnaire de clés externe. Les certificats doivent être au format DER.

  8. Pour le mode de gestion EKM, sélectionnez Manuel afin d'utiliser la connexion EKM pour clés externes gérées manuellement, ou sélectionnez Cloud KMS pour utiliser l'EKM pour des clés externes coordonnées.

  9. Si vous avez sélectionné Cloud KMS comme mode de gestion EKM, alors dans Chemin d'accès à l'espace de chiffrement, saisissez le chemin d'accès à l'espace de chiffrement fourni par votre EKM.

  10. Facultatif. Pour définir la connexion EKM comme connexion par défaut pour cette le projet et l'emplacement, cochez la case Set connection as the default (Définir la connexion comme la connexion par défaut). Si une autre connexion EKM est actuellement définie comme connexion par défaut pour à ce projet et à cet emplacement, cette connexion EKM remplace par défaut.

  11. Cliquez sur Créer.

gcloud

Pour utiliser Cloud KMS sur la ligne de commande, commencez par Installez la dernière version de Google Cloud CLI.

Pour créer une connexion EKM pour les clés externes gérées manuellement, exécutez la la commande suivante:

gcloud beta kms ekm-connections create EKM_CONNECTION \
    --location LOCATION \
    --service-directory-service SERVICE_DIRECTORY_SERVICE \
    --hostname HOSTNAME \
    --server-certificates-files SERVER_CERTIFICATE_FILES \
    --key-management-mode manual

Remplacez les éléments suivants :

  • EKM_CONNECTION: nom de la connexion EKM.
  • LOCATION: emplacement Cloud KMS dans lequel vous souhaitez créer la connexion EKM. Toutes les clés Cloud KMS associées doit se trouver au même emplacement que la connexion.
  • SERVICE_DIRECTORY_SERVICE: ID de ressource de la Service de l'Annuaire des services pour votre connexion.
  • HOSTNAME: nom d'hôte de votre gestionnaire de clés externe.
  • SERVER_CERTIFICATE_FILES: liste de fichiers séparés par une virgule contenant des certificats de serveur X.509 pour votre gestionnaire de clés externe. Les certificats doivent être au format DER.

Pour créer une connexion EKM pour les clés externes coordonnées, exécutez la la commande suivante:

gcloud beta kms ekm-connections create EKM_CONNECTION \
    --location LOCATION \
    --service-directory-service SERVICE_DIRECTORY_SERVICE \
    --hostname HOSTNAME \
    --server-certificates-files SERVER_CERTIFICATE_FILES \
    --key-management-mode cloud-kms \
    --crypto-space-path CRYPTO_SPACE_PATH

Remplacez les éléments suivants :

  • EKM_CONNECTION: nom de la connexion EKM.
  • LOCATION: emplacement Cloud KMS dans lequel vous souhaitez créer la connexion EKM. Toutes les clés Cloud KMS associées doit se trouver au même emplacement que la connexion.
  • SERVICE_DIRECTORY_SERVICE: ID de ressource de la Service de l'Annuaire des services pour votre connexion.
  • HOSTNAME: nom d'hôte de votre gestionnaire de clés externe.
  • SERVER_CERTIFICATE_FILES: liste de fichiers séparés par une virgule contenant des certificats de serveur X.509 pour votre gestionnaire de clés externe. Les certificats doivent être au format DER.
  • CRYPTO_SPACE_PATH: chemin d'accès à l'espace de chiffrement fourni par votre fournisseur EKM.

Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option --help.

API

Ces exemples utilisent curl comme client HTTP pour démontrer l'utilisation de l'API. Pour en savoir plus sur le contrôle des accès, consultez la page Accéder à l'API Cloud KMS.

Pour créer une connexion EKM pour les clés externes coordonnées, exécutez la la commande suivante:

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ekmConnections" \
    --request "POST" \
    --header "authorization: Bearer TOKEN" \
    --header "content-type: application/json" \
    --header "x-goog-user-project: PROJECT_ID" \
    --data '{
      "name": "EKM_CONNECTION",
      "serviceResolvers": [
        {
          "serviceDirectoryService": "SERVICE_DIRECTORY_SERVICE",
          "hostname": "HOSTNAME",
          "serverCertificates": [
            {
              SERVER_CERTIFICATES
            }
          ]
        }
      ]
      "keyManagementMode": "CLOUD_KMS",
      "cryptoSpacePath": "CRYPTO_SPACE_PATH"
    }'

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet dans lequel vous souhaitez créer le Connexion EKM.
  • LOCATION: le service Cloud KMS dans lequel vous souhaitez créer le Connexion EKM.
  • EKM_CONNECTION: nom à utiliser pour la connexion EKM.
  • SERVER_CERTIFICATES: liste de 10 objets Certificate maximum qui qui représentent les certificats de serveur d’entité finale.
  • HOSTNAME: nom d'hôte de votre gestionnaire de clés externe.
  • CRYPTO_SPACE_PATH: chemin d'accès à l'espace de chiffrement fourni par votre fournisseur EKM.

Pour créer une connexion EKM pour les clés externes gérées manuellement, exécutez la la commande suivante:

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ekmConnections" \
    --request "POST" \
    --header "authorization: Bearer TOKEN" \
    --header "content-type: application/json" \
    --header "x-goog-user-project: PROJECT_ID" \
    --data '{
      "name": "EKM_CONNECTION",
      "serviceResolvers": [
        {
          "serviceDirectoryService": "SERVICE_DIRECTORY_SERVICE",
          "hostname": "HOSTNAME",
          "serverCertificates": [
            {
              SERVER_CERTIFICATES
            }
          ]
        }
      ]
    }'

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet dans lequel vous souhaitez créer le Connexion EKM.
  • LOCATION: le service Cloud KMS dans lequel vous souhaitez créer le Connexion EKM.
  • EKM_CONNECTION: nom à utiliser pour la connexion EKM.
  • SERVER_CERTIFICATES: une liste pouvant comporter jusqu'à 10 Certificate. objets qui représentent les certificats de serveur d'origine.
  • HOSTNAME: nom d'hôte de votre gestionnaire de clés externe.

Pour plus d'informations, consultez la documentation de l'API EkmConnection.create.

État du certificat

Une fois que vous avez importé un certificat pour votre connexion EKM, vous pouvez vérifier l'état global du certificat de la connexion EKM, ainsi que l'état de chaque du certificat Page de l'infrastructure KMS

Les connexions EKM ont un état général dans la colonne État du certificat : chaque connexion. Si l'état d'une connexion EKM n'est pas Active, nous recommandez de mettre à jour les certificats de votre connexion EKM.

Les connexions EKM et les certificats individuels peuvent avoir l'état suivant:

  • Actif: le certificat est valide et n'approche pas de sa date d'expiration.
  • Arrivant à expiration dans les 30 jours: le certificat est valide, mais a une date d'expiration. dans les 30 prochains jours.
  • Expiré: le certificat a expiré et n'est plus valide. Nous vous recommandons en mettant à jour les certificats arrivés à expiration.
  • Pas encore valide: le certificat n'est pas actif. Cela peut se produire si la date de début du certificat est située dans le futur.

Si votre certificat n'est plus valide, mettez à jour votre connexion EKM dans le console Google Cloud.

Console

  1. Dans la console Google Cloud, accédez à Infrastructure KMS

    Accéder à l'infrastructure KMS

  2. Cliquez sur le nom de l'EKM via une connexion VPC avec le certificat que doit être mis à jour.

  3. Cliquez sur Edit connection (Modifier la connexion).

  4. Cliquez sur Ajouter un certificat pour importer un ou plusieurs certificats de serveur X.509. pour votre gestionnaire de clés externe. Les certificats doivent être au format DER.

  5. Supprimez les certificats arrivés à expiration. Pointez sur le certificat expiré, puis sélectionnez l'icône Supprimer située à droite.

  6. Cliquez sur Mettre à jour la connexion pour mettre à jour l'EKM via une connexion VPC.

Définir une connexion EKM comme connexion par défaut

Vous pouvez définir une connexion EKM comme connexion par défaut pour un projet donné et l'emplacement. Lorsqu'une connexion EKM par défaut est définie pour un projet et un emplacement, un nouveau service Cloud EKM par des clés VPC créées dans des trousseaux à cet emplacement ; utilisez la connexion EKM indiquée, sauf si une autre connexion EKM est sélectionnée.

Pour définir une connexion EKM comme connexion par défaut pour son projet et son emplacement, procédez comme suit : procédez comme suit:

Console

  1. Dans la console Google Cloud, accédez à Infrastructure KMS

    Accéder à l'infrastructure KMS

  2. Cliquez sur la connexion EKM que vous souhaitez définir comme connexion par défaut.

  3. Cliquez sur Edit connection (Modifier la connexion).

  4. Sous Connexion par défaut, sélectionnez l'option Définir la connexion comme connexion par défaut pour LOCATION.

  5. Cliquez sur Mettre à jour la connexion.

CLI gcloud

gcloud beta kms ekm-config update
  --location=LOCATION
  --default-ekm-connection=projects/PROJECT_ID/locations/LOCATION/ekmConnections/DEFAULT_EKM_CONNECTION

Remplacez les éléments suivants :

  • LOCATION: le service Cloud KMS que vous souhaitez définir la connexion EKM par défaut.
  • PROJECT_ID: nom du projet pour lequel vous souhaitez définir la connexion EKM par défaut.
  • DEFAULT_EKM_CONNECTION: nom de la connexion EKM qui que vous souhaitez définir par défaut pour cet emplacement. L'emplacement La connexion EKM doit correspondre à l'emplacement indiqué dans LOCATION.

API

Pour définir la connexion EKM par défaut d'un emplacement, utilisez le EkmConfig.patch méthode:

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ekmConfig" \
    --request "PATCH" \
    --header "authorization: Bearer TOKEN" \
    --header "content-type: application/json" \
    --data '{"defaultEkmConnection": "projects/PROJECT_ID/locations/LOCATION/ekmConnections/DEFAULT_EKM_CONNECTION"}'

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet pour lequel vous souhaitez définir une connexion EKM par défaut.
  • LOCATION: le service Cloud KMS que vous souhaitez définir la connexion EKM par défaut.
  • DEFAULT_EKM_CONNECTION: nom de l'EKM que vous souhaitez définir par défaut pour cet emplacement. L'emplacement de la connexion EKM doit correspondre à l'emplacement indiqué dans LOCATION

Si une autre connexion EKM a été définie par défaut pour cet emplacement, le la connexion EKM sélectionnée la remplace par défaut. Une seule connexion EKM par défaut pour un projet et un emplacement donnés.

Étape suivante