

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

# 暗号化のためのカスタマーマネージドキーの使用
<a name="custom-keys-certs"></a>

オプションで、環境内のデータ暗号化するための [カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) を提供できます。カスタマーマネージド KMS キーは、Amazon MWAA 環境インスタンスと、ワークフローのリソースを保存する Amazon S3 バケットと同じリージョンに作成する必要があります。指定するカスタマーマネージド KMS キーが、クラスターの構成に使用するアカウントとは異なるアカウントにある場合は、その ARN を使用してキーをクロスアカウントアクセスに指定する必要があります。キーの作成の詳細については、*AWS Key Management Service デベロッパーガイド* の [キーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) を参照してください。

## サポート対象
<a name="custom-keys-grants-support"></a>


| AWS KMS 機能 | サポート | 
| --- | --- | 
|  [AWS KMS キー ID または ARN](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html)。  |  はい  | 
|  [AWS KMS キーエイリアス](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html)。  |  いいえ  | 
|  [AWS KMS マルチリージョンキー](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)。  |  いいえ  | 

## 暗号化のための許可の使用
<a name="custom-keys-grants-provide"></a>

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

### 仕組み
<a name="custom-keys-certs-grants"></a>

カスタマーマネージド KMS キー AWS KMS では、 でサポートされるリソースベースのアクセスコントロールメカニズムとして、[キーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)と[グラント](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)の 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 実行ロールが含まれます。

## 許可ポリシー
<a name="custom-keys-certs-grant-policies"></a>

Amazon MWAA は、お客様に代わって以下の [リソースベースのポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) 許可をカスタマーマネージドの KMS キーに追加します。これらのポリシーにより、被付与者とプリンシパル (Amazon MWAA) は、ポリシーで定義されたアクションを実行できます。

### 許可 1: データプレーンリソースの作成に使用
<a name="custom-keys-certs-grant-policies-1"></a>

```
{
  "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` アクセスに使用
<a name="custom-keys-certs-grant-policies-2"></a>

```
{
  "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` アクセスに使用
<a name="custom-keys-certs-grant-policies-3"></a>

```
{
  "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 実行ロールに使用
<a name="custom-keys-certs-grant-policies-4"></a>

```
{
  "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"
  ]
}
```

## カスタマーマネージドキーへのキーポリシーの適用
<a name="custom-keys-certs-grant-policies-attach"></a>

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

Amazon MWAA 環境に使用したカスタマーマネージド KMS キーが CloudWatch と連携するようにまだ構成されていない場合は、暗号化された CloudWatch Logs を許可するように [キーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) を更新する必要があります。詳細については、「 [AWS Key Management Service サービスを使用した CloudWatch のログデータの暗号化](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html)」を参照してください。

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

```
{
  "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:*:*"
    }
  }
}
```