

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

# EventBridge スケジューラでの保管中の暗号化
<a name="encryption-rest"></a>

 このセクションでは、Amazon EventBridge スケジューラが保管中のデータを暗号化および復号化する方法について説明します。保管中のデータとは、EventBridge スケジューラとサービスの基盤となるコンポーネントに保存されているデータです。EventBridge スケジューラは AWS Key Management Service (AWS KMS) と統合され、 を使用してデータを暗号化および復号化します[AWS KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys)。EventBridge スケジューラは、[AWS 所有のキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) と[カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)の 2 種類の KMS キーをサポートしています。

**注記**  
 EventBridge スケジューラは、[対称](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks)暗号化 KMS キーの使用のみをサポートしています。

 *AWS 所有のキー* は、 AWS サービスが複数の AWS アカウントで使用するために所有および管理する KMS キーです。 AWS 所有のキー EventBridge スケジューラが使用する は AWS アカウントに保存されませんが、EventBridge スケジューラはそれらを使用してデータとリソースを保護します。デフォルトでは、EventBridge スケジューラは AWS 所有キーを使用してすべてのデータを暗号化および復号します。自分の AWS 所有のキー またはアクセスポリシーを管理する必要はありません。EventBridge スケジューラがデータ AWS 所有のキー を保護するために を使用する場合、料金は発生せず、その使用量はアカウントの AWS KMS クォータの一部としてカウントされません。

 *カスタマーマネージドキー*は、作成、所有、管理する AWS アカウントに保存されている KMS キーです。特定のユースケースで、EventBridge スケジューラでデータを保護する暗号化キーを管理および監査する必要がある場合は、カスタマーマネージドキーを使用できます。カスタマーマネージドキーを選択した場合、キーポリシーを管理する必要があります。カスタマーマネージドキーの使用には、月額料金と、無料利用枠を超えた使用に対する料金がかかります。カスタマーマネージドキーの使用も [AWS KMS クォータ](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)の一部としてカウントされます。料金の詳細については、「[AWS Key Management Service の料金](https://aws.amazon.com/kms/pricing/)」を参照してください。

**Topics**
+ [暗号化アーティファクト](#encryption-rest-artifacts)
+ [KMS キーの管理](#key-management)
+ [CloudTrail イベントの例](#key-management-cloud-trail)

## 暗号化アーティファクト
<a name="encryption-rest-artifacts"></a>

 次の表は、EventBridge スケジューラが保管時に暗号化するさまざまなタイプのデータと、各カテゴリでサポートされる KMS キーの種類を示しています。


| データ型 | 説明 | AWS 所有のキー | カスタマーマネージドキー | 
| --- | --- | --- | --- | 
|  ペイロード (最大 256 KB)  |  スケジュールをターゲットに配信するように設定するときに、スケジュールの `TargetInput` パラメータで指定するデータ。  |  サポート対象  |  サポート  | 
|  識別子と状態  |  スケジュールの固有の名前と状態 (有効、無効)。  |  サポート  |  サポートされていません  | 
|  スケジューリング設定  |  繰り返しのスケジュールの場合は rate 式や cron 式などのスケジューリング式、1 回限りの呼び出しの場合はタイムスタンプ、スケジュールの開始日、終了日、タイムゾーン。  |  サポート  |  サポートされていません  | 
|  ターゲット設定  |  ターゲットの Amazon リソースネーム (ARN)、およびその他のターゲットに関連する設定の詳細。  |  サポート  |  サポートされていません  | 
|  呼び出しと障害動作の設定  |  柔軟な時間枠設定、スケジュールの再試行ポリシー、配信失敗時に使用するデッドレターキューの詳細。  |  サポート  |  サポートされていません  | 

 EventBridge スケジューラは、前の表で説明したように、ターゲットペイロードを暗号化および復号化する場合にのみカスタマーマネージドキーを使用します。カスタマーマネージドキーを使用することを選択した場合、EventBridge スケジューラはペイロードを 2 回暗号化および復号します。1 回はデフォルトを使用し AWS 所有のキー、もう 1 回は指定したカスタマーマネージドキーを使用します。他のすべてのデータ型では、EventBridge スケジューラは保管中のデータ AWS 所有のキー を保護するためにデフォルトのみを使用します。

 以下の [KMS キーの管理](#key-management) セクションでは、EventBridge スケジューラでカスタマーマネージドキーを使用するために IAM リソースとキーポリシーを管理する方法を説明します。

## KMS キーの管理
<a name="key-management"></a>

 スケジュールがターゲットに配信するペイロードを暗号化および復号化するためのカスタマーマネージドキーをオプションで提供できます。EventBridge スケジューラは、最大 256 KB のデータのペイロードを暗号化および復号化します。カスタマーマネージドキーの使用には、月額料金と、無料利用枠を超えた使用に対する料金がかかります。カスタマーマネージドキーの使用は [AWS KMS クォータ](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)の一部としてカウントされます。料金の詳細については、「[AWS Key Management Service の料金](https://aws.amazon.com/kms/pricing/)」を参照してください。

 EventBridge スケジューラは、データを暗号化するスケジュールを作成するプリンシパルに関連付けられた IAM アクセス許可を使用します。つまり、EventBridge スケジューラ API を呼び出すユーザーまたはロールに必要な AWS KMS 関連アクセス許可をアタッチする必要があります。さらに、EventBridge スケジューラはリソースベースのポリシーを使用してデータを復号化します。つまり、スケジュールに関連付けられた実行ロールには、データの復号時に AWS KMS API を呼び出すために必要な AWS KMS 関連アクセス許可も必要です。

**注記**  
 EventBridge スケジューラは、一時的な権限の[付与](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)の使用をサポートしていません。

 次のセクションでは、 AWS KMS [キーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)を管理する方法と、EventBridge スケジューラでカスタマーマネージドキーを使用するために必要な IAM アクセス許可について説明します。

**Topics**
+ [IAM アクセス許可を追加する](#key-management-iam-permissions)
+ [キーポリシーの管理](#key-management-key-policy)

### IAM アクセス許可を追加する
<a name="key-management-iam-permissions"></a>

 カスタマーマネージドキーを使用するには、スケジュールを作成するアイデンティティベースの IAM プリンシパルに次の権限と、スケジュールに関連付ける実行ロールを追加する必要があります。

#### カスタマーマネージドキーに対するアイデンティティベースのアクセス許可
<a name="key-management-iam-permissions-identity-based"></a>

スケジュールの作成時に EventBridge スケジューラ API を呼び出すプリンシパル (ユーザー、グループ、またはロール) に関連付けられたアクセス許可ポリシーに、次の AWS KMS アクションを追加する必要があります。
+  **`kms:DescribeKey`** — 指定したキーが[対称](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks)暗号化 KMS キーであることを検証するために必要です。
+  **`kms:GenerateDataKey`** — EventBridge スケジューラがクライアント側の暗号化を実行するために使用するデータキーを生成するために必要です。
+  **`kms:Decrypt`** — EventBridge スケジューラが暗号化されたデータとともに保存する暗号化されたデータキーを復号化するために必要です。

これらは、次のアクションに加えて行われます。
+  **`scheduler:*`** 
+  **`iam:PassRole`** – 実行ロールを渡すために必要です。

#### カスタマーマネージドキーの実行ロール権限
<a name="key-management-iam-permissions-execution-role"></a>

 データを復号するときに AWS KMS API を呼び出す EventBridge スケジューラへのアクセスを提供するには、スケジュールの実行ロールのアクセス許可ポリシーに次のアクションを追加する必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowEventBridgeSchedulerToDecryptDataUsingCMKMS",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/your-key-id"
        }
    ]
}
```

------
+  **`kms:Decrypt`** — EventBridge スケジューラが暗号化されたデータとともに保存する暗号化されたデータキーを復号化するために必要です。

 新しいスケジュールを作成するときに EventBridge スケジューラのコンソールを使用して新しい実行ロールを作成すると、EventBridge スケジューラは必要な権限を自動的に実行ロールにアタッチします。ただし、既存の実行ロールを選択した場合、カスタマーマネージドキーを使用できるようにするには、必要な権限をロールに追加する必要があります。

### キーポリシーの管理
<a name="key-management-key-policy"></a>

 デフォルトでは AWS KMS、 を使用してカスタマーマネージドキーを作成すると、スケジュールの実行ロールへのアクセスを提供する次のキーポリシーがキーに含まれます。

 オプションで、キーポリシーの範囲を実行ロールへのアクセスのみに限定することもできます。これは、カスタマーマネージドキーを EventBridge スケジューラのリソースでのみ使用したい場合などに行います。次の[キーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)の例を使用して、キーを使用できる EventBridge スケジューラのリソースを制限します。

## CloudTrail イベントの例
<a name="key-management-cloud-trail"></a>

 AWS CloudTrail は、すべての API コール*イベント*をキャプチャします。これには、EventBridge スケジューラがカスタマーマネージドキーを使用してデータを復号化するときの API コールが含まれます。次の例は、カスタマーマネージドキーを使用して `kms:Decrypt` アクションを使用する EventBridge スケジューラを示す CloudTrail イベントエントリを示しています。

```
{
  "eventVersion": "1.08",
  "userIdentity": {
      "type": "AssumedRole",
      "principalId": "ABCDEABCD1AB12ABABAB0:70abcd123a123a12345a1aa12aa1bc12",
      "arn": "arn:aws:sts::123456789012:assumed-role/execution-role/70abcd123a123a12345a1aa12aa1bc12",
      "accountId": "123456789012",
      "accessKeyId": "ABCDEFGHI1JKLMNOP2Q3",
      "sessionContext": {
          "sessionIssuer": {
              "type": "Role",
              "principalId": "ABCDEABCD1AB12ABABAB0",
              "arn": "arn:aws:iam::123456789012:role/execution-role",
              "accountId": "123456789012",
              "userName": "execution-role"
          },
          "webIdFederationData": {},
          "attributes": {
              "creationDate": "2022-10-31T21:03:15Z",
              "mfaAuthenticated": "false"
          }
      }
    },
    "eventTime": "2022-10-31T21:03:15Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "eu-north-1",
    "sourceIPAddress": "13.50.87.173",
    "userAgent": "aws-sdk-java/2.17.295 Linux/4.14.291-218.527.amzn2.x86_64 OpenJDK_64-Bit_Server_VM/11.0.17+9-LTS Java/11.0.17 kotlin/1.3.72-release-468 (1.3.72) vendor/Amazon.com_Inc. md/internal exec-env/AWS_ECS_FARGATE io/sync http/Apache cfg/retry-mode/standard AwsCrypto/2.4.0",
    "requestParameters": {
        "keyId": "arn:aws:kms:us-west-2:123456789012:key/2321abab-2110-12ab-a123-a2b34c5abc67",
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT",
        "encryptionContext": {
            "aws:scheduler:schedule:arn": "arn:aws:scheduler:us-west-2:123456789012:schedule/default/execution-role"
        }
    },
    "responseElements": null,
    "requestID": "request-id",
    "eventID": "event-id",
    "readOnly": true,
    "resources": [
        {
            "accountId": "123456789012",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:123456789012:key/2321abab-2110-12ab-a123-a2b34c5abc67"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management",
    "tlsDetails": {
      "tlsVersion": "TLSv1.3",
      "cipherSuite": "TLS_AES_256_GCM_SHA384",
      "clientProvidedHostHeader": "kms.us-west-2.amazonaws.com"
  }
}
```