View a markdown version of this page

Modifier un AWS KMS politique pour Database Insights - Amazon Aurora

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.

Modifier un AWS KMS politique pour Database Insights

Database Insights utilise et AWS KMS key pour crypter les données sensibles. Lorsque vous activez Database Insights via l'API ou la console, vous pouvez effectuer l'une des opérations suivantes :

  • Choisissez la valeur par défaut Clé gérée par AWS.

    Amazon RDS utilise le Clé gérée par AWS pour votre nouvelle instance de base de données. Amazon RDS crée une Clé gérée par AWS pour votre Compte AWS. Vous Compte AWS avez un Amazon RDS différent Clé gérée par AWS pour chacun d'entre eux Région AWS.

  • Choisissez une clé gérée par le client.

    Si vous spécifiez une clé gérée par le client, les utilisateurs de votre compte qui appellent l'API Database Insights doivent kms:GenerateDataKey disposer des autorisations kms:Decrypt et sur la clé KMS. Vous pouvez configurer ces autorisations via des politiques IAM. Toutefois, nous vous recommandons de gérer ces autorisations via votre politique de clé KMS. Pour plus d’informations, consultez Politiques de clé dans AWS KMS dans le Guide du développeur AWS Key Management Service .

Exemple

L’exemple suivant montre comment ajouter des instructions à votre politique KMS. Ces déclarations permettent d'accéder à Database Insights. Selon la façon dont vous utilisez la clé KMS, vous pouvez modifier certaines restrictions. Avant d’ajouter des instructions à votre politique, supprimez tous les commentaires.

JSON
{ "Version":"2012-10-17", "Id" : "your-policy", "Statement" : [ { "Sid" : "AllowViewingRDSPerformanceInsights", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/Role1" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "rds.us-east-1.amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContext:aws:pi:service": "rds", "kms:EncryptionContext:service": "pi", "kms:EncryptionContext:aws:rds:db-id": "db-AAAAABBBBBCCCCDDDDDEEEEE" } } } ] }

Comment Database Insights utilise AWS KMS clé gérée par le client

Database Insights utilise des clés gérées par le client pour crypter les données sensibles. Lorsque vous activez Database Insights, vous pouvez fournir une AWS KMS clé via l'API. Database Insights crée AWS KMS des autorisations sur cette clé. Il utilise la clé et effectue les opérations nécessaires au traitement des données sensibles. Les données sensibles incluent des champs tels que l’utilisateur, la base de données, l’application et le texte de requête SQL. Database Insights garantit que les données restent cryptées à la fois au repos et en vol.

Comment fonctionne Database Insights IAM AWS KMS

IAM donne des autorisations à des API spécifiques. Database Insights possède les API publiques suivantes, que vous pouvez restreindre à l'aide de politiques IAM :

  • DescribeDimensionKeys

  • GetDimensionKeyDetails

  • GetResourceMetadata

  • GetResourceMetrics

  • ListAvailableResourceDimensions

  • ListAvailableResourceMetrics

Vous pouvez utiliser les demandes d’API suivantes pour obtenir des données sensibles.

  • DescribeDimensionKeys

  • GetDimensionKeyDetails

  • GetResourceMetrics

Lorsque vous utilisez l'API pour obtenir des données sensibles, Database Insights exploite les informations d'identification de l'appelant. Cette vérification garantit que l’accès aux données sensibles est limité aux personnes ayant accès à la clé KMS.

Lorsque vous appelez ces API, vous avez besoin d'autorisations pour appeler l'API via la stratégie IAM et d'autorisations pour invoquer l'kms:decryptaction via la stratégie AWS KMS clé.

L’API GetResourceMetrics peut renvoyer des données sensibles et non sensibles. Les paramètres de demande déterminent si la réponse doit inclure des données sensibles. L’API renvoie des données sensibles lorsque la demande inclut une dimension sensible dans les paramètres de filtre ou de regroupement.

Pour plus d'informations sur les dimensions que vous pouvez utiliser avec l'GetResourceMetricsAPI, consultez DimensionGroup.

Exemple Exemples

L’exemple suivant demande les données sensibles pour le groupe db.user :

POST / HTTP/1.1 Host: <Hostname> Accept-Encoding: identity X-Amz-Target: PerformanceInsightsv20180227.GetResourceMetrics Content-Type: application/x-amz-json-1.1 User-Agent: <UserAgentString> X-Amz-Date: <Date> Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature> Content-Length: <PayloadSizeBytes> { "ServiceType": "RDS", "Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W", "MetricQueries": [ { "Metric": "db.load.avg", "GroupBy": { "Group": "db.user", "Limit": 2 } } ], "StartTime": 1693872000, "EndTime": 1694044800, "PeriodInSeconds": 86400 }
Exemple

L’exemple suivant demande les données non sensibles pour la métrique db.load.avg :

POST / HTTP/1.1 Host: <Hostname> Accept-Encoding: identity X-Amz-Target: PerformanceInsightsv20180227.GetResourceMetrics Content-Type: application/x-amz-json-1.1 User-Agent: <UserAgentString> X-Amz-Date: <Date> Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature> Content-Length: <PayloadSizeBytes> { "ServiceType": "RDS", "Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W", "MetricQueries": [ { "Metric": "db.load.avg" } ], "StartTime": 1693872000, "EndTime": 1694044800, "PeriodInSeconds": 86400 }