View a markdown version of this page

Cambiare un AWS KMS politica per Database Insights - Amazon Aurora

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à.

Cambiare un AWS KMS politica per Database Insights

Database Insights utilizza un AWS KMS key per crittografare i dati sensibili. Quando abiliti Database Insights tramite l'API o la console, puoi effettuare 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 RDS crea una Chiave gestita da AWS per il tuo Account AWS. Ne hai Account AWS una diversa Chiave gestita da AWS per Amazon RDS per ciascuna. Regione AWS

  • Scegli una chiave gestita dal cliente.

    Se specifichi una chiave gestita dal cliente, gli utenti del tuo account che chiamano l'API Database Insights necessitano delle kms:GenerateDataKey autorizzazioni kms:Decrypt and sulla chiave KMS. È possibile configurare queste autorizzazioni mediante le policy IAM. Tuttavia, è consigliabile gestire queste autorizzazioni mediante la policy della chiave KMS. Per ulteriori informazioni, consulta Policy delle chiavi in AWS KMS nella Guida per gli sviluppatori di AWS Key Management Service .

Esempio

Il seguente esempio mostra come aggiungere istruzioni alla policy della chiave KMS. Queste dichiarazioni consentono l'accesso a Database Insights. A seconda della modalità di utilizzare la chiave KMS, potrebbe essere necessario modificare alcune restrizioni. Prima di aggiungere istruzioni alle policy, ai criteri, rimuovi tutti i commenti.

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

Come utilizza Database Insights AWS KMS chiave gestita dal cliente

Database Insights utilizza chiavi gestite dal cliente per crittografare i dati sensibili. Quando attivi Database Insights, puoi fornire una AWS KMS chiave tramite l'API. Database Insights crea AWS KMS le 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 di query SQL. Database Insights garantisce che i dati rimangano crittografati sia quando sono inattivi che durante il trasferimento.

Come funziona Database Insights IAM AWS KMS

IAM concede autorizzazioni ad API specifiche. Database Insights dispone delle seguenti API pubbliche, che puoi limitare utilizzando le policy IAM:

  • DescribeDimensionKeys

  • GetDimensionKeyDetails

  • GetResourceMetadata

  • GetResourceMetrics

  • ListAvailableResourceDimensions

  • ListAvailableResourceMetrics

Puoi utilizzare le seguenti richieste API per recuperare i dati sensibili.

  • DescribeDimensionKeys

  • GetDimensionKeyDetails

  • GetResourceMetrics

Quando utilizzi l'API per ottenere dati sensibili, Database 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 si chiamano queste API, sono necessarie le autorizzazioni per richiamare l'API tramite la policy IAM e le autorizzazioni per richiamare l'azione tramite la policy chiave. kms:decrypt AWS KMS

L'API GetResourceMetrics può restituire dati sensibili e non sensibili. I parametri della richiesta determinano se la risposta deve includere dati sensibili. L'API restituisce dati sensibili quando la richiesta include una dimensione sensibile nei parametri del filtro o nei parametri di raggruppamento.

Per ulteriori informazioni sulle dimensioni che puoi utilizzare con l'API, consultaGetResourceMetrics. 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 }
Esempio

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 }