[新機能] DynamoDB で保存時のデータ暗号化が東京リージョンでサポートされました
こんにちは、菊池です。
本日ご紹介する新機能はこちらです。
フルマネージドなNOSQLデータベースサービス、Amazon DynamoDBで、データ保存時の暗号化に対応しました。すでに一部のリージョンでは、今年2月の時点でサポートされていました。
今回のアップデートにて対応するリージョン拡大され、東京リージョンでも利用可能になりました。すでにサポートされていたリージョンと合わせて、14リージョンでDynamoDBの暗号化が可能になります。
- us-east-1(バージニア北部)
- us-east-2(オハイオ)
- us-west-1(北カリフォルニア)- New
- us-west-2(オレゴン)
- ca-central-1(カナダ)- New
- eu-west-1(アイルランド)
- eu-west-2(ロンドン)- New
- eu-central-1(フランクフルト)- New
- ap-northeast-1 (東京)- New
- ap-northeast-2(ソウル)- New
- ap-southeast-1(シンガポール)- New
- ap-southeast-2(シドニー)- New
- ap-south-1(ムンバイ)- New
- sa-east-1(サンパウロ)- New
暗号化を有効にしたテーブルの作成
それでは、暗号化したテーブルを作成してみます。暗号化の仕様については、公式ドキュメントを併せて確認ください。
暗号化を有効化できるのは、テーブル作成時のみです。既存のテーブルを暗号化することはできず、また、後から暗号化を無効にすることもできません。
暗号化にはKMS(Key Management Service)が利用され、サービスデフォルトキーにて、テーブル、インデックスが暗号化されます。
マネジメントコンソールから
それでは、マネジメントコンソールから暗号化を有効にしたテーブルを作成します。
テーブル作成時の、[デフォルト設定の使用]のチェックを外します。
すると、暗号化のオプションが表示されますので、チェックを入れて作成します。
暗号化が有効に設定されたテーブルが作成しました。
AWS CLIから
AWS CLIからも試してみます。
CLIからは、create-table
コマンドで--sse-specification Enabled=true
をオプションにしていることで暗号化が有効になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | $ aws dynamodb create-table \ > --table-name testTable \ > --attribute-definitions AttributeName=id,AttributeType=S \ > --key-schema AttributeName=id,KeyType=HASH \ > --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \ > --sse-specification Enabled= true { "TableDescription" : { "TableArn" : "arn:aws:dynamodb:ap-northeast-1:xxxxxxxxxxxx:table/testTable" , "AttributeDefinitions" : [ { "AttributeName" : "id" , "AttributeType" : "S" } ], "ProvisionedThroughput" : { "NumberOfDecreasesToday" : 0, "WriteCapacityUnits" : 5, "ReadCapacityUnits" : 5 }, "TableSizeBytes" : 0, "TableName" : "testTable" , "TableStatus" : "CREATING" , "TableId" : "2aca8937-ab92-4fb5-ae74-xxxxxxxxxxxx" , "SSEDescription" : { "Status" : "ENABLED" }, "KeySchema" : [ { "KeyType" : "HASH" , "AttributeName" : "id" } ], "ItemCount" : 0, "CreationDateTime" : 1524399386.963 } } |
SSEDescription
がENABLED
になったテーブルが作成されました。
KMSキー
暗号化を有効にしてテーブルを作成すると、KMSにサービスデフォルトキーaws/dynamodb
が作成されています。
さいごに
DynamoDBで保存するデータの暗号化がサポートされました。
これまで、コンプライアンス要件により暗号化が必須であったために、DynamoDBの利用ができなかったようなケースでは、新しい選択肢が提供されることになります。