Modifica di una AWS KMS politica per Performance Insights - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Modifica di una AWS KMS politica per Performance Insights

Performance Insights utilizza an AWS KMS key per crittografare i dati sensibili. Quando abiliti Performance Insights tramite API o la console, puoi eseguire una delle seguenti operazioni:

  • Scegli l'impostazione predefinita Chiave gestita da AWS.

    Amazon RDS utilizza il Chiave gestita da AWS per la tua nuova istanza DB. Amazon ne RDS crea uno Chiave gestita da AWS per te Account AWS. Il tuo Account AWS ne ha uno diverso Chiave gestita da AWS per Amazon RDS per ognuno Regione AWS.

  • Scegli una chiave gestita dal cliente.

    Se specifichi una chiave gestita dal cliente, gli utenti del tuo account che chiamano Performance Insights API necessitano delle kms:GenerateDataKey autorizzazioni kms:Decrypt e sulla KMS chiave. È possibile configurare queste autorizzazioni tramite IAM policy. Tuttavia, ti consigliamo di gestire queste autorizzazioni tramite la tua politica KMS chiave. Per ulteriori informazioni, consulta Policy delle chiavi in AWS KMS nella Guida per gli sviluppatori di AWS Key Management Service .

L'esempio seguente mostra come aggiungere dichiarazioni alla politica KMS chiave. Queste istruzioni consentono l'accesso a Performance Insights. A seconda di come usi la KMS chiave, potresti voler modificare alcune restrizioni. Prima di aggiungere istruzioni alle policy, ai criteri, rimuovi tutti i commenti.

{ "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" } } }

In che modo Performance Insights utilizza la chiave gestita dal AWS KMS cliente

La funzionalità Approfondimenti sulle prestazioni utilizza una chiave gestita dal cliente per crittografare i dati sensibili. Quando attivi Performance Insights, puoi fornire una AWS KMS chiave tramiteAPI. Performance Insights crea KMS autorizzazioni su questa chiave. Utilizza la chiave ed esegue le operazioni necessarie per elaborare i dati sensibili. I dati sensibili includono campi come utente, database, applicazione e testo della SQL query. La funzionalità Approfondimenti sulle prestazioni garantisce che i dati rimangano crittografati mentre sono sia in transito che inattivi..

Come IAM funziona Performance Insights con AWS KMS

IAMconcede autorizzazioni a persone specificheAPIs. Performance Insights ha il seguente pubblicoAPIs, che puoi limitare utilizzando IAM le policy:

  • DescribeDimensionKeys

  • GetDimensionKeyDetails

  • GetResourceMetadata

  • GetResourceMetrics

  • ListAvailableResourceDimensions

  • ListAvailableResourceMetrics

È possibile utilizzare le seguenti API richieste per ottenere dati sensibili.

  • DescribeDimensionKeys

  • GetDimensionKeyDetails

  • GetResourceMetrics

Quando si utilizza il API per ottenere dati sensibili, Performance Insights sfrutta le credenziali del chiamante. Questo controllo garantisce che l'accesso ai dati sensibili sia limitato a coloro che hanno accesso alla chiave. KMS

Quando li chiamiAPIs, sono necessarie le autorizzazioni per richiamarli API tramite la IAM policy e le autorizzazioni per richiamare l'kms:decryptazione tramite la AWS KMS policy chiave.

GetResourceMetricsAPIPossono restituire dati sensibili e non sensibili. I parametri della richiesta determinano se la risposta deve includere dati sensibili. APIRestituisce dati sensibili quando la richiesta include una dimensione sensibile nel filtro o nei parametri di raggruppamento.

Per ulteriori informazioni sulle dimensioni che è possibile utilizzare con GetResourceMetricsAPI, vedere. DimensionGroup

Esempio Esempi

L'esempio seguente richiede i dati sensibili per il gruppo 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'esempio seguente richiede i dati non sensibili per la metrica 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 }