保管中の暗号化 - Amazon Managed Grafana

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

保管中の暗号化

デフォルトでは、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 して、異なる暗号化コンテキスト間を移動するときにデータを再暗号化します。

  • Encrypt リクエストを に送信 AWS KMS して、カスタマーマネージドキーでデータを直接暗号化します。

  • Decrypt リクエストを送信 AWS KMS して、暗号化されたデータキーを復号し、データの暗号化に使用できるようにします。

  • GenerateDataKey リクエストを に送信 AWS KMS して、カスタマーマネージドキーによって暗号化されたデータキーを生成します。

  • GenerateDataKeyWithoutPlaintext リクエストを に送信 AWS KMS して、プレーンテキストバージョンを返さずに暗号化されたデータキーを生成します。

  • RetireGrant リクエストを に送信 AWS KMS して、不要になった許可を廃止します。

Amazon Managed Grafana は、Amazon Managed Grafana がユーザーに代わって AWS KMS キーを使用できるようにするキーへの許可を作成します。キーポリシーを変更するか、キーを無効にするか、または許可を取り消すことで、キーへのアクセスを削除できます。これらのアクションを実行する前に、その結果を理解しておく必要があります。これにより、ワークスペース内のデータが失われる可能性があります。

何らかの方法で許可へのアクセスを削除すると、Amazon Managed Grafana はカスタマーマネージドキーによって暗号化されたデータにアクセスしたり、ワークスペースに送信された新しいデータを保存したりできなくなります。これは、そのデータに依存するオペレーションに影響します。ワークスペースへの新しい更新はアクセスできず、完全に失われる可能性があります。

警告
  • キーを無効にするか、キーポリシーで Amazon Managed Grafana アクセスを削除すると、ワークスペースデータにアクセスできなくなります。ワークスペースは ACTIVE状態のままですが、機能的には使用できなくなります。ワークスペースに送信される新しい更新はアクセスできず、完全に失われる可能性があります。ワークスペースデータへのアクセスを復元し、7 日以内にキーを再度有効にするか、Amazon Managed Grafana アクセスをキーに復元することで、新しいデータの受信を再開できます。アクセスできない 7 日後、ワークスペースは FAILED状態に移行します。

  • でキーの削除をスケジュールすると AWS KMS、必須の 7 日間の待機期間後にキーが削除されます。削除すると、キーは復元できず、ワークスペースデータに永続的にアクセスできなくなります。

  • 許可を取り消すと、再作成することはできず、ワークスペース内のデータは永久に失われます。

  • Amazon Managed Grafana は、データストレージの RDS に依存するため、Amazon RDS を介して追加の子許可を作成します。これらの RDS 関連の許可を取り消すと、プライマリ Grafana 許可を取り消すのと同じ永続的なデータ損失効果があります。

ステップ 1:カスタマーマネージドキーを作成する

対称カスタマーマネージドキーは、 AWS マネジメントコンソールまたは AWS KMS APIs を使用して作成できます。キーは Amazon Managed Grafana ワークスペースと同じリージョンにあり、ENCRYPT_DECRYPTキーを使用する対称キーである必要があります。

対称カスタマーマネージドキーを作成するには
キーポリシー

キーポリシーは、カスタマーマネージドキーへのアクセスを制御します。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。カスタマーマネージドキーを作成する際に、キーポリシーを指定することができます。詳細については、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" ] } } } ] }

ステップ 2: Amazon Managed Grafana のカスタマーマネージドキーを指定する

ワークスペースを作成するときは、Amazon Managed Grafana がワークスペースに保存されているデータの暗号化に使用する KMS キー ARN を入力して、カスタマーマネージドキーを指定できます。

AWS マネジメントコンソールの使用
  1. Amazon Managed Grafana コンソール (https://console.aws.amazon.com/grafana/) を開きます。

  2. [ワークスペースを作成する] を選択します。

  3. 暗号化セクションで、カスタマーマネージドキーを選択します。

  4. KMS キー ARN フィールドにカスタマーマネージドキーの ARN を入力します。

  5. 残りのワークスペース設定を完了し、ワークスペースの作成を選択します。

の使用 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、カスタマーマネージドキーによって暗号化されたデータにアクセスDecryptするために Amazon Managed Grafana によって呼び出される KMS オペレーションをモニタリングするための GenerateDataKey、、、および DescribeKeyの AWS CloudTrail イベントです。

CreateGrant

AWS KMS カスタマーマネージドキーを使用してワークスペースを暗号化すると、Amazon Managed Grafana はユーザーに代わって、指定した KMS キーにアクセスするためのCreateGrantリクエストを送信します。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" }
Decrypt

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

詳細情報

次のリソースは、保管時のデータ暗号化についての詳細を説明しています。