Amazon の保管中のデータ暗号化 DataZone - Amazon DataZone

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

Amazon の保管中のデータ暗号化 DataZone

保管中のデータをデフォルトで暗号化することで、機密データの保護におけるオーバーヘッドと複雑な作業を減らすのに役立ちます。同時に、セキュリティを重視したアプリケーションを構築して、暗号化のコンプライアンスと規制の厳格な要件を満たすことができます。

Amazon DataZone は、デフォルトの AWS所有キーを使用して、保管中のデータを自動的に暗号化します。 AWS 所有キーの使用を表示、管理、監査することはできません。詳細については、AWS 「 所有キー」を参照してください。

この暗号化レイヤーを無効にしたり、代替の暗号化タイプを選択したりすることはできませんが、Amazon DataZone ドメインを作成するときにカスタマーマネージドキーを選択することで、既存の AWS 所有の暗号化キーに 2 番目の暗号化レイヤーを追加できます。Amazon は、既存の AWS 所有暗号化に 2 番目の暗号化レイヤーを追加するために作成、所有、管理できる対称カスタマーマネージドキーの使用 DataZone をサポートしています。この暗号化レイヤーを完全に制御できるため、この暗号化レイヤーでは次のタスクを実行できます。

  • キーポリシーの確立と維持

  • IAM ポリシーと権限の確立と維持

  • キーポリシーの有効化と無効化

  • キー暗号化マテリアルのローテーション

  • タグを追加する

  • キーエイリアスの作成

  • 削除のキーをスケジュールする

詳細については、「カスタマーマネージドキー」を参照してください。

注記

Amazon は AWS 、所有キーを使用して保管中の暗号化 DataZone を自動的に有効にし、顧客データを無償で保護します。

AWS KMS カスタマーマネージドキーの使用には料金が適用されます。料金の詳細については、AWS 「 Key Management Service の料金」を参照してください。

Amazon が で許可 DataZone を使用する方法 AWS KMS

Amazon では、カスタマーマネージドキーを使用するには 3 つの許可 DataZone が必要です。カスタマーマネージドキーで暗号化された Amazon DataZone ドメインを作成すると、Amazon は にCreateGrantリクエストを送信することで、ユーザーに代わって権限とサブグラント DataZone を作成します AWS KMS。の AWS KMSグラントは、アカウントのKMSキーへの Amazon DataZone アクセスを許可するために使用されます。Amazon は、次の内部オペレーションにカスタマーマネージドキーを使用するための次の権限 DataZone を作成します。

次のオペレーションのために保管中のデータを暗号化するための 1 つの許可。

  • Amazon DataZone ドメインコレクションの作成時に入力された対称カスタマーマネージドKMSキー ID が有効であることを確認するリクエストを に送信DescribeKeyします AWS KMS。

  • カスタマーマネージドキーで暗号化されたデータキーを生成するには、 GenerateDataKeyrequests に送信 AWS KMSします。

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

  • RetireGrant ドメインが削除されたときにグラントを廃止します。

データの検索と検出のための 2 つのグラント:

任意のタイミングで、許可に対するアクセス権を取り消したり、カスタマーマネージドキーに対するサービスからのアクセス権を削除したりできます。そうすると、Amazon DataZone はカスタマーマネージドキーによって暗号化されたデータにアクセスできなくなります。これは、そのデータに依存するオペレーションに影響します。例えば、Amazon がアクセス DataZone できないデータアセットの詳細を取得しようとすると、オペレーションはAccessDeniedExceptionエラーを返します。

カスタマーマネージドキーを作成する

対称カスタマーマネージドキーは、 AWS マネジメントコンソールまたは AWS KMS を使用して作成できますAPIs。

対称カスタマーマネージドキーを作成するには、 AWS キー管理サービスデベロッパーガイドの対称カスタマーマネージドキーを作成するステップに従います。

キーポリシー - キーポリシーは、カスタマーマネージドキーへのアクセスを制御します。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。カスタマーマネージドキーを作成する際に、キーポリシーを指定することができます。詳細については、 AWS 「 Key Management Service デベロッパーガイド」の「カスタマーマネージドキーへのアクセスの管理」を参照してください。

Amazon DataZone リソースでカスタマーマネージドキーを使用するには、キーポリシーで次のAPI操作を許可する必要があります。

  • kms:CreateGrant – カスタマーマネージドキーにグラントを追加します。Amazon DataZone が必要とする許可オペレーションへのアクセスを許可する、指定されたKMSキーへのコントロールアクセスを許可します。Grants の使用の詳細については、「 Key Management Service デベロッパーガイド」を参照してください。 AWS

  • kms:DescribeKey – Amazon がキー DataZone を検証できるように、カスタマーマネージドキーの詳細を提供します。

  • kms:GenerateDataKey – は、 の外部で使用する一意の対称データキーを返します AWS KMS。

  • kms:Decrypt – KMSキーによって暗号化された暗号文を復号します。

Amazon に追加できるポリシーステートメントの例を次に示します DataZone。

"Statement" : [ { "Sid" : "Allow access to principals authorized to manage Amazon DataZone", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::<account_id>:root" }, "Action" : [ "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource" : "arn:aws:kms:region:<account_id>:key/key_ID", } ]
注記

Amazon DataZone データポータルを介してアクセスされるリソースには、KMSポリシーの拒否は適用されません。

ポリシー でのアクセス許可の指定の詳細については、 AWS 「キー管理サービスデベロッパーガイド」を参照してください。

キーアクセスのトラブルシューティングの詳細については、 AWS 「キー管理サービスデベロッパーガイド」を参照してください。

Amazon のカスタマーマネージドキーの指定 DataZone

Amazon DataZone 暗号化コンテキスト

暗号化コンテキストは、データに関する追加のコンテキスト情報が含まれたキーと値のペアのオプションのセットです。

AWS KMS は、追加の認証済みデータとして暗号化コンテキストを使用して、認証済み暗号化 をサポートします。データを暗号化するリクエストに暗号化コンテキストを含めると、 AWS KMS は暗号化コンテキストを暗号化されたデータにバインドします。データを復号化するには、そのリクエストに (暗号化時と) 同じ暗号化コンテキストを含めます。

Amazon は、次の暗号化コンテキスト DataZone を使用します。

"encryptionContextSubset": { "aws:datazone:domainId": "{root-domain-uuid}" }

モニタリングに暗号化コンテキストを使用する - 対称カスタマーマネージドキーを使用して Amazon を暗号化する場合 DataZone、監査レコードとログの暗号化コンテキストを使用して、カスタマーマネージドキーがどのように使用されているかを特定することもできます。暗号化コンテキストは、 AWS CloudTrail または Amazon CloudWatch Logs によって生成されたログにも表示されます。

暗号化コンテキストを使用してカスタマーマネージドキーへのアクセスを制御する - 対称カスタマーマネージドキーへのアクセスを制御する条件として、キーポリシーとIAMポリシーの暗号化コンテキストを使用できます。付与する際に、暗号化コンテキストの制約を使用することもできます。

Amazon DataZone は、権限で暗号化コンテキスト制約を使用して、アカウントまたはリージョンのカスタマーマネージドキーへのアクセスを制御します。権限の制約では、権限によって許可されるオペレーションで指定された暗号化コンテキストを使用する必要があります。

次に、特定の暗号化コンテキストのカスタマーマネージドキーへのアクセスを付与するキーポリシーステートメントの例を示します。このポリシーステートメントの条件では、権限に暗号化コンテキストを指定する暗号化コンテキスト制約が必要です。

{ "Sid": "Enable DescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:DescribeKey", "Resource": "*" },{ "Sid": "Enable Decrypt, GenerateDataKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:datazone:domainId": "{root-domain-uuid}" } } }

Amazon の暗号化キーのモニタリング DataZone

Amazon DataZone リソースでカスタマーマネージドキーを使用する場合 AWS KMS、 AWS CloudTrailを使用して、Amazon が DataZone に送信するリクエストを追跡できます AWS KMS。次の例はCreateGrant、、GenerateDataKey、、および の AWS CloudTrail イベントでDecrypt、Amazon によって呼び出されたKMSオペレーションDescribeKeyをモニタリング DataZone して、カスタマーマネージドキーによって暗号化されたデータにアクセスします。カスタマーマネージドキーを使用して AWS KMS Amazon DataZone ドメインを暗号化すると、Amazon はユーザーに代わって AWS アカウント内のKMSキーにアクセスするためのCreateGrantリクエスト DataZone を送信します。Amazon が DataZone 作成する権限は、カスタマーマネージドキーに関連付けられたリソースに固有です AWS KMS。さらに、Amazon DataZone は RetireGrantオペレーションを使用して、ドメインを削除するときに許可を削除します。以下のイベント例では CreateGrant オペレーションを記録しています。

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE: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": "datazone.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": { "constraints": { "encryptionContextSubset": { "aws:datazone:domainId": "SAMPLE-root-domain-uuid" } }, "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "operations": [ "Decrypt", "GenerateDataKey", "RetireGrant", "DescribeKey" ], "granteePrincipal": "datazone.us-west-2.amazonaws.com" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "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" }

暗号化された AWS Glue カタログを含む Data Lake 環境の作成

高度なユースケースでは、暗号化された AWS Glue カタログを使用する場合は、カスタマーマネージドKMSキーを使用するには Amazon DataZone サービスへのアクセスを許可する必要があります。これを行うには、カスタムKMSポリシーを更新し、キーにタグを追加します。暗号化された AWS Glue カタログのデータを操作する Amazon DataZone サービスへのアクセスを許可するには、次の手順を実行します。

  • 次のポリシーをカスタムKMSキーに追加します。詳細については、キーポリシーの変更を参照してください。

    { "Sid": "Allow datazone environment roles to use the key", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Decrypt", "kms:Describe*", "kms:Get*" ], "Resource": "*", "Condition": { "StringLike": { "aws:PrincipalArn": "arn:aws:iam::*:role/*datazone_usr*" } } }
  • カスタムKMSキーに次のタグを追加します。詳細については、「タグを使用してKMSキーへのアクセスを制御する」を参照してください。

    key: AmazonDataZoneEnvironment value: all