本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
靜態加密
根據預設,Amazon Managed Grafana 會自動為您提供靜態加密,並使用 AWS 擁有的加密金鑰來執行此操作。
-
AWS 擁有的金鑰 – Amazon Managed Grafana 使用這些金鑰自動加密工作區的資料。您無法檢視、管理或使用 AWS 擁有的金鑰,或稽核其使用方式。不過,您不需要採取任何動作或變更任何程式,即可保護加密您資料的金鑰。如需詳細資訊,請參閱《 AWS KMS 開發人員指南》中的 AWS擁有的金鑰。
加密靜態資料有助於減少保護敏感客戶資料 (例如個人可識別資訊) 的營運成本並降低複雜性。這可讓您建立符合嚴格加密合規性或管制需求的安全應用程式。
您也可以在建立工作區時,選擇使用客戶受管金鑰:
-
客戶受管金鑰 – Amazon Managed Grafana 支援使用您建立、擁有和管理的對稱客戶受管金鑰,以加密工作區中的資料。由於您可以完全控管此加密,因此能執行以下任務:
建立和維護金鑰政策
建立和維護 IAM 政策和授予操作
啟用和停用金鑰政策
輪換金鑰密碼編譯資料
新增 標籤
建立金鑰別名
安排金鑰供刪除
如需詳細資訊,請參閱《 AWS KMS 開發人員指南》中的客戶受管金鑰和什麼 AWS KMS?
選擇是否謹慎使用客戶受管金鑰或 AWS 擁有的金鑰。使用客戶受管金鑰建立的工作區無法在稍後轉換為使用 AWS 擁有的金鑰 (反之亦然)。
注意
Amazon Managed Grafana 會使用 AWS 擁有的金鑰自動啟用靜態加密,以免費保護您的資料。
不過,使用客戶受管金鑰需支付 AWS KMS 費用。如需定價的詳細資訊,請參閱 AWS KMS 定價
。
重要
如果您停用客戶受管金鑰或移除金鑰政策中的 Amazon Managed Grafana 存取權,您的工作區將無法存取。工作區將保持
ACTIVE狀態,但功能上將無法使用。您有 7 天可透過重新啟用金鑰或還原金鑰政策來還原存取權。7 天後,工作區會轉換為FAILED狀態,而且只能刪除。在 中排程要刪除金鑰的等待期間至少 AWS KMS 為 7 天,之後才會刪除金鑰。一旦刪除金鑰,就無法還原該金鑰,而且使用該金鑰加密的任何工作區都將永久無法存取其資料。
只有在建立新的工作區時,才能使用客戶受管金鑰加密。現有的工作區無法轉換為使用客戶受管金鑰。
您無法在建立後修改工作區的客戶受管金鑰。
Amazon Managed Grafana 如何在 中使用授予 AWS KMS
Amazon Managed Grafana 需要授予才能使用客戶受管金鑰。
當您建立使用客戶受管金鑰加密的 Amazon Managed Grafana 工作區時,Amazon Managed Grafana 會傳送 CreateGrant 請求至 ,代表您建立授予 AWS KMS。中的授予 AWS KMS 用於讓 Amazon Managed Grafana 存取您帳戶中的 KMS 金鑰,即使 未直接代表您呼叫 (例如,儲存儀表板資料或使用者組態時)。
Amazon Managed Grafana 需要授予才能使用客戶受管金鑰進行下列內部操作:
將 CreateGrant 請求傳送至 AWS KMS ,以視需要建立其他授權。
將 DescribeKey 請求傳送至 AWS KMS ,以驗證建立工作區時指定的對稱客戶受管 KMS 金鑰是否有效。
將 ReEncryptTo 和 ReEncryptFrom 請求傳送至 AWS KMS ,以在不同的加密內容之間移動時重新加密資料。
傳送加密請求至 AWS KMS ,以直接使用客戶受管金鑰加密資料。
將 Decrypt 請求傳送至 AWS KMS 以解密加密的資料金鑰,以便用來加密您的資料。
將 GenerateDataKey 請求傳送至 AWS KMS ,以產生由客戶受管金鑰加密的資料金鑰。
將 GenerateDataKeyWithoutPlaintext 請求傳送至 AWS KMS 以產生加密的資料金鑰,而不傳回純文字版本。
將 RetireGrant 請求傳送至 AWS KMS 以淘汰不再需要的授與。
Amazon Managed Grafana 會建立金鑰的授予 AWS KMS ,允許 Amazon Managed Grafana 代表您使用金鑰。您可以透過變更金鑰政策、停用金鑰或撤銷授權來移除金鑰的存取權。在執行這些動作之前,應先充分了解這些動作的後果。您的工作區中可能會發生資料遺失。
如果您以任何方式移除任何授予的存取權,Amazon Managed Grafana 將無法存取客戶受管金鑰加密的任何資料,也無法存取傳送到工作區的新資料,這會影響依賴該資料的操作。無法存取工作區的新更新,且可能會永久遺失。
警告
如果您停用金鑰,或移除金鑰政策中的 Amazon Managed Grafana 存取權,則無法再存取工作區資料。工作區將保持
ACTIVE狀態,但功能上將無法使用。傳送至工作區的新更新將無法存取,且可能會永久遺失。您可以在 7 天內重新啟用金鑰或還原對金鑰的 Amazon Managed Grafana 存取權,以還原對工作區資料的存取權,並繼續接收新資料。在 7 天沒有存取權後,工作區將轉換為FAILED狀態。如果您排程刪除金鑰 AWS KMS,金鑰會在強制的 7 天等待期間之後刪除。一旦刪除,就無法還原金鑰,且工作區資料將永久無法存取。
如果您撤銷授權,則無法重新建立該授權,且工作區中的資料會永久遺失。
由於 Amazon RDS 對資料儲存的相依性,Amazon Managed Grafana 會透過 Amazon RDS 建立額外的子授權。撤銷這些與 RDS 相關的授予將具有與撤銷主要 Grafana 授予相同的永久資料遺失效果。
步驟 1:建立客戶受管金鑰
您可以使用 AWS 管理主控台或 AWS KMS APIs 來建立對稱客戶受管金鑰。金鑰必須與 Amazon Managed Grafana 工作區位於相同的區域,而且必須是具有ENCRYPT_DECRYPT金鑰用量的對稱金鑰。
建立對稱客戶受管金鑰
請依照《AWS KMS 開發人員指南》中建立對稱客戶受管金鑰的步驟進行。
金鑰政策
金鑰政策會控制客戶受管金鑰的存取權限。每個客戶受管金鑰都必須只有一個金鑰政策,其中包含決定誰可以使用金鑰及其使用方式的陳述式。在建立客戶受管金鑰時,可以指定金鑰政策。如需詳細資訊,請參閱《AWS KMS 開發人員指南》中的管理客戶受管金鑰的存取。
若要將客戶受管金鑰與 Amazon Managed Grafana 工作區搭配使用,必須在金鑰政策中允許下列 API 操作:
-
kms:CreateGrant — 新增客戶自管金鑰的授予。授予控制對指定 KMS 金鑰的存取權,該金鑰允許存取 Amazon Managed Grafana 所需的授予操作。如需詳細資訊,請參閱《AWS KMS 開發人員指南》中的使用授權。這可讓 Amazon Managed Grafana 執行下列動作:
呼叫
GenerateDataKey以產生加密的資料金鑰並加以存放。呼叫
Decrypt以使用儲存的加密資料金鑰來存取加密的資料。
-
kms:DescribeKey – 提供客戶受管金鑰詳細資訊,以允許 Amazon Managed Grafana 驗證金鑰。
以下是您可以為 Amazon Managed Grafana 新增的政策陳述式範例:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow IAM Users and Roles to validate KMS key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/root" }, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "grafana.<region>.amazonaws.com" ] } } }, { "Sid": "Allow IAM Users and Roles to create grant on KMS key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/root" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "grafana.<region>.amazonaws.com" ], "kms:GrantConstraintType": "EncryptionContextSubset" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "CreateGrant", "RetireGrant", "Decrypt", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo" ] } } } ] }
如需在政策中指定許可的詳細資訊,請參閱 AWS Key Management Service 開發人員指南。
如需對金鑰存取進行疑難排解的詳細資訊,請參閱 AWS Key Management Service 開發人員指南。
步驟 2:指定 Amazon Managed Grafana 的客戶受管金鑰
建立工作區時,您可以輸入 KMS 金鑰 ARN 來指定客戶受管金鑰,Amazon Managed Grafana 會使用此金鑰來加密工作區存放的資料。
使用 AWS 管理主控台
開啟位於 https://https://console.aws.amazon.com/grafana/
的 Amazon Managed Grafana 主控台。 選擇建立工作區。
在加密區段中,選取客戶受管金鑰。
在 KMS 金鑰 ARN 欄位中輸入客戶受管金鑰的 ARN。
完成剩餘的工作區組態,然後選擇建立工作區。
使用 AWS CLI
您可以在使用 --kms-key-id 參數建立工作區時指定客戶受管金鑰:
aws grafana create-workspace \ --workspace-name "my-encrypted-workspace" \ --workspace-description "Workspace with customer managed encryption" \ --account-access-type "CURRENT_ACCOUNT" \ --authentication-providers "AWS_SSO" \ --permission-type "SERVICE_MANAGED" \ --kms-key-id "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
監控 Amazon Managed Grafana 的加密金鑰
當您搭配 Amazon Managed Grafana 工作區使用 AWS KMS 客戶受管金鑰時,您可以使用 AWS CloudTrail 或 Amazon CloudWatch Logs 來追蹤 Amazon Managed Grafana 傳送的請求 AWS KMS。
下列範例是 CreateGrant、GenerateDataKey、 DescribeKey和 AWS CloudTrail 的事件Decrypt,用於監控 Amazon Managed Grafana 呼叫的 KMS 操作,以存取客戶受管金鑰加密的資料:
CreateGrant
當您使用 AWS KMS 客戶受管金鑰加密工作區時,Amazon Managed Grafana 會代表您傳送CreateGrant請求,以存取您指定的 KMS 金鑰。Amazon Managed Grafana 建立的授予專屬於 AWS KMS 與客戶受管金鑰相關聯的資源。
以下範例事件會記錄 CreateGrant 操作:
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "TESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLE-KEY-ID1", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "TESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "grafana.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "retiringPrincipal": "grafana.amazonaws.com", "operations": [ "CreateGrant", "DescribeKey", "ReEncryptTo", "ReEncryptFrom", "Encrypt", "Decrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "RetireGrant" ], "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "granteePrincipal": "grafana.amazonaws.com" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }
DescribeKey
Amazon Managed Grafana 使用 DescribeKey操作來驗證與工作區相關聯的 AWS KMS 客戶受管金鑰是否存在於帳戶和區域中。
下面的範例事件會記錄 DescribeKey 操作:
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "TESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLE-KEY-ID1", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "TESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "grafana.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keyId": "00dd0db0-0000-0000-ac00-b0c000SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }
GenerateDataKey
Amazon Managed Grafana 使用 GenerateDataKey操作來產生用於加密工作區資料的資料金鑰。
下面的範例事件會記錄 GenerateDataKey 操作:
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "TESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLE-KEY-ID1", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "TESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "grafana.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "keySpec": "AES_256" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }
解密
Amazon Managed Grafana 使用 Decrypt操作來解密加密的資料金鑰,以便用來解密工作區資料。
下面的範例事件會記錄 Decrypt 操作:
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "TESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLE-KEY-ID1", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "TESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "grafana.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "encryptionContext": { "aws:grafana:workspace-id": "g-1234567890abcdef0" } }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }
進一步了解
下列資源會提供有關靜態資料加密的詳細資訊。
如需 AWS KMS 基本概念的詳細資訊,請參閱 AWS KMS 開發人員指南。
如需 安全最佳實務的詳細資訊 AWS KMS,請參閱 AWS KMS 開發人員指南。