

# Amazon Aurora DSQL のデータ暗号化
<a name="data-encryption"></a>

Amazon Aurora DSQL は、すべての静止データを暗号化します。セキュリティを強化するために、この暗号化では AWS Key Management Service (AWS KMS) を使用します。この機能は、機密データの保護における負担と複雑な作業を減らすのに役立ちます。保管中の暗号化は、以下に役立ちます。
+ 機密データを保護する運用上の負担を軽減する
+ セキュリティを重視したアプリケーションを構築して、暗号化のコンプライアンスと厳格な規制要件を満たす
+ 暗号化されたクラスター内のデータを常に保護することで、追加のデータ保護レイヤーを提供する
+ 組織のポリシー、業界または政府の規制、コンプライアンス要件に準拠する

Aurora DSQL では、セキュリティを重視したアプリケーションを構築して、暗号化のコンプライアンスと厳格な規制要件. を満たすことができます。以下のセクションでは、新規および既存の Aurora DSQL データベースの暗号化を設定し、暗号化キーを管理する方法について説明します。

**Topics**
+ [Aurora DSQL の KMS キーの種類](#kms-key-types)
+ [Aurora DSQL での保管中の暗号化](#encryption-at-rest)
+ [Aurora DSQL での AWS KMS およびデータキーの使用](#using-kms-and-data-keys)
+ [Aurora DSQL で AWS KMS keyの使用を許可する](#authorizing-kms-key-use)
+ [Aurora DSQL 暗号化コンテキスト](#dsql-encryption-context)
+ [Aurora DSQL と AWS KMS のインタラクションのモニタリング](#monitoring-dsql-kms-interaction)
+ [暗号化された Aurora DSQL クラスターの作成](#creating-encrypted-cluster)
+ [Aurora DSQL クラスターのキーの削除または更新](#updating-encryption-key)
+ [Aurora DSQL による暗号化に関する考慮事項](#considerations-with-encryption)

## Aurora DSQL の KMS キーの種類
<a name="kms-key-types"></a>

Aurora DSQL は AWS KMS と統合して、クラスターの暗号化キーを管理します。キーの種類と詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[AWS Key Management Service concepts](https://docs.aws.amazon.com/kms/latest/developerguide/concepts-intro.html)」を参照してください。新しいクラスターを作成するときは、次の KMS キータイプから選択してクラスターを暗号化できます。

**AWS 所有のキー**  
デフォルトの暗号化タイプ。Aurora DSQL は、追加料金なしでキーを所有します。Amazon Aurora DSQL は、暗号化されたクラスターにアクセスするときにクラスターデータを透過的に復号します。暗号化されたクラスターを使用または管理するためにコードやアプリケーションを変更する必要はありません。すべての Aurora DSQL クエリは暗号化されたデータで動作します。

**カスタマー管理のキー**  
お客様の AWS アカウントでキーを作成、所有、および管理できます。ユーザーには KMS キーに対するフルコントロールの権限があります (AWS KMS の料金が適用されます)。

AWS 所有のキー を使用した保管中の暗号化に追加の料金はかかりません。ただし、カスタマーマネージドキーには AWS KMS の料金がかかります。詳細については、[AWS KMS 料金表](https://aws.amazon.com/kms/pricing/)ページを参照してください。

キーの種類は、いつでも切り替えることができます。キータイプの詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)」および「[AWS 所有のキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)」を参照してください。

**注記**  
Aurora DSQL の保管中の暗号化は、Aurora DSQL が利用可能なすべての AWS リージョンでご利用いただけます。

## Aurora DSQL での保管中の暗号化
<a name="encryption-at-rest"></a>

Amazon Aurora DSQL では、256 ビットの Advanced Encryption Standard (AES-256) を使用して静止データを暗号化します。この暗号化は、基盤となるストレージへの不正アクセスからデータを保護するのに役立ちます。AWS KMS は、クラスターの暗号化キーを管理します。デフォルトの [AWS 所有のキー](#aws-owned-keys) を使用できます。または、独自の AWS KMS [カスタマーマネージドキー](#customer-managed-keys) を使用することを選択できます。Aurora DSQL クラスターのキーの指定と管理の詳細については、「[暗号化された Aurora DSQL クラスターの作成](#creating-encrypted-cluster)」および「[Aurora DSQL クラスターのキーの削除または更新](#updating-encryption-key)」を参照してください。

**Topics**
+ [AWS 所有のキー](#aws-owned-keys)
+ [カスタマーマネージドキー](#customer-managed-keys)

### AWS 所有のキー
<a name="aws-owned-keys"></a>

Aurora DSQL は、デフォルトですべてのクラスターを AWS 所有のキー で暗号化します。これらのキーは、アカウントリソースを保護するために無料で使用でき、毎年ローテーションします。キーを表示、管理、使用、または監査する必要がないため、データ保護のためのアクションは必要ありません。AWS 所有のキー の詳細については、「*AWS Key Management Service Developer Guide*」の「[AWS 所有のキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) 」を参照してください。

### カスタマーマネージドキー
<a name="customer-managed-keys"></a>

AWS アカウントでカスタマーマネージドキーを作成、所有、管理できます。ポリシー、暗号化マテリアル、タグ、エイリアスなど、これらの KMS キーを完全に制御できます。アクセス許可の管理の詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)」を参照してください。

クラスターレベルの暗号化にカスタマーマネージドキーを指定すると、Aurora DSQL はそのキーを使用して、クラスターとそのすべてのリージョンのデータを暗号化します。データ損失を防ぎ、クラスターアクセスを維持するために、Aurora DSQL は暗号化キーにアクセスする必要があります。カスタマーマネージドキーを無効にした場合、キーの削除をスケジュールした場合、またはサービスアクセスを制限するポリシーがある場合、クラスターの暗号化ステータスは `KMS_KEY_INACCESSIBLE` に変わります。Aurora DSQL がキーにアクセスできない場合、ユーザーはクラスターに接続できず、クラスターの暗号化ステータスが `KMS_KEY_INACCESSIBLE` に変わります。また、サービスはクラスターデータにアクセスできなくなります。

マルチリージョンクラスターの場合、お客様は各リージョンの AWS KMS 暗号化キーを個別に設定でき、各リージョンのクラスターは独自のクラスターレベルの暗号化キーを使用します。Aurora DSQL がマルチリージョンクラスター内のピアの暗号化キーにアクセスできない場合、そのピアのステータスは `KMS_KEY_INACCESSIBLE` になり、読み取りおよび書き込み操作で使用できなくなります。他のピアは通常の操作を続行します。

**注記**  
Aurora DSQL がカスタマーマネージドキーにアクセスできない場合、クラスターの暗号化ステータスは `KMS_KEY_INACCESSIBLE` に変わります。キーアクセスをリストアすると、サービスは 15 分以内にリストアを自動的に検出します。詳細については、「クラスターのアイドリング」を参照してください。  
マルチリージョンクラスターの場合、キーへのアクセスが長期間失われると、クラスターのリストア時間は、キーにアクセスできない間に書き込まれたデータの量によって異なります。

## Aurora DSQL での AWS KMS およびデータキーの使用
<a name="using-kms-and-data-keys"></a>

Aurora DSQL の保管中の暗号化機能は、AWS KMS keyおよびデータキーの階層を使用してクラスターのデータを保護します。

Aurora DSQL にクラスターを実装する前に、暗号化戦略を計画することをお勧めします。機密データまたは秘密データを Aurora DSQL に保存する場合は、クライアント側の暗号化をプランに含めることを検討してください。これにより、データをできるだけ送信元に近い状態で暗号化し、ライフサイクル全体にわたってデータを確実に保護できます。

**Topics**
+ [Aurora DSQL での AWS KMS keyの使用](#aws-kms-key)
+ [Aurora DSQL でのクラスターキーの使用](#cluster-keys)
+ [クラスターキーのキャッシュ](#cluster-key-caching)

### Aurora DSQL での AWS KMS keyの使用
<a name="aws-kms-key"></a>

保管中の暗号化は、AWS KMS keyで Aurora DSQL クラスターを保護します。デフォルトでは、Aurora DSQL は AWS 所有のキー (Aurora DSQL サービスアカウントで作成および管理されるマルチテナント暗号化キー) を使用します。ただし、Aurora DSQL クラスターは、AWS アカウントのカスタマーマネージドキーで暗号化できます。マルチリージョン設定に参加している場合でも、クラスターごとに異なる KMS キーを選択できます。

クラスターを作成または更新するときは、クラスター用の KMS キーを選択します。クラスター用 KMS キーは、Aurora DSQL コンソールで、または `UpdateCluster` オペレーションを使用していつでも変更できます。キーの切り替えプロセスでは、ダウンタイムやサービスの低下が求められません。

**重要**  
Aurora DSQL は、対称 KMS キーのみをサポートします。非対称 KMS キーを使用して Aurora DSQL クラスターを暗号化することはできません。

カスタマーマネージドキーには、次のメリットがあります。
+ KMS キーを作成および管理します。これには、キーポリシーおよび IAM ポリシーの設定、KMS キーへのアクセスを制御する設定が含まれます。KMS キーの有効化または無効化、自動キーローテーションの有効化または無効化、使用しなくなった KMS キーの削除を実行できます。
+ インポートされたキーマテリアルを持つカスタマーマネージドキー、またはユーザーが所有して管理するカスタムキーストアで、カスタマーマネージドキーを使用できます。
+ Aurora DSQL クラスターの暗号化と復号を監査するには、AWS CloudTrail ログで AWS KMS への Aurora DSQL API コールを調べます。

ただし、AWS 所有のキー は無料で、その使用は AWS KMS リソースクォータまたはリクエストクォータに対してカウントされません。カスタマーマネージドキーには API コールごとに料金が発生し、これらのキーには AWS KMS クォータが適用されます。

### Aurora DSQL でのクラスターキーの使用
<a name="cluster-keys"></a>

Aurora DSQL は、クラスターの AWS KMS keyを使用して、**クラスターキー**と呼ばれるクラスターの一意のデータキーを生成および暗号化します。

クラスターキーは、キー暗号化キーとして使用されます。Aurora DSQL はこのクラスターキーを使用して、クラスターデータの暗号化に使用されるデータ暗号化キーを保護します。Aurora DSQL はクラスターの基本構造ごとに一意のデータ暗号化キーを生成しますが、複数のクラスター項目は同じデータ暗号化キーによって保護されていることがあります。

クラスターキーを復号するために、Aurora DSQL は暗号化されたクラスターに初めてアクセスするときに AWS KMS にリクエストを送信します。クラスターを使用可能にするために、Aurora DSQL はクラスターにアクティブにアクセスしていない場合でも、KMS キーへの復号アクセスを定期的に検証します。

Aurora DSQL は、クラスターキーとデータ暗号化キーを AWS KMS の外部に保存して使用します。これによって、Advanced Encryption Standard (AES) 暗号化および 256 ビット暗号化キーのすべてのキーが保護されます。続いて、暗号化されたキーを暗号化されたデータと一緒に保存します。これらのキーおよびデータは、必要なときにクラスターデータの復号に使用できます。

クラスターの KMS キーを変更すると、Aurora DSQL は既存のクラスターキーを新しい KMS キーで再暗号化します。

### クラスターキーのキャッシュ
<a name="cluster-key-caching"></a>

Aurora DSQL オペレーションごとに AWS KMS を呼び出さないように、Aurora DSQL は各呼び出しのプレーンテキストのクラスターキーをメモリにキャッシュします。Aurora DSQL では、キャッシュしたクラスターキーが 15 分間非アクティブ状態であった後にリクエストを取得すると、AWS KMS に新しいリクエストを送信してクラスターキーを復号します。この呼び出しは、クラスターキーの復号を求める前回のリクエスト以降に AWS KMS または AWS Identity and Access Management (IAM) で AWS KMS keyのアクセスポリシーに加えられた変更をすべてキャプチャします。

## Aurora DSQL で AWS KMS keyの使用を許可する
<a name="authorizing-kms-key-use"></a>

Aurora DSQL クラスターを保護するために、アカウントでカスタマーマネージドキーを使用する場合は、そのキーのポリシーが Aurora DSQL に、ユーザーに代わってキーを使用する許可を付与する必要があります。

カスタマーマネージドキーに対するポリシーのフルコントロールはお客様にあります。Aurora DSQL では、デフォルトの AWS 所有のキー を使用して AWS アカウントの Aurora DSQL クラスターを保護するために追加の承認は必要ありません。

### カスタマーマネージドキーのキーポリシー
<a name="key-policy-customer-managed-key"></a>

Aurora DSQL クラスターを保護するためにカスタマーマネージドキーを選択する場合、Aurora DSQL には、選択を行うプリンシパルに代わって AWS KMS keyを使用するアクセス許可が必要です。そのプリンシパル (ユーザーまたはロール) は、Aurora DSQL に必要な AWS KMS keyのアクセス許可を持つ必要があります。それらのアクセス許可は、キーポリシーまたは IAM ポリシーにより付与できます。

Aurora DSQL には、少なくとも、カスタマーマネージドキーに対する次のアクセス許可が必要です。
+ `kms:Encrypt`
+ `kms:Decrypt`
+ `kms:ReEncrypt*` (kms:ReEncryptFrom および kms:ReEncryptTo の場合)
+ `kms:GenerateDataKey`
+ `kms:DescribeKey`

例えば、次のキーポリシーの例では、必要なアクセス許可のみを提供します。このポリシーには、以下の影響があります。
+ Aurora DSQL で AWS KMS keyを暗号化オペレーションで使用します。ただし、Aurora DSQL の使用許可を持つアカウント内のプリンシパルの代理として動作している場合に限ります。ポリシーステートメントで指定されたプリンシパルに Aurora DSQL を使用するアクセス許可がない場合、Aurora DSQL サービスから呼び出された場合でも、呼び出しは失敗します。
+ `kms:ViaService` 条件キーは、ポリシーステートメントにリストされているプリンシパルの代わりに Aurora DSQL からリクエストが来た場合にのみアクセス許可を許可します。これらのプリンシパルは、これらのオペレーションを直接呼び出すことはできません。

サンプルキーポリシーを使用する前に、サンプルプリンシパルを AWS アカウント の実際のプリンシパルに置き換えます。

```
{
  "Sid": "Enable dsql IAM User Permissions",
  "Effect": "Allow",
  "Principal": {
    "Service": "dsql.amazonaws.com"
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey",
    "kms:Encrypt",
    "kms:ReEncryptFrom",
    "kms:ReEncryptTo"
  ],
  "Resource": "*",
  "Condition": {
    "StringLike": {
      "kms:EncryptionContext:aws:dsql:ClusterId": "w4abucpbwuxx",
      "aws:SourceArn": "arn:aws:dsql:us-east-2:111122223333:cluster/w4abucpbwuxx"
    }
  }
},
{
  "Sid": "Enable dsql IAM User Describe Permissions",
  "Effect": "Allow",
  "Principal": {
    "Service": "dsql.amazonaws.com"
  },
  "Action": "kms:DescribeKey",
  "Resource": "*",
  "Condition": {
    "StringLike": {
      "aws:SourceArn": "arn:aws:dsql:us-east-2:111122223333:cluster/w4abucpbwuxx"
    }
  }
}
```

## Aurora DSQL 暗号化コンテキスト
<a name="dsql-encryption-context"></a>

暗号化コンテキストは、一連のキー値のペアおよび任意非シークレットデータを含みます。データを暗号化するリクエストに暗号化コンテキストを組み込むと、AWS KMS は暗号化コンテキストを暗号化されたデータに暗号化してバインドします。データを復号するには、同じ暗号化コンテキストに渡す必要があります。

Aurora DSQL は、すべての AWS KMS 暗号化オペレーションで同じ暗号化コンテキストを使用します。カスタマーマネージドキーを使用して Aurora DSQL クラスターを保護している場合は、暗号化コンテキストを使って監査レコードやログの中で AWS KMS keyの使用を特定することができます。また、AWS CloudTrail などのログにもプレーンテキストで表示されます。

また、暗号化コンテクストはポリシーの認可用の条件としても使用できます。

Aurora DSQL は AWS KMS へのリクエストで、キーバリューペアを持つ暗号化コンテキストを使用します。

```
"encryptionContext": {
  "aws:dsql:ClusterId": "w4abucpbwuxx"
},
```

キーと値のペアは、Aurora DSQL が暗号化しているクラスターを識別します。キーは、`aws:dsql:ClusterId` です。値はクラスターの識別子です。

## Aurora DSQL と AWS KMS のインタラクションのモニタリング
<a name="monitoring-dsql-kms-interaction"></a>

カスタマーマネージドキーを使って Aurora DSQL クラスターを保護している場合、AWS CloudTrail ログを使って、Aurora DSQL がお客様に代わって AWS KMS に送信したリクエストを追跡できます。

以下のセクションを展開して、Aurora DSQL が AWS KMS オペレーション `GenerateDataKey` と `Decrypt` を使用する方法を確認してください。

### `GenerateDataKey`
<a name="GenerateDataKey"></a>

クラスターで保管中の暗号化を有効にすると、Aurora DSQL は一意のクラスターキーを作成します。クラスターの AWS KMS keyを指定する `GenerateDataKey` リクエストを AWS KMS に送信します。

`GenerateDataKey` 演算を記録するイベントは、次のようなサンプルイベントになります。ユーザーは、Aurora DSQL サービスアカウントです。パラメータには、AWS KMS keyの Amazon リソースネーム (ARN)、256 ビットキーを必要とするキー指定子、クラスターを識別する暗号化コンテキストが含まれます。

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "dsql.amazonaws.com"
    },
    "eventTime": "2025-05-16T18:41:24Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "dsql.amazonaws.com",
    "userAgent": "dsql.amazonaws.com",
    "requestParameters": {
        "encryptionContext": {
            "aws:dsql:ClusterId": "w4abucpbwuxx"
        },
        "keySpec": "AES_256",
        "keyId": "arn:aws:kms:us-east-1:982127530226:key/8b60dd9f-2ff8-4b1f-8a9c-bf570cbfdb5e"
    },
    "responseElements": null,
    "requestID": "2da2dc32-d3f4-4d6c-8a41-aff27cd9a733",
    "eventID": "426df0a6-ba56-3244-9337-438411f826f4",
    "readOnly": true,
    "resources": [
        {
            "accountId": "AWS Internal",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:982127530226:key/8b60dd9f-2ff8-4b1f-8a9c-bf570cbfdb5e"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "sharedEventID": "f88e0dd8-6057-4ce0-b77d-800448426d4e",
    "vpcEndpointId": "AWS Internal",
    "vpcEndpointAccountId": "vpce-1a2b3c4d5e6f1a2b3",
    "eventCategory": "Management"
}
```

### Decrypt
<a name="Decrypt"></a>

暗号化された Aurora DSQL クラスターにアクセスすると、Aurora DSQL はクラスターキーの復号化が必要となるため、階層の下でキーを復号できます。次に、クラスター内のデータを復号化します。クラスターキーを復号するために、Aurora DSQL はクラスターの AWS KMS keyを指定する `Decrypt` リクエストを AWS KMS に送信します。

`Decrypt` 演算を記録するイベントは、次のようなサンプルイベントになります。ユーザーは、クラスターにアクセスしている AWS アカウントのプリンシパルです。パラメータには、暗号化されたクラスターキー (暗号文の blob として)、およびクラスターを識別する暗号化コンテキストが含まれます。AWS KMS は、暗号文から AWS KMS keyの ID を取得します。

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "type": "AWSService",
    "invokedBy": "dsql.amazonaws.com"
  },
  "eventTime": "2018-02-14T16:42:39Z",
  "eventSource": "kms.amazonaws.com",
  "eventName": "Decrypt",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "dsql.amazonaws.com",
  "userAgent": "dsql.amazonaws.com",
  "requestParameters": {
    "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
    "encryptionContext": {
      "aws:dsql:ClusterId": "w4abucpbwuxx"
    },
    "encryptionAlgorithm": "SYMMETRIC_DEFAULT"
  },
  "responseElements": null,
  "requestID": "11cab293-11a6-11e8-8386-13160d3e5db5",
  "eventID": "b7d16574-e887-4b5b-a064-bf92f8ec9ad3",
  "readOnly": true,
  "resources": [
    {
      "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
      "accountId": "AWS Internal",
      "type": "AWS::KMS::Key"
    }
  ],
  "eventType": "AwsApiCall",
  "managementEvent": true,
  "recipientAccountId": "111122223333",
  "sharedEventID": "d99f2dc5-b576-45b6-aa1d-3a3822edbeeb",
  "vpcEndpointId": "AWS Internal",
  "vpcEndpointAccountId": "vpce-1a2b3c4d5e6f1a2b3",
  "eventCategory": "Management"
}
```

## 暗号化された Aurora DSQL クラスターの作成
<a name="creating-encrypted-cluster"></a>

すべての Aurora DSQL クラスターは保管中に暗号化されます。デフォルトでは、クラスターは AWS 所有のキーを無料で使用するか、カスタム AWS KMS キーを指定できます。AWS マネジメントコンソールまたは AWS CLI から暗号化されたクラスターを作成するには、次の手順に従います。

------
#### [ Console ]

**AWS マネジメントコンソールで暗号化されたクラスターを作成するには**

1. AWS マネジメントコンソールにサインインして Aurora DSQL コンソール ([https://console.aws.amazon.com/dsql/](https://console.aws.amazon.com/dsql/)) を開きます。

1. コンソールの左側のナビゲーションペインで、**Clusters** を選択します。

1. 右上で **[クラスターを作成]** を選択し、**[シングルリージョン]** を選択します。

1. **[クラスターの暗号化設定]** で、次のいずれかのオプションを選択します。
   + デフォルト設定を受け入れて、追加料金なしで AWS 所有のキー を使用して暗号化します。
   + **[暗号化の設定をカスタマイズ (詳細設定)]** を選択して、カスタム KMS キーを指定します。次に、KMS キーの ID またはエイリアスを検索または入力します。または、AWS KMS コンソールで新しいキーを作成する場合は、**[AWS KMS キーを作成する]** を選択します。

1. **[クラスターを作成]** を選択します。

クラスターの暗号化タイプを確認するには、**[クラスター]** ページに移動し、クラスターの ID を選択してクラスターの詳細を表示します。**[クラスター設定]** タブを確認します。**[クラスター KMS キー]** 設定には、AWS 所有キーを使用するクラスターの場合は **Aurora DSQL デフォルトキー**、その他の暗号化タイプの場合はキー ID が表示されます。

**注記**  
独自のキーを所有および管理することを選択した場合は、KMS キーポリシーが適切に設定されていることを確認してください。詳細情報と例については、「[カスタマーマネージドキーのキーポリシー](#key-policy-customer-managed-key)」を参照してください。

------
#### [ CLI ]

**デフォルトの AWS 所有のキーを使用して暗号化されたクラスターを作成するには**
+ 次のコマンドを使用して、Aurora DSQL クラスターを作成します。

  ```
  aws dsql create-cluster
  ```

次の暗号化の詳細に示すように、クラスターの暗号化ステータスはデフォルトで有効になっており、デフォルトの暗号化タイプは AWS 所有キーです。クラスターが Aurora DSQL サービスアカウントのデフォルトの AWS 所有キーで暗号化されるようになりました。

```
"encryptionDetails": {
  "encryptionType" : "AWS_OWNED_KMS_KEY",
  "encryptionStatus" : "ENABLED"
}
```

**カスタマーマネージドキーで暗号化されたクラスターを作成するには**
+ 次のコマンドを使用して Aurora DSQL クラスターを作成し、赤いテキストのキー ID をカスタマーマネージドキーの ID に置き換えます。

  ```
  aws dsql create-cluster \
  --kms-encryption-key d41d8cd98f00b204e9800998ecf8427e
  ```

次の暗号化の詳細に示すように、クラスターの暗号化ステータスはデフォルトで有効になっており、暗号化タイプはカスタマーマネージド KMS キーです。これで、クラスターがユーザーのキーで暗号化されるようになりました。

```
"encryptionDetails": {
  "encryptionType" : "CUSTOMER_MANAGED_KMS_KEY",
  "kmsKeyArn" : "arn:aws:kms:us-east-1:111122223333:key/d41d8cd98f00b204e9800998ecf8427e",
  "encryptionStatus" : "ENABLED"
}
```

------

## Aurora DSQL クラスターのキーの削除または更新
<a name="updating-encryption-key"></a>

AWS マネジメントコンソールまたは AWS CLI を使用して、Amazon Aurora DSQL の既存のクラスターの暗号化キーを更新または削除できます。キーを置き換えずに削除すると、Aurora DSQL はデフォルトの AWS 所有のキー を使用します。Aurora DSQL コンソールまたは AWS CLI から既存のクラスターの暗号化キーを更新するには、次の手順に従います。

------
#### [ Console ]

**AWS マネジメントコンソールで暗号化キーを更新または削除するには**

1. AWS マネジメントコンソールにサインインして Aurora DSQL コンソール ([https://console.aws.amazon.com/dsql/](https://console.aws.amazon.com/dsql/)) を開きます。

1. コンソールの左側のナビゲーションペインで、**Clusters** を選択します。

1. リストビューから、更新するクラスターの行を見つけて選択します。

1. **[アクション]** メニューを選択し、次に **[変更]** を選択します。

1. **[クラスターの暗号化設定]** で、次のいずれかのオプションを選択して暗号化設定を変更します。
   + カスタムキーから AWS 所有のキー に切り替える場合は、**[暗号化の設定をカスタマイズ (詳細設定)]** オプションの選択を解除します。デフォルト設定が適用され、クラスターは AWS 所有のキーで無料で暗号化されます。
   + あるカスタム KMS キーから別のキーに切り替える場合、または AWS 所有のキーから KMS キーに切り替える場合は、**[暗号化の設定をカスタマイズ (詳細設定)]** オプションを選択します。次に、使用するキーの ID またはエイリアスを検索して選択します。または、AWS KMS コンソールで新しいキーを作成する場合は、**[AWS KMS キーを作成する]** を選択します。

1. **[保存]** を選択します。

------
#### [ CLI ]

次の例は、AWS CLI を使用して暗号化クラスターを更新する方法を示しています。

デフォルトの AWS 所有のキーで暗号化クラスターを更新するには

```
aws dsql update-cluster \
--identifier aiabtx6icfp6d53snkhseduiqq \
--kms-encryption-key "AWS_OWNED_KMS_KEY"
```

クラスターの説明の `EncryptionStatus` は `ENABLED` に設定され、`EncryptionType` は `AWS_OWNED_KMS_KEY` になります。

```
"encryptionDetails": {
  "encryptionType" : "AWS_OWNED_KMS_KEY",
  "encryptionStatus" : "ENABLED"
}
```

このクラスターは、Aurora DSQL サービスアカウントでデフォルトの AWS 所有のキー を使用して暗号化されています。

Aurora DSQL のカスタマーマネージドキーを使用して暗号化されたクラスターを更新するには

暗号化されたクラスターを次の例のとおりに更新します。

```
aws dsql update-cluster \
--identifier aiabtx6icfp6d53snkhseduiqq \
--kms-encryption-key arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234
```

クラスターの説明の `EncryptionStatus` は `UPDATING` に移行し、`EncryptionType` は `CUSTOMER_MANAGED_KMS_KEY` になります。Aurora DSQL がプラットフォームを介した新しいキーのプロパゲートを完了すると、暗号化ステータスは `ENABLED` に移行します。

```
"encryptionDetails": {
  "encryptionType" : "CUSTOMER_MANAGED_KMS_KEY",
  "kmsKeyArn" : "arn:aws:us-east-1:kms:key/abcd1234-abcd-1234-a123-ab1234a1b234",
  "encryptionStatus" : "ENABLED"
}
```

------

**注記**  
独自のキーを所有および管理することを選択した場合は、KMS キーポリシーが適切に設定されていることを確認してください。詳細情報と例については、「[カスタマーマネージドキーのキーポリシー](#key-policy-customer-managed-key)」を参照してください。

## Aurora DSQL による暗号化に関する考慮事項
<a name="considerations-with-encryption"></a>
+ Aurora DSQL は、保管中のすべてのクラスターデータを暗号化します。この暗号化を無効にしたり、クラスター内の一部の項目のみを暗号化したりすることはできません。
+ AWS Backup は、バックアップと、これらのバックアップから復元されたクラスターを暗号化します。AWS Backup でバックアップデータを暗号化するには、AWS 所有キーまたはカスタマーマネージドキーを使用します。
+ Aurora DSQL では、次のデータ保護状態が有効になっています。
  + **静止データ** - Aurora DSQL はパーシステントストレージメディア上のすべての静的データを暗号化します
  + **転送中のデータ** - Aurora DSQL は、デフォルトで Transport Layer Security (TLS) を使用してすべての通信を暗号化します
+ 別のキーに移行する場合は、移行が完了するまで元のキーを有効にしておくことをお勧めします。AWS は、新しいキーでデータを暗号化する前に、データを復号するために元のキーを必要とします。クラスターの `encryptionStatus` が `ENABLED` で、新しいカスタマーマネージドキーの `kmsKeyArn` が表示されると、このプロセスは完了です。
+ カスタマーマネージドキーを無効にするか、Aurora DSQL がキーを使用するためのアクセスを取り消すと、クラスターは `IDLE` 状態になります。
+ AWS マネジメントコンソールと Amazon Aurora DSQL API は、暗号化タイプに異なる用語を使用します。
  + AWS コンソール – コンソールでは、カスタマーマネージドキーを使用する場合は `KMS`、AWS 所有のキーを使用する場合は `DEFAULT` が表示されます。
  + API – Amazon Aurora DSQL API は、カスタマーマネージドキーには `CUSTOMER_MANAGED_KMS_KEY` を使用し、AWS 所有のキーには `AWS_OWNED_KMS_KEY` を使用します。
+ クラスターの作成時に暗号化キーを指定しない場合、Aurora DSQL は AWS 所有のキーを使用してデータを自動的に暗号化します。
+ AWS 所有のキーとカスタマーマネージドキーはいつでも切り替えることができます。この変更は、AWS マネジメントコンソール、AWS CLI、または Amazon Aurora DSQL API を使用して行います。