變更效 Per AWS KMS formance Insights 的原則 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

變更效 Per AWS KMS formance Insights 的原則

Performance Insights 使用 AWS KMS key 加密機密資料。當您透過API或主控台啟用 Performance Insights 時,您可以執行下列其中一項作業:

  • 選擇預設值 AWS 受管金鑰。

    Amazon 將您的新 AWS 受管金鑰 資料庫執行個體RDS使用。Amazon 為您RDS創 AWS 受管金鑰 建一個 AWS 帳戶. 你 AWS 帳戶 有一個不同 AWS 受管金鑰 的 Amazon RDS 為每個 AWS 區域。

  • 選擇客戶受管金鑰。

    如果您指定客戶受管金鑰,則呼叫 Performance Insights 的帳戶中的使用者API需要KMS金鑰的kms:Decryptkms:GenerateDataKey權限。您可以透過IAM原則設定這些權限。不過,我們建議您透過KMS金鑰原則來管理這些權限。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的在 AWS KMS中使用金鑰政策

下列範例顯示如何將陳述式新增至KMS金鑰原則。這些陳述式允許存取績效詳情。視您使用KMS金鑰的方式而定,您可能需要變更某些限制。在將陳述式新增至您的政策之前,請先移除所有註解。

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

Performance Insights 如何使用 AWS KMS 客戶管理的金鑰

Performance Insights 使用客戶壽館金鑰來加密敏感資料。當您開啟 Performance Insights 時,您可以透過API. AWS KMS Performance Insights 會建立此金鑰的KMS權限。它會使用金鑰並執行必要的操作來處理敏感資料。敏感資料包括使用者、資料庫、應用程式和SQL查詢文字等欄位。Performance Insights 可確保靜態資料和傳輸中資料保持加密狀態。

Performance Insights 如何IAM搭配使用 AWS KMS

IAM授予特定的權限APIs。Performance Insights 具有下列公開項目APIs,您可以使用IAM原則來限制這些公用:

  • DescribeDimensionKeys

  • GetDimensionKeyDetails

  • GetResourceMetadata

  • GetResourceMetrics

  • ListAvailableResourceDimensions

  • ListAvailableResourceMetrics

您可以使用以下API請求來獲取敏感數據。

  • DescribeDimensionKeys

  • GetDimensionKeyDetails

  • GetResourceMetrics

當您使用取API得敏感資料時,Performance Insights 會利用呼叫者的認證。此檢查可確保敏感資料的存取權限於可存取KMS金鑰的使用者。

呼叫這些項目時APIs,您需要API透過IAM原則和權限呼叫透過 AWS KMS 金鑰原則呼叫kms:decrypt動作的權限。

GetResourceMetricsAPI可以返回敏感和非敏感數據。請求參數會決定回應是否應包含敏感資料。當要求在篩選器或 group by 參數中包含敏感維度時,會API傳回敏感資料。

如需可搭配使用之標註的更多資訊 GetResourceMetricsAPI,請參閱DimensionGroup

範例

以下範例會請求 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 }

以下範例會請求 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 }