Amazon Verified Permissions
- 区分
- 新サービス
- 提供開始
- 2022 年
Cedar ポリシー言語でアプリケーションの認可ロジックを外部化するサービス
何ができるか
Amazon Verified Permissions は、アプリケーションの認可 (誰が何をできるか) ロジックを Cedar ポリシー言語で定義し、アプリケーションコードから分離するサービスです。ポリシーストアにアクセスルールを集約し、API 経由で認可判定を実行します。Cognito と統合してユーザー属性に基づく認可を実現できます。
どのような場面で使うか
マルチテナント SaaS アプリケーションの認可、ロールベースアクセス制御 (RBAC) と属性ベースアクセス制御 (ABAC) の実装、認可ロジックのアプリケーションコードからの分離に利用されます。
身近な例え
ビルの入退室管理システムに例えられます。各部屋 (リソース) へのアクセス権を管理システム (Verified Permissions) に集約し、「営業部の社員は会議室 A に入れる」「管理者は全部屋に入れる」といったルール (ポリシー) を一元管理します。
Verified Permissions とは
Amazon Verified Permissions は、認可ロジックの外部化サービスです。従来、「このユーザーはこのリソースにアクセスできるか」の判定はアプリケーションコード内に if 文で実装されていました。Verified Permissions は Cedar ポリシー言語でルールを定義し、IsAuthorized API で認可判定を実行します。ポリシーの変更がアプリケーションの再デプロイなしに反映されます。
Cedar ポリシーとスキーマ
Cedar は AWS が開発したオープンソースのポリシー言語です。「principal (誰が) が action (何を) resource (何に対して) できるか」を宣言的に記述します。スキーマでエンティティタイプ (User、Document、Folder) とアクション (Read、Write、Delete) を定義し、ポリシーの整合性を検証できます。Cognito のユーザープールと統合すると、JWT トークンの属性 (グループ、カスタム属性) をポリシーの判定に使用できます。
はじめかた
Verified Permissions コンソールでポリシーストアを作成し、スキーマを定義します。Cedar ポリシーを作成してアクセスルールを記述します。アプリケーションから IsAuthorized API を呼び出し、認可判定の結果 (Allow / Deny) に基づいてアクセスを制御します。
注意点
- 認可リクエスト数に応じた従量課金。高頻度の認可判定はコストに注意
- Cedar はオープンソースで、ローカルでのポリシーテストやシミュレーションが可能
利用できるリージョン
Amazon Verified Permissions を利用できるリージョンは 36 か所です (2026-10-09 時点)。
アジアパシフィック:香港、台北、東京、ソウル、大阪、ムンバイ、ハイデラバード、シンガポール、シドニー、ジャカルタ、メルボルン、マレーシア、ニュージーランド、タイ
北米:カナダ (中部)、カナダ西部 (カルガリー)、メキシコ (中部)、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (北カリフォルニア)、米国西部 (オレゴン)
南米:サンパウロ
欧州:フランクフルト、チューリッヒ、ストックホルム、ミラノ、スペイン、アイルランド、ロンドン、パリ
中東:イスラエル (テルアビブ)、アラブ首長国連邦、バーレーン
アフリカ:ケープタウン
AWS GovCloud (米国):AWS GovCloud (米国東部)、AWS GovCloud (米国西部)
参考資料 (AWS 公式)
本ページの一次情報は AWS 公式サイトと公式ドキュメントです。最新の仕様と料金は次の公式ページで確認できます。
本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。