Clés de chiffrement gérées par le client (CMEK)
Par défaut, Google Cloud chiffre automatiquement les données au repos à l'aide de clés de chiffrement gérées par Google.
Si vous avez des exigences réglementaires ou de conformité spécifiques concernant les clés qui protègent vos données, vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK) pour Document AI. Au lieu de laisser Google gérer les clés de chiffrement qui protègent vos données, votre processeur Document AI est protégé à l'aide d'une clé que vous contrôlez et gérez dans le service Cloud Key Management Service (KMS).
Ce guide décrit CMEK pour Document AI. Pour en savoir plus sur CMEK en général, y compris quand et pourquoi l'activer, consultez la documentation de Cloud Key Management Service.
Conditions préalables
L'agent de service Document AI doit disposer du rôle Chiffreur/Déchiffreur de clés cryptographiques Cloud KMS sur la clé que vous utilisez.
L'exemple suivant accorde un rôle permettant d'accéder à une clé Cloud KMS :
gcloud
gcloud kms keys add-iam-policy-binding key \ --keyring key-ring \ --location location \ --project key_project_id \ --member serviceAccount:service-project_number@gcp-sa-prod-dai-core.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Remplacez key par le nom de la clé. Remplacez key-ring par le nom du trousseau de clés où se trouve la clé. Remplacez location par l'emplacement Document AI du trousseau de clés. Remplacez key_project_id par le projet du trousseau de clés. Remplacez project_number par le numéro de votre projet.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Document AI C#.
Pour vous authentifier auprès de Document AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Document AI Go.
Pour vous authentifier auprès de Document AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Document AI Java.
Pour vous authentifier auprès de Document AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Document AI Node.js.
Pour vous authentifier auprès de Document AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Document AI PHP.
Pour vous authentifier auprès de Document AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Document AI Python.
Pour vous authentifier auprès de Document AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Document AI Ruby.
Pour vous authentifier auprès de Document AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Utiliser les clés de chiffrement gérées par le client
Les paramètres de chiffrement sont disponibles lorsque vous créez un processeur. Pour utiliser une clé CMEK, sélectionnez l'option CMEK, puis une clé.
La clé CMEK est utilisée pour toutes les données associées au processeur et à ses ressources enfants. Toutes les données client envoyées au sous-traitant sont automatiquement chiffrées avec la clé fournie avant d'être écrites sur le disque.
Une fois un processeur créé, vous ne pouvez plus modifier ses paramètres de chiffrement. Pour utiliser une clé différente, vous devez créer un processeur.
Clés externes
Vous pouvez utiliser Cloud External Key Manager (EKM) pour créer et gérer des clés externes afin de chiffrer les données dans Google Cloud.
Lorsque vous utilisez une clé Cloud EKM, Google n'a aucun contrôle sur la disponibilité de votre clé gérée en externe. Si vous demandez l'accès à une ressource chiffrée avec une clé gérée en externe et que la clé n'est pas disponible, Document AI rejette la requête. Il peut s'écouler jusqu'à 10 minutes avant que vous ne puissiez accéder à la ressource une fois la clé disponible.
Pour en savoir plus sur l'utilisation des clés externes, consultez la section Considérations concernant EKM.
Ressources compatibles avec le chiffrement CMEK
Lorsque vous stockez une ressource sur un disque, si des données client sont stockées dans la ressource, Document AI chiffre d'abord le contenu à l'aide de la clé CMEK.
Ressource | Matériel chiffré |
---|---|
Processor |
N/A : aucune donnée utilisateur. Toutefois, si vous spécifiez une clé CMEK lors de la création du processeur, elle doit être valide. |
ProcessorVersion |
Tous |
Evaluation |
Tous |
API compatibles avec le chiffrement CMEK
Voici les API qui utilisent la clé CMEK pour le chiffrement:
Méthode | Chiffrement |
---|---|
processDocument |
N/A : aucune donnée n'est enregistrée sur le disque. |
batchProcessDocuments |
Les données sont stockées temporairement sur le disque et chiffrées à l'aide d'une clé éphémère (voir la section Compatibilité avec les CMEK). |
trainProcessorVersion |
Les documents utilisés pour l'entraînement sont chiffrés à l'aide de la clé KMS/CMEK fournie. |
evaluateProcessorVersion |
Les évaluations sont chiffrées à l'aide de la clé KMS/CMEK fournie. |
Les requêtes d'API qui accèdent à des ressources chiffrées échouent si la clé est désactivée ou inaccessible. Voici quelques exemples :
Méthode | Déchiffrement |
---|---|
getProcessorVersion |
Les versions de processeur entraînées à l'aide de données client sont chiffrées. L'accès nécessite un déchiffrement. |
processDocument |
Le traitement de documents à l'aide d'une version de processeur chiffrée nécessite un déchiffrement. |
Import Documents |
L'importation de documents avec auto-labeling activé à l'aide d'une version de processeur chiffrée nécessite un déchiffrement. |
CMEK et Cloud Storage
Les API, telles que batchProcess
, peuvent lire et écrire dans des buckets Cloud Storage.
Toutes les données écrites dans Cloud Storage par Document AI sont chiffrées à l'aide de la clé de chiffrement configurée du bucket, qui peut être différente de la clé CMEK de votre processeur.
Pour en savoir plus, consultez la documentation sur le chiffrement CMEK pour Cloud Storage.