Personnalisation du cryptage pour les montages Amazon S3
Cette section décrit la procédure de personnalisation du cryptage pour le stockage de contenu dans un format crypté sur Amazon S3. En standard, le contenu stocké sur Amazon S3 est crypté à l'aide du type de cryptage serverSideEncryption-s3. Le contenu stocké dans les coffres-forts basés sur des fichiers présente un format brut.
|
La gestion des options de cryptage incombe à l'utilisateur. Vous devez vous assurer que le contenu reste accessible en cas de modification des options de cryptage.
|
Pour personnaliser le cryptage du contenu sur Amazon S3, écrivez les implémentations de délégué suivantes :
1. Délégué de configuration du cryptage S3 : saisissez le délégué pour choisir le type de cryptage. Si vous souhaitez utiliser l'autre type de cryptage, vous devez écrire un délégué qui renvoie le type de cryptage souhaité, déployer les fichiers de classe au niveau du site principal et des serveurs de fichiers enregistrés, autrement dit les sites répliqués, puis procéder à la configuration à l'aide de l'outil de ligne de commande. La valeur par défaut du délégué est
com.ptc.windchill.objectstorage.amazons3.encryption.DefaultS3EncryptConfigurator. Le délégué par défaut renvoie le type de cryptage
serverSideEncryption-s3. Si vous souhaitez utiliser un autre type de cryptage, vous devez écrire un délégué qui renvoie le type de cryptage attendu, déployer les fichiers de classe et effectuer la configuration à l'aide de cet outil de ligne de commande. Si vous souhaitez utiliser un autre type de cryptage, vous devez écrire un délégué qui renvoie le type de cryptage attendu. Pour plus d'informations sur la configuration, consultez la section
Configuration des coffre-forts Windchill pour l'utilisation d'Amazon S3.
Vous trouverez ci-après un exemple de délégué.
SampleS3EncryptConfigurator.java:
SampleS3EncryptConfigurator renvoie le type de cryptage serverSideEncryption-kms. Le contenu stocké sur Amazon S3 est crypté à l'aide du cryptage du Service de gestion de clés (KMS). L'API getS3EncryptionType reçoit le nom de catégorie et la clé d'objet en tant qu'arguments. Vous pouvez programmer le type de cryptage en utilisant le nom de catégorie et la clé d'objet. Par exemple, renvoyez le type de cryptage serverSideEncryption-kms pour la catégorie b1 et le type de cryptage serverSideEncryption-s3 pour la catégorie b2.
Les valeurs de type de cryptage possibles sont les suivantes :
a. serverSideEncryption-s3 : le contenu est stocké à l'aide du cryptage côté serveur avec les clés gérées par AWS S3.
b. serverSideEncryption-kms : le contenu est stocké à l'aide du cryptage côté serveur avec les clés gérées par AWS KMS.
c. serverSideEncryption-customerProvidedKeys : le contenu est stocké à l'aide du cryptage côté serveur avec les clés fournies par le client.
2. SSEKMSKeyProvider Delegate : saisissez le délégué pour identifier l'ID de clé KMS lors du cryptage du contenu sur Amazon S3. Ce délégué s'applique si le type de cryptage est configuré comme étant
serverSideEncryption-kms. Windchill fournit l'implémentation par défaut de ce délégué. L'implémentation par défaut utilise l'ID de clé AWS KMS par défaut qui est propre à une région. Si vous souhaitez utiliser d'autres ID de clé KMS, vous devez écrire l'implémentation de ce délégué, puis configurer ce délégué pour qu'il sélectionne votre implémentation. Ce délégué s'applique si le type de cryptage est configuré comme étant
serverSideEncryption-kms. Le délégué a pour valeur par défaut
com.ptc.windchill.objectstorage.amazons3.encryption.ssekms.DefaultSSEKMSKeyProvider. Si le délégué par défaut ne renvoie aucun ID de clé KMS, le cryptage sera effectué au moyen de l'ID de clé KMS AWS par défaut. Si vous souhaitez utiliser vos propres ID de clé KMS, vous devez écrire un délégué qui renvoie les ID de clé KMS attendus, déployer les fichiers de classe et effectuer la configuration à l'aide de cet outil de ligne de commande. Pour plus d'informations sur la configuration, consultez la section
Configuration des coffre-forts Windchill pour l'utilisation d'Amazon S3.
| N'utilisez pas cette implémentation telle quelle dans un environnement de production. |
Vous trouverez ci-après un exemple de délégué :
SampleSSEKMSKeyProvider.java:Cet exemple d'implémentation illustre la façon dont vous pouvez renvoyer l'ID de clé KMS pour une région spécifique. Ici, nous commençons par obtenir l'objet AmazonS3Client. Nous utilisons AmazonS3Client pour récupérer l'emplacement et la région d'un nom de catégorie donné. Pour plus d'informations sur cette opération, consultez la documentation Java concernant AWS.
3. SSECSecKeyGenerator Delegate : si vous configurez le type de cryptage comme étant
serverSideEncryption-customerProvidedKeys, vous devez écrire l'implémentation pour ce délégué, puis configurer le délégué. Ce délégué ne s'applique que si le type de cryptage est configuré comme étant
serverSideEncryption-customerProvidedKeys. Il n'existe aucune implémentation par défaut pour ce délégué. Ecrivez un délégué qui gère les clés secrètes, déployez les fichiers de classe et effectuez la configuration à l'aide de cet outil de ligne de commande. Pour plus d'informations sur la configuration, consultez la section
Configuration des coffre-forts Windchill pour l'utilisation d'Amazon S3.
Vous trouverez ci-après un exemple de délégué :
SampleSSECSecKeyGenerator.java : cet exemple d'implémentation illustre comment générer une clé secrète (SecretKey). Cet exemple d'implémentation recherche une clé secrète existante. Si la clé secrète est trouvée, elle est renvoyée. Dans le cas contraire, générez une nouvelle clé secrète, stockez-la dans un fichier sur disque, puis renvoyez-la. Vous pouvez choisir la stratégie de sécurisation du stockage de la clé secrète. En outre, cet exemple d'implémentation utilise la même clé secrète pour tous les fichiers du coffre-fort. Vous pouvez écrire votre propre algorithme pour assurer la gestion des diverses clés secrètes relatives aux catégories ou aux objets stockés dans AWS S3
.