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 la console 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 annonce Clé gérée par AWS pour vous Compte AWS. Vous avez un Compte AWS compte Amazon différent Clé gérée par AWS RDS 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 Performance Insights API ont besoin des kms:GenerateDataKey autorisations kms:Decrypt et relatives à la KMS clé. Vous pouvez configurer ces autorisations par le biais IAM de politiques. Cependant, nous vous recommandons de gérer ces autorisations par le biais de votre politique KMS clé. 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 déclarations à votre politique KMS clé. Ces instructions permettent d'accéder à Performance Insights. Selon la façon dont vous utilisez la KMS clé, vous souhaiterez peut-être modifier certaines restrictions. Avant d'ajouter des instructions à votre politique, supprimez tous les commentaires.

{ "Version" : "2012-10-17", "Id" : "your-policy", "Statement" : [ { //This represents a statement that currently exists in your policy. } ...., //Starting here, add new statement to your policy for Performance Insights. //We recommend that you add one new statement for every RDS instance { "Sid" : "Allow viewing RDS Performance Insights", "Effect": "Allow", "Principal": { "AWS": [ //One or more principals allowed to access Performance Insights "arn:aws:iam::444455556666:role/Role1" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition" : { "StringEquals" : { //Restrict access to only RDS APIs (including Performance Insights). //Replace region with your AWS Region. //For example, specify us-west-2. "kms:ViaService" : "rds.region.amazonaws.com" }, "ForAnyValue:StringEquals": { //Restrict access to only data encrypted by Performance Insights. "kms:EncryptionContext:aws:pi:service": "rds", "kms:EncryptionContext:service": "pi", //Restrict access to a specific RDS instance. //The value is a DbiResourceId. "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 Performance Insights, vous pouvez fournir une AWS KMS clé via leAPI. Performance Insights crée 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 SQL requête. L'analyse des performances garantit que les données restent chiffrées à la fois au repos et en transit.

Comment IAM fonctionne Performance Insights avec AWS KMS

IAMdonne des autorisations à des personnes spécifiquesAPIs. Performance Insights a le public suivantAPIs, que vous pouvez restreindre à l'aide de IAM politiques :

  • DescribeDimensionKeys

  • GetDimensionKeyDetails

  • GetResourceMetadata

  • GetResourceMetrics

  • ListAvailableResourceDimensions

  • ListAvailableResourceMetrics

Vous pouvez utiliser les API requêtes suivantes pour obtenir des données sensibles.

  • DescribeDimensionKeys

  • GetDimensionKeyDetails

  • GetResourceMetrics

Lorsque vous utilisez le API pour obtenir des données sensibles, Performance 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 KMS clé.

Lorsque vous les appelezAPIs, vous avez besoin d'autorisations pour les appeler API via la IAM politique et d'autorisations pour invoquer l'kms:decryptaction via la politique AWS KMS clé.

Ils GetResourceMetrics API peuvent 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. Le API renvoie des données sensibles lorsque la demande inclut une dimension sensible dans les paramètres de filtre ou de groupe par.

Pour plus d'informations sur les dimensions que vous pouvez utiliser avec le 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 }