Cette page explique comment valider l'accès aux clés après avoir créé une stratégie de clé de chiffrement gérée par le client (CMEK).
Principaux cas d'utilisation de la validation de l'accès aux clés
Vous pouvez à tout moment réexécuter la validation de l'accès aux clés pour identifier les problèmes liés à la clé :
Désactivation de la clé : si une clé est désactivée, l'accès aux données des volumes s'arrête.
Destruction de clés : si une clé est détruite, l'accès aux données ne peut pas être rétabli. Vous pouvez supprimer des volumes pour libérer de la capacité. Pour en savoir plus, consultez Supprimer un volume.
Autorisations manquantes : si des autorisations sont supprimées, les instructions pour les accorder s'affichent. Consultez Accorder au service l'autorisation de lire une clé.
Accorder au service l'autorisation de lire une clé
Pour utiliser une clé CMEK, vous devez d'abord accorder au service l'autorisation de lire la clé spécifiée. NetApp Volumes fournit les commandes Google Cloud CLI appropriées. Pour accorder au service les autorisations requises pour la clé Cloud KMS, vous devez créer un rôle personnalisé à l'échelle du projet avec les autorisations appropriées, puis une liaison de rôle de clé qui associe le rôle personnalisé au compte de service approprié. Vous devez disposer des autorisations d'administrateur de rôle (roles/iam.RoleAdmin) sur le projet de votre compte Google pour créer le rôle personnalisé, ainsi que des autorisations d'administrateur Cloud KMS (roles/cloudkms.admin) pour accorder à NetApp Volumes l'accès à la clé.
Suivez les instructions ci-dessous pour accorder au service l'autorisation de lire une clé à l'aide de la console Google Cloud ou de Google Cloud CLI.
Console
Accédez à la page NetApp Volumes dans la console Google Cloud .
Sélectionnez Règles CMEK.
Recherchez la règle CMEK que vous souhaitez modifier, puis cliquez sur le menu Afficher plus.
Sélectionnez Valider l'accès aux clés.
Si vous n'avez pas encore configuré l'accès aux clés, la validation échoue et l'UI affiche des instructions sur la façon d'accorder l'accès aux clés. Après avoir exécuté les commandes Google Cloud CLI requises, cliquez sur Réessayer pour exécuter à nouveau la validation de la clé.
Si la validation réussit, une boîte de dialogue s'affiche pour l'indiquer. Si la validation échoue, cliquez sur Réessayer pour relancer la vérification de la clé.
gcloud
Exécutez la commande kms-configs verify suivante :
gcloud netapp kms-configs verify CONFIG_NAME \ --project=PROJECT_ID \ --location=LOCATION
Remplacez les informations suivantes :
CONFIG_NAME: nom de la configuration.PROJECT_ID: ID de projet unique pour lequel vous souhaitez accorder l'accès.LOCATION: région de la configuration.
Si la validation de la clé réussit, la commande affiche le message suivant :
healthy: true
Si la validation de la clé échoue, vous devez accorder des autorisations d'accès à la clé.
Exécutez la commande suivante pour identifier les commandes Google Cloud CLI permettant d'accorder l'accès à la clé de service. Vous avez besoin du rôle cloudkms.admin pour exécuter la commande suivante.
gcloud netapp kms-configs describe CONFIG_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --format="value(instructions)"
Pour en savoir plus sur les autres options facultatives, consultez la documentation du SDK Google Cloud pour Cloud Key Management Service.
Pour en savoir plus, consultez la documentation utilisateur de Cloud Key Management Service.
Configurer une règle d'entrée VPC Service Controls pour CMEK
Si vous utilisez VPC Service Controls, vous devez mettre à jour vos règles d'entrée pour autoriser le trafic pour le projet, la région et le compte de service concernés.
Utilisez le modèle suivant pour configurer les autorisations nécessaires.
{
"ingressFrom": {
"identities": [
"serviceAccount:n-cmek-usea4-1234567890@netapp-cmek-prod.iam.gserviceaccount.com"
],
"sources": [
{
"resource": "projects/112233445566"
}
]
},
"ingressTo": {
"operations": [
{
"methodSelectors": [
{
"method": "*"
}
],
"serviceName": "cloudkms.googleapis.com"
}
],
"resources": [
"projects/1234567890"
]
},
"title": "CMEK for NetApp Volumes"
}
Mettez à jour les champs suivants dans le modèle :
ingressFrom.identities : saisissez une liste séparée par des virgules des comptes de service utilisés par NetApp Volumes. Le service utilise un compte de service unique pour chaque projet et emplacement, au format suivant :
serviceAccount:n-cmek-location-short-name-your-project-number@netapp-cmek-prod.iam.gserviceaccount.comoù
location-short-nameest la forme abrégée de la région (par exemple,usea4pourus-east4) etyour-project-numberest le numéro du projet.Vous pouvez interroger le nom de ce compte de service à l'aide de la commande suivante :
gcloud netapp kms-configs describe NAME --location LOCATION --format="value(serviceAccount)"
Remplacez les informations suivantes :
NAME: nom de la stratégie CMEK.LOCATION: région de la stratégie CMEK.
L'exemple du modèle indique le nom du compte de service pour le projet Google
1234567890dans la régionus-east4.ingressTo.resources : saisissez le numéro du projet contenant les volumes. L'exemple du modèle utilise
projects/1234567890.ingressFrom.sources : saisissez une liste des projets de backend utilisés par le service, séparés par une virgule. Vous devez ajouter une entrée pour chaque région Google dans laquelle vous devez héberger des volumes CMEK. Pour obtenir le numéro de projet de backend pour votre région, contactez l'assistance client Google Cloud. Dans le modèle,
projects/112233445566est un espace réservé que vous devez remplacer par le numéro du projet de backend pour votre région.
Vous ne pouvez pas spécifier de méthodes individuelles pour le service cloudkms.googleapis.com. Vous devez utiliser * pour autoriser toutes les méthodes.