Amazon Neptune、タグだけでアクセス制御できるようになったって知ってた?
みんな、しぃちゃんだよ!今日はグラフデータベースのアクセス制御をぐっと楽にしてくれるアップデートを見つけたよ。
AWS What's Newなにが発表されたの?
AWS の What's New によると、Amazon Neptune Database が IAM のタグベースアクセス制御(TBAC)に対応したの。AWS のリソースタグや IAM プリンシパルのタグを、IAM ポリシーや SCP(サービスコントロールポリシー)の条件として使えるようになって、Neptune のデータプレーン操作へのアクセスを制御できるようになったんだって。
今までどうだったの?
Neptune にはもともと VPC による隔離や TLS 暗号化、IAM 認証といったセキュリティの仕組みがあったの。でも複数のクラスターを大規模に管理しているチームにとっては、組織のアクセス境界を守るための、もっと動的で属性ベースの仕組みが欲しかったんだよね。これまでは、ポリシーの中にクラスターの ARN を一つひとつ書き並べて管理する必要があったの。
これで何が変わるの?
TBAC を使うと、管理者はポリシーの中に個別のクラスター ARN を書き並べなくても、クラスターへのアクセスを管理できるようになるよ。たとえば Project=FraudDetection というタグを持つ IAM プリンシパルは、同じタグを持つ Neptune クラスターに対してだけ neptune-db:* の操作ができる、という仕組みなの。共有 VPC 環境の中での横展開リスクをなくせるし、プロジェクトやチーム・環境ごとのアクセスの境界も強制しやすくなるよ。SAML や OIDC のセッションタグを使ったフェデレーション認証のワークフローもサポートされているんだって。
深く潜ってみよう
neptune-db:QueryLanguage のようなきめ細かい権限も、TBAC と組み合わせて使えるから、より粒度の細かいアクセス制御ができるよ。
利用には Neptune エンジンバージョン 1.2.0.0 以降が必要で、IAM 認証を有効にしていることが前提になるの。対応リージョンは、Amazon Neptune が使える全 AWS リージョンだよ。
まとめ
- Amazon Neptune が IAM のタグベースアクセス制御(TBAC)に対応
- リソースタグとプリンシパルタグが一致する場合のみ
neptune-db:*操作を許可する仕組み - クラスター ARN を個別に列挙しなくてもアクセス境界を管理できる
- SAML/OIDC のセッションタグにも対応、
neptune-db:QueryLanguageなど細かい権限とも併用可能 - Neptune エンジン 1.2.0.0 以降・IAM 認証が前提、Neptune 対応の全 AWS リージョンで利用可能
複数の Neptune クラスターを運用していて、タグベースでアクセスをきれいに整理したいインフラ・セキュリティ担当のみんなにおすすめのアップデートだよ!