暗号化のためのカスタマーマネージドキーの使用 - Amazon Managed Workflows for Apache Airflow

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

暗号化のためのカスタマーマネージドキーの使用

オプションで、環境内のデータ暗号化するための「カスタマーマネージドキー」を提供できます。カスタマーマネージド KMS キーは、Amazon MWAA 環境インスタンスと、ワークフローのリソースを保存する Amazon S3 バケットと同じリージョンに作成する必要があります。指定するカスタマーマネージド KMS キーが、クラスターの構成に使用するアカウントとは異なるアカウントにある場合は、その ARN を使用してキーをクロスアカウントアクセスに指定する必要があります。キーの作成の詳細については、「AWS Key Management Service デベロッパーガイド」の「キーの作成」を参照してください。

サポート対象

AWS KMS 機能 サポート対象

AWS KMS キー ID または ARN」。

あり

AWS KMS キーエイリアス」。

なし

AWS KMS マルチリージョンキー」。

なし

暗号化のための許可の使用。

このトピックでは、データの暗号化および復号化のために、Amazon MWAA がお客様に代わってカスタマーマネージド KMS キーに付与する許可について説明します。

仕組み

カスタマーマネージド KMS キー AWS KMS には、 でサポートされるリソースベースのアクセスコントロールメカニズムとして、キーポリシーグラントの 2 つがあります。

キーポリシーは、権限がほとんど静的で、同期サービスモードで使用される場合に使用されます。許可は、サービスが自身や他のアカウントに異なるアクセス権限を定義する必要がある場合など、より動的で詳細な権限が必要な場合に使用されます。

Amazon MWAA では、4 つの付与ポリシーを使用してカスタマーマネージド KMS キーにアタッチします。これは、環境が CloudWatch ログ、Amazon SQS キュー、Aurora PostgreSQL データベース、Secrets Manager シークレット、Amazon S3 バケット、DynamoDB テーブルから保管中のデータを暗号化するために必要なきめ細かいアクセス許可によるものです。

Amazon MWAA 環境を作成してカスタマーマネージド KMS キーを指定すると、Amazon MWAA はその許可ポリシーをカスタマーマネージド KMS キーにアタッチします。これらのポリシーにより、airflow.region}.amazonaws.com 内の Amazon MWAA はお客様のカスタマーマネージド KMS キーを使用して、お客様に代わって Amazon MWAA が所有するリソースを暗号化することができます。

Amazon MWAA は、お客様に代わって指定された KMS キーに追加の権限を作成し、アタッチします。これには、環境を削除した場合にグラントを廃止するポリシー、クライアント側の暗号化 (CSE) にカスタマーマネージド KMS キーを使用するポリシー、Secrets Manager のカスタマーマネージドキーで保護されたシークレットにアクセスする必要がある AWS Fargate 実行ロールを使用するポリシーが含まれます。

許可ポリシー

Amazon MWAA は、お客様に代わって以下の「リソースベースのポリシー」許可をカスタマーマネージドの KMS キーに追加します。これらのポリシーにより、被付与者とプリンシパル (Amazon MWAA) は、ポリシーで定義されたアクションを実行できます。

許可 1: データプレーンリソースの作成に使用

{ "Name": "mwaa-grant-for-env-mgmt-role-environment name", "GranteePrincipal": "airflow.region.amazonaws.com", "RetiringPrincipal": "airflow.region.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey", "kms:RetireGrant" ] }

許可 2: ControllerLambdaExecutionRole アクセスに使用

{ "Name": "mwaa-grant-for-lambda-exec-environment name", "GranteePrincipal": "airflow.region.amazonaws.com", "RetiringPrincipal": "airflow.region.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:RetireGrant" ] }

許可 3: CfnManagementLambdaExecutionRole アクセスに使用

{ "Name": " mwaa-grant-for-cfn-mgmt-environment name", "GranteePrincipal": "airflow.region.amazonaws.com", "RetiringPrincipal": "airflow.region.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ] }

許可 4: バックエンドシークレットにアクセスするための Fargate 実行ロールに使用

{ "Name": "mwaa-fargate-access-for-environment name", "GranteePrincipal": "airflow.region.amazonaws.com", "RetiringPrincipal": "airflow.region.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:RetireGrant" ] }

カスタマーマネージドキーへのキーポリシーの適用

Amazon MWAA で独自のカスタマーマネージド KMS キーを使用する場合は、Amazon MWAA がキーを使用してデータを暗号化できるように、以下のポリシーをキーにアタッチする必要があります。

Amazon MWAA 環境に使用したカスタマーマネージド KMS キーが と連携するようにまだ設定されていない場合は CloudWatch、暗号化された CloudWatch ログを許可するようにキーポリシーを更新する必要があります。詳細については、「サービス CloudWatch を使用して でログデータを暗号化する AWS Key Management Service」を参照してください。

次の例は、 CloudWatch ログのキーポリシーを表します。リージョンに提供されているサンプル値に置き換えてください。

{ "Effect": "Allow", "Principal": { "Service": "logs.us-west-2.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:us-west-2:*:*" } } }