DynamoDB での暗号化テーブルの管理 - Amazon DynamoDB

DynamoDB での暗号化テーブルの管理

AWS Management Console または AWS Command Line Interface (AWS CLI) を使用すると、新しいテーブルで暗号化キーを指定し、Amazon DynamoDB の既存のテーブルで暗号化キーを更新できます。

新しいテーブルの暗号化キーを指定する

Amazon DynamoDB コンソールまたは AWS CLI を使用して新しいテーブルで暗号化キーを指定するには、以下の手順に従います。

暗号化されたテーブルの作成 (コンソール)

  1. AWS Management Console にサインインして DynamoDB コンソール (https://console.aws.amazon.com/dynamodb/) を開きます。

  2. コンソールの左側のナビゲーションペインで、[Tables] (テーブル) を選択します。

  3. [Create Table] (テーブルの作成) を選択します。[Table name] (テーブル名) に「Music」と入力します。プライマリキーには Artist、ソートキーには SongTitle を、それぞれ文字列で入力します。

  4. [Settings] (設定) では、[Customize settings] (設定のカスタマイズ) が選択されていることを確認してください。

    注記

    [Use default settings] (デフォルト設定の使用) を選択した場合、テーブルは AWS 所有のキー を使用して保管時に暗号化され、追加コストはかかりません。

  5. [Encryption at rest] (保管時の暗号化) で暗号化タイプを選択します。

    • [Owned by Amazon DynamoDB.] (Amazon DynamoDB によって所有される。) AWS KMS キーは DynamoDB によって所有、管理されます。このキーは追加料金なしで使用されます。

    • [AWS managed key] (AWS マネージドキー) のキーエイリアス: aws/dynamodb。キーはアカウントに保存され、AWS Key Management Service (AWS KMS) によって管理されます (AWS KMS の料金が適用されます)。

    • [Stored in your account, and owned and managed by you.] (アカウントに保存され、ユーザーが所有、管理される。) キーはアカウントに保存され、AWS Key Management Service (AWS KMS) によって管理されます (AWS KMS の料金が適用されます)。

      注記

      独自のキーを所有および管理することを選択した場合は、KMS キーポリシーが適切に設定されていることを確認してください。詳細については、「カスタマーマネージドキーのキーポリシー」を参照してください。

  6. [Create table] (テーブルの作成) を選択して暗号化テーブルを作成します。暗号化タイプを確認するには、[Overview] (概要) タブのテーブルの詳細を選択し、[Additional details] (その他の詳細) セクションを表示します。

暗号化されたテーブルの作成 (AWS CLI)

AWS CLI により、Amazon DynamoDB のデフォルトの AWS 所有のキー、AWS マネージドキー、またはカスタマーマネージドキーを使用してテーブルを作成します。

デフォルトの AWS 所有のキー で暗号化テーブルを作成するには

  • 暗号化された Music テーブルを次のとおりに作成します。

    aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5
    注記

    このテーブルは、DynamoDB サービスアカウントでデフォルトの AWS 所有のキー を使用して暗号化されます。

AWS マネージドキー で DynamoDB 用の暗号化テーブルを作成するには

  • 暗号化された Music テーブルを次のとおりに作成します。

    aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5 \ --sse-specification Enabled=true,SSEType=KMS

    テーブルの説明の SSEDescription ステータスは、ENABLED に設定され、SSETypeKMS になります。

    "SSEDescription": { "SSEType": "KMS", "Status": "ENABLED", "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234", }

カスタマーマネージドキーで DynamoDB 用の暗号化テーブルを作成するには

  • 暗号化された Music テーブルを次のとおりに作成します。

    aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5 \ --sse-specification Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234

    テーブルの説明の SSEDescription ステータスは、ENABLED に設定され、SSETypeKMS になります。

    "SSEDescription": { "SSEType": "KMS", "Status": "ENABLED", "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234", }

暗号化キーの更新

DynamoDB コンソールまたは AWS CLI を使用して、AWS 所有のキー、AWS マネージドキー、カスタマーマネージドキーの間でいつでも既存のテーブルの暗号化キーを更新することができます。

暗号化キーの更新 (コンソール)

  1. AWS Management Console にサインインして DynamoDB コンソール (https://console.aws.amazon.com/dynamodb/) を開きます。

  2. コンソールの左側のナビゲーションペインで、[Tables] (テーブル) を選択します。

  3. 更新するテーブルを選択します。

  4. [Actions] (アクション) ドロップダウンを選択し、[Update settings] (設定の更新) オプションを選択します。

  5. [Additional settings] (追加設定) タブに移動します。

  6. [Encryption] (暗号化) の下の、[Manage encryption] (暗号化の管理) を選択します。

  7. 暗号化タイプを選択します。

    • [Owned by Amazon DynamoDB.] (Amazon DynamoDB によって所有される。) AWS KMS キーは DynamoDB によって所有、管理されます。このキーは追加料金なしで使用されます。

    • [AWS managed key] (AWS マネージドキー) のキーエイリアス: aws/dynamodb。キーはアカウントに保存され、AWS Key Management Service (AWS KMS) によって管理されます (AWS KMS の料金が適用されます)。

    • [Stored in your account, and owned and managed by you.] (アカウントに保存され、ユーザーが所有、管理される。) キーはアカウントに保存され、AWS Key Management Service (AWS KMS) によって管理されます (AWS KMS の料金が適用されます)。

      注記

      独自のキーを所有および管理することを選択した場合は、KMS キーポリシーが適切に設定されていることを確認してください。詳細については、「カスタマーマネージドキーのキーポリシー」を参照してください。

    続いて、[Save] (保存) を選択して暗号化されたテーブルを更新します。暗号化タイプを確認するには、[概要] タブでテーブルの詳細を参照します。

暗号化キーの更新 (AWS CLI)

次の例は、AWS CLI を使用して暗号化テーブルを更新する方法を示しています。

デフォルトの AWS 所有のキー で暗号化テーブルを更新するには

  • 暗号化された Music テーブルを次の例のとおりに更新します。

    aws dynamodb update-table \ --table-name Music \ --sse-specification Enabled=false
    注記

    このテーブルは、DynamoDB サービスアカウントでデフォルトの AWS 所有のキー を使用して暗号化されます。

DynamoDB 用の AWS マネージドキー で暗号化テーブルを更新するには

  • 暗号化された Music テーブルを次の例のとおりに更新します。

    aws dynamodb update-table \ --table-name Music \ --sse-specification Enabled=true

    テーブルの説明の SSEDescription ステータスは、ENABLED に設定され、SSETypeKMS になります。

    "SSEDescription": { "SSEType": "KMS", "Status": "ENABLED", "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234", }

DynamoDB のカスタマーマネージドキーで暗号化テーブルを更新するには

  • 暗号化された Music テーブルを次の例のとおりに更新します。

    aws dynamodb update-table \ --table-name Music \ --sse-specification Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234

    テーブルの説明の SSEDescription ステータスは、ENABLED に設定され、SSETypeKMS になります。

    "SSEDescription": { "SSEType": "KMS", "Status": "ENABLED", "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234", }