Modification d'une AWS KMS politique pour Performance 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.

Modification d'une AWS KMS politique pour Performance Insights

Performance Insights utilise un AWS KMS key pour chiffrer les données sensibles. Lorsque vous activez Performance Insights via l'API ou la console, vous pouvez effectuer l'une ou l'autre 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 Région AWS d'entre eux.

  • 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 Performance Insights ont besoin des autorisations kms:Decrypt et kms:GenerateDataKey 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 .

L'exemple suivant montre comment ajouter des instructions à votre politique KMS. Ces instructions permettent d'accéder à Performance 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 Performance Insights utilise les clés gérées par le AWS KMS client

L'analyse des performances utilise les clés gérées par le client pour chiffrer les données sensibles. Lorsque vous activez l'analyse des performances, vous pouvez fournir une clé AWS KMS via l'API. L'analyse des performances crée des autorisations KMS 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. L'analyse des performances garantit que les données restent chiffrées à la fois au repos et en transit.

Comment fonctionne Performance Insights IAM AWS KMS

IAM accorde des autorisations à des personnes spécifiques APIs. Performance Insights possède le public suivant APIs, 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, l'analyse des performances 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 les appelez APIs, vous avez besoin d'autorisations pour appeler l'API via la politique IAM et d'autorisations pour invoquer l'kms:decryptaction via la politique 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.

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 }

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 }