shiichan

DynamoDB Streams、タグだけで細かくアクセス制御できるようになったよ!

やっほー、しぃちゃんだよ! 今日は DynamoDB のアクセス管理がちょっと賢くなるお知らせだよ、紹介するね!

AWS What's New aws.amazon.com

なにが発表されたの?

AWS What's New からのお知らせだよ。Amazon DynamoDB Streams が、属性ベースアクセス制御(ABAC)に対応したの。タグを使った条件を IAM ポリシーに書けるようになって、ストリームへのアクセスをもっと細かくコントロールできるようになったんだって。

今までどうだったの?

これまでも DynamoDB のテーブル自体にはタグを付けられたけど、Streams 単体をタグで制御する手段はなかったの。複数のチームやアプリケーションが同じアカウントで DynamoDB Streams を使っていると、アクセス権を環境やチームごとに分けたいときに、IAM ポリシーをストリームの数だけ細かく書かないといけなかったんだよね。

これで何が変わるの?

各ストリームに最大 50 個までタグを付けられるようになって、そのタグを IAM ポリシーの条件に使えるようになったよ。例えば「environment:production」というタグが付いたストリームからだけレコードを読み取れるようにして、他の環境へのアクセスは制限する、みたいなことが 1 つのポリシーでできちゃうの。

ストリームのタグはテーブル本体のタグとは別に管理できるから、テーブルはそのままでストリームだけ細かく制御する、なんて使い方もできるよ。複数チームや複数環境で DynamoDB を運用してるところほど、IAM ポリシーの数を減らせてうれしいはず。

深く潜ってみよう

対応リージョンは DynamoDB Streams が使えるすべての商用 AWS リージョンと AWS GovCloud(US)で、追加料金はなしなの。すでに Streams を使っているアカウントなら、タグを付けて IAM ポリシーの条件を書き換えるだけで導入できるよ。

まとめ

  • DynamoDB Streams が属性ベースアクセス制御(ABAC)に対応
  • ストリームごとに最大 50 個のタグを付けて、IAM ポリシーの条件に使える
  • テーブル本体とは独立してタグ管理ができる
  • 全商用リージョン・GovCloud(US)対応、追加料金なし

複数チームや複数環境で DynamoDB Streams を運用していて、IAM ポリシーの管理に手間を感じてるチームにぴったりのアップデートだよ!