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 Cloud Key Management Service (KMS).
Ce guide décrit le chiffrement 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 Service Agent doit disposer du rôle Cloud KMS CryptoKey Encrypter/Decrypter (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. \
--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 Go Document AI.
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 Java Document AI.
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 Node.js Document AI.
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 Python Document AI.
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 Ruby Document AI.
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é de chiffrement gérée par le client, sélectionnez l'option CMEK , puis une clé.

La clé de chiffrement gérée par le client est utilisée pour toutes les données associées au processeur et à ses ressources enfants. Toutes les données client envoyées au processeur sont automatiquement chiffrées avec la clé fournie avant d'être écrites sur le disque.
Une fois qu'un processeur a été créé, vous ne pouvez plus modifier ses paramètres de chiffrement. Pour utiliser une autre clé, 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 des 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. Vous devrez peut-être attendre jusqu'à 10 minutes avant de pouvoir accéder à la ressource une fois la clé disponible.
Pour plus d'informations sur l'utilisation des clés externes, consultez la section Considérations concernant EKM.
Ressources compatibles avec le chiffrement CMEK
Lors du stockage d'une ressource sur le disque, si des données client sont stockées dans la ressource, Document AI chiffre d'abord le contenu à l'aide de la clé de chiffrement gérée par le client.
| Ressource | Éléments chiffrés |
|---|---|
Processor |
N/A : aucune donnée utilisateur. Toutefois, si vous spécifiez une clé de chiffrement gérée par le client lors de la création du processeur, elle doit être valide. |
ProcessorVersion |
Tous |
Evaluation |
Tous |
API compatibles avec le chiffrement CMEK
Les API qui utilisent la clé de chiffrement gérée par le client pour le chiffrement sont les suivantes :
| Méthode | Chiffrement |
|---|---|
processDocument |
N/A : aucune donnée n'est enregistrée sur le disque. |
batchProcessDocuments |
Les données sont temporairement stockées sur le disque et chiffrées à l'aide d'une clé éphémère (voir Conformité 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 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 des 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ée à l'aide d'une version de processeur chiffrée nécessite un déchiffrement. |
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é de chiffrement gérée par le client de votre processeur.
Pour en savoir plus, consultez la documentation sur le chiffrement CMEK pour Cloud Storage.