Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gestion des clés pour l'accès aux données Amazon S3
Cette page est spécifique au type d'accès aux données Amazon S3 avec lequel le fournisseur partage des objets chiffrés SSE-KMS. L'abonné doit disposer d'une autorisation sur les clés utilisées pour l'accès.
Si votre compartiment Amazon S3 contient des données chiffrées à l'aide de clés gérées par le AWS KMS client, vous devez les partager AWS KMS keys avec vous AWS Data Exchange pour configurer votre ensemble de données d'accès aux données Amazon S3. Pour de plus amples informations, veuillez consulter Étape 2 : Configuration de l'accès aux données Amazon S3.
Création AWS KMS bourses
Lorsque vous fournissez dans AWS KMS keys le cadre de votre ensemble de données d'accès aux données Amazon S3, une AWS KMS autorisation est AWS Data Exchange
créée pour chaque AWS KMS key partage. Cette subvention, connue sous le nom de subvention parent, est utilisée pour AWS Data Exchange autoriser la création de AWS KMS subventions supplémentaires pour les abonnés. Ces subventions supplémentaires sont appelées allocations pour enfants. Chaque abonné a droit à une AWS KMS subvention. Les abonnés sont autorisés à déchiffrer le AWS KMS key. Ils peuvent ensuite déchiffrer et utiliser les objets Amazon S3 chiffrés qu'ils ont partagés avec eux. Pour plus d'informations, consultez la section Grants AWS KMS in dans le Guide du AWS Key Management Service développeur.
AWS Data Exchange utilise également la subvention AWS KMS parent pour gérer le cycle de vie de la AWS KMS subvention qu'elle crée. À la fin d'un abonnement AWS Data Exchange , la AWS KMS bourse familiale créée pour l'abonné correspondant est supprimée. Si la révision est révoquée ou si l'ensemble de données est supprimé, la AWS Data Exchange subvention AWS KMS parent est supprimée. Pour plus d'informations sur AWS KMS les actions, consultez la référence de AWS KMS
l'API.
Contexte de chiffrement et contraintes d'autorisation
AWS Data Exchange utilise des contraintes d'octroi pour autoriser l'opération de déchiffrement uniquement lorsque la demande inclut le contexte de chiffrement spécifié. Vous pouvez utiliser la fonctionnalité Amazon S3 Bucket Key pour chiffrer vos objets Amazon S3 et les partager avec AWS Data Exchange eux. Le bucket Amazon Resource Name (ARN) est implicitement utilisé par Amazon S3 comme contexte de chiffrement. L'exemple suivant montre que l'ARN du bucket est AWS Data Exchange utilisé comme contrainte d'octroi pour toutes les AWS KMS autorisations qu'il crée.
"Constraints": {
"EncryptionContextSubset": "aws:s3:arn": “arn:aws:s3:::<Bucket ARN>"
}
}
Surveillance de votre AWS KMS keys in AWS Data Exchange
Lorsque vous partagez des clés gérées par des AWS KMS clients avec AWS Data Exchange, vous pouvez les utiliser AWS CloudTrail pour suivre les demandes que les abonnés envoient AWS Data Exchange ou les données auxquelles les abonnés envoient AWS KMS. Vous trouverez ci-dessous des exemples de ce à quoi ressembleront vos CloudTrail journaux pour les Decrypt appels CreateGrant et à AWS KMS.
- CreateGrant for parent
-
CreateGrantest destiné aux subventions aux parents créées par AWS Data Exchange elle-même.
{
"eventVersion": "1.08",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAIGDTESTANDEXAMPLE:Provider01",
"arn": "arn:aws:sts::<your-account-id>:assumed-role/Admin/Provider01",
"accountId": "<your-account-id>",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAIGDTESTANDEXAMPLE",
"arn": "arn:aws:iam::<your-account-id>:role/Admin/Provider01”,
"accountId": "<your-account-id>",
"userName": "Admin"
},
"webIdFederationData": {},
"attributes": {
"creationDate": "2023-02-16T17:29:23Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "datax.amazonaws.com"
},
"eventTime": "2023-02-16T17:32:47Z",
"eventSource": "kms.amazonaws.com",
"eventName": "CreateGrant",
"awsRegion": "us-east-2",
"sourceIPAddress": "datax.amazonaws.com",
"userAgent": "datax.amazonaws.com",
"requestParameters": {
"keyId": "<Key ARN of the Key you shared with AWS Data Exchange>",
"operations": [
"CreateGrant",
"Decrypt",
"RetireGrant"
],
"granteePrincipal": "dataexchange.us-east-2.amazonaws.com",
"retiringPrincipal": "dataexchange.us-east-2.amazonaws.com",
"constraints": {
"encryptionContextSubset": { AWS:s3:arn": "arn:aws:s3:::<Your Bucket ARN>"
}
}
},
"responseElements": {
"grantId": "<KMS Grant ID of the created Grant>",
"keyId": "<Key ARN of the Key you shared with AWS Data Exchange>"
},
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": false,
"resources": [
{
"accountId": "<Your Account Id>",
"type": "AWS::KMS::Key",
"ARN": "<Key ARN of the Key you shared with AWS Data Exchange>"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "<Your Account Id>",
"eventCategory": "Management"
}
- CreateGrant for child
-
CreateGrantest destiné aux bourses pour enfants créées par AWS Data Exchange pour les abonnés.
{
"eventVersion": "1.08",
"userIdentity": {
"type": "AWSService",
"invokedBy": "datax.amazonaws.com"
},
"eventTime": "2023-02-15T23:15:49Z",
"eventSource": "kms.amazonaws.com",
"eventName": "CreateGrant",
"awsRegion": "us-east-2",
"sourceIPAddress": "datax.amazonaws.com",
"userAgent": "datax.amazonaws.com",
"requestParameters": {
"keyId": "<Key ARN of the Key you shared with AWS Data Exchange>",
"operations": [
"Decrypt"
],
"granteePrincipal": “<Subscriber’s account Id>”,
"retiringPrincipal": "dataexchange.us-east-2.amazonaws.com",
"constraints": {
"encryptionContextSubset": {
"aws:s3:arn": "arn:aws:s3:::<Your Bucket ARN>"
}
}
},
"responseElements": {
"grantId": "<KMS Grant ID of the created Grant>",
"keyId": "<Key ARN of the Key you shared with AWS Data Exchange>"
},
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": false,
"resources": [
{
"accountId": "<Your Account Id>",
"type": "AWS::KMS::Key",
"ARN": "<Key ARN of the Key you shared with AWS Data Exchange>"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "<Your Account Id>",
"sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE ",
"eventCategory": "Management"
}
- Decrypt
-
Decryptest appelé par les abonnés lorsqu'ils tentent de lire les données cryptées auxquelles ils sont abonnés.
{
"eventVersion": "1.08",
"userIdentity": {
"type": "AWSAccount",
"principalId": "AROAIGDTESTANDEXAMPLE:Subscriber01",
"accountId": "<subscriber-account-id>",
"invokedBy": "<subscriber’s IAM identity>"
},
"eventTime": "2023-02-15T23:28:30Z",
"eventSource": "kms.amazonaws.com",
"eventName": "Decrypt",
"awsRegion": "us-east-2",
"sourceIPAddress": "<subscriber’s IP address>",
"userAgent": "<subscriber’s user agent>",
"requestParameters": {
"encryptionContext": {
"aws:s3:arn": "arn:aws:s3:::<Your Bucket ARN>"
},
"encryptionAlgorithm": "SYMMETRIC_DEFAULT"
},
"responseElements": null,
"requestID": ""ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": ""ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE”,
"readOnly": true,
"resources": [
{
"accountId": "<Your Account Id>",
"type": "AWS::KMS::Key",
"ARN": "<Key ARN of the Key you shared with AWS Data Exchange>"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "602466227860",
"sharedEventID": "bcf4d02a-31ea-4497-9c98-4c3549f20a7b",
"eventCategory": "Management"
}