Par défaut, Dataproc sans serveur chiffre le contenu client au repos. Dataproc sans serveur gère le chiffrement sans intervention de votre part. Cette option est appelée chiffrement par défaut de Google.
Si vous souhaitez contrôler vos clés de chiffrement, vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK) dans Cloud KMS avec des services bénéficiant d'une intégration des CMEK, y compris Dataproc sans serveur. L'utilisation de clés Cloud KMS vous permet de contrôler leur niveau de protection, leur emplacement, leur calendrier de rotation, leurs autorisations d'utilisation et d'accès, ainsi que leurs limites cryptographiques. Cloud KMS vous permet également de suivre l'utilisation des clés, d'afficher les journaux d'audit et de contrôler les cycles de vie des clés. Au lieu de laisser Google posséder et gérer les clés de chiffrement de clés (KEK) symétriques qui protègent vos données, c'est vous qui vous chargez de cette tâche dans Cloud KMS.
Une fois que vous avez configuré vos ressources avec des CMEK, l'accès à vos ressources Dataproc Serverless est semblable à celui du chiffrement par défaut de Google. Pour en savoir plus sur les options de chiffrement, consultez Clés de chiffrement gérées par le client (CMEK).
Utiliser CMEK
Suivez les étapes de cette section pour chiffrer les données que Dataproc sans serveur écrit sur le disque persistant et dans le bucket de préproduction Dataproc à l'aide de CMEK.
Créez une clé à l'aide du service Cloud Key Management Service (Cloud KMS).
Copiez le nom de la ressource.
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Autorisez les comptes de service Compute Engine, Dataproc et Cloud Storage Service Agent à utiliser votre clé:
- Consultez Protéger des ressources à l'aide de clés Cloud KMS > Rôles requis pour attribuer le rôle Chiffreur/Déchiffreur de clés cryptographiques Cloud KMS au compte de service de l'agent de service Compute Engine. Si ce compte de service ne figure pas sur la page IAM de la console Google Cloud, cliquez sur Inclure les attributions de rôles fournies par Google pour l'afficher.
Attribuez le rôle Cloud KMS CryptoKey Encrypter/Decrypter (Chiffreur/Déchiffreur de clés cryptographiques Cloud KMS) au compte de service de l'agent de service Dataproc. Pour attribuer le rôle, vous pouvez utiliser Google Cloud CLI comme suit :
gcloud projects add-iam-policy-binding KMS_PROJECT_ID \ --member serviceAccount:service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Remplacez les éléments suivants :
KMS_PROJECT_ID
: ID de votre projet Google Cloud exécutant Cloud KMS. Il peut également s'agir du projet qui exécute les ressources Dataproc.PROJECT_NUMBER
: numéro de projet (et non ID de projet) de votre projet Google Cloud qui exécute des ressources Dataproc.Activez l'API Cloud KMS sur le projet qui exécute les ressources sans serveur Dataproc.
Si le rôle Agent de service Dataproc n'est pas associé au compte de service Agent de service Dataproc, ajoutez l'autorisation
serviceusage.services.use
au rôle personnalisé associé au compte de service Agent de service Dataproc. Si le rôle d'agent de service Dataproc est associé au compte de service de l'agent de service Dataproc, vous pouvez ignorer cette étape.Suivez la procédure pour ajouter votre clé au bucket.
Lorsque vous envoyez une charge de travail par lot:
- Spécifiez votre clé dans le paramètre
Batch
kmsKey. - Spécifiez le nom de votre bucket Cloud Storage dans le paramètre
Batch
stagingBucket.
- Spécifiez votre clé dans le paramètre