暗号化にカスタマーマネージドキーを使用する - 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 Logs、Amazon SQS キュー、Aurora PostgreSQL データベース、Secrets Manager シークレット、Amazon S3 バケット、DynamoDB テーブルからの保管中のデータを暗号化するために環境に必要な、きめ細かい権限があるためです。

Amazon MWAA 環境を作成し、カスタマーマネージド KMS キーを指定すると、Amazon MWAA はカスタマーマネージド KMS キーに付与ポリシーをアタッチします。これらのポリシーによりairflow.us-east-1.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.us-east-1.amazonaws.com", "RetiringPrincipal": "airflow.us-east-1.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.us-east-1.amazonaws.com", "RetiringPrincipal": "airflow.us-east-1.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.us-east-1.amazonaws.com", "RetiringPrincipal": "airflow.us-east-1.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ] }

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

{ "Name": "mwaa-fargate-access-for-environment name", "GranteePrincipal": "airflow.us-east-1.amazonaws.com", "RetiringPrincipal": "airflow.us-east-1.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 Logs を許可するようにキーポリシーを更新する必要があります。詳細については、「 AWS Key Management Service サービスを使用した CloudWatch のログデータの暗号化」を参照してください。

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

{ "Effect": "Allow", "Principal": { "Service": "logs.us-east-1.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-east-1:*:*" } } }