本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
變更 AWS KMS 績效詳情的政策
Performance Insights 使用 AWS KMS key 來加密敏感資料。當您透過 API 或主控台啟用績效詳情時,可以執行下列任一操作:
-
選擇預設值 AWS 受管金鑰。
Amazon RDS 會將 AWS 受管金鑰 用於您的新資料庫執行個體。Amazon RDS 會為您的 AWS 帳戶建立 AWS 受管金鑰 。每個 AWS 受管金鑰 的 Amazon RDS AWS 帳戶 都有不同的 AWS 區域。
-
選擇客戶受管金鑰。
如果您指定客戶受管金鑰,則您帳戶中呼叫績效詳情 API 的使用者需要 KMS 金鑰的
kms:Decrypt
和kms:GenerateDataKey
許可。您可以透過 IAM 政策設定這些許可。不過,我們建議您透過 KMS 金鑰政策來管理這些許可。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的在 AWS KMS中使用金鑰政策。
下列範例說明如何將陳述式新增至 KMS 金鑰政策。這些陳述式允許存取績效詳情。視您使用 KMS 金鑰的方式而定,您可能想要變更某些限制。在將陳述式新增至您的政策之前,請先移除所有註解。
Performance Insights 如何使用 AWS KMS 客戶受管金鑰
Performance Insights 使用客戶壽館金鑰來加密敏感資料。當您開啟 Performance Insights 時,可以透過 API 提供 AWS KMS 金鑰。Performance Insights 會在此金鑰上建立 KMS 許可。它會使用金鑰並執行必要的操作來處理敏感資料。敏感資料包括使用者、資料庫、應用程式及 SQL 查詢文字等欄位。Performance Insights 可確保靜態資料和傳輸中資料保持加密狀態。
Performance Insights IAM 如何使用 AWS KMS
IAM 會提供許可給特定 API。Performance Insights 具有下列公有 API,您可以使用 IAM 政策來限制這些 API:
DescribeDimensionKeys
GetDimensionKeyDetails
GetResourceMetadata
GetResourceMetrics
ListAvailableResourceDimensions
ListAvailableResourceMetrics
您可以使用下列 API 請求來取得敏感資料。
DescribeDimensionKeys
GetDimensionKeyDetails
GetResourceMetrics
當您使用 API 取得敏感資料時,Performance Insights 會利用呼叫者的憑證。此檢查可確保敏感資料的存取權限於可存取 KMS 金鑰的人。
呼叫這些 APIs時,您需要透過 IAM 政策呼叫 API 的許可,以及透過 AWS KMS 金鑰政策叫用kms:decrypt
動作的許可。
GetResourceMetrics
API 可能會同時傳回敏感和非敏感資料。請求參數會決定回應是否應包含敏感資料。當請求的 filter 或 group-by 參數中包含敏感維度時,API 會傳回敏感資料。
如需有關可搭配 GetResourceMetrics
API 使用之維度的詳細資訊,請參閱 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 }