翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Verified Permissionsと Cedar の違い
Amazon Verified Permissionsは、Cedar ポリシー言語エンジンを使用して認証タスクを実行します。ただし、ネイティブの Cedar 実装と「Verified Permissions」にある Cedar の実装にはいくつか違いがあります。このトピックでは、これらの違いについて説明します。
名前空間の定義
Cedar のVerified Permissions実装は、ネイティブの Cedar 実装と以下の違いがあります。
-
Verified Permissionsは、ポリシーストアで定義されたスキーマ内の名前空間
1つだけをサポートします。 -
Verified Permissionsでは、
aws
、amazon
、またはcedar
の値を使用して名前空間を作成することはできません。
ポリシーテンプレートのサポート
Verified Permissions と Cedar は両方とも、principal
と resource
のスコープ内でのみプレースホルダーを許可します。ただし、Verified Permissions では、principal
と resource
のどちらも制約されていないことも必要です。
以下のポリシーは Cedar では有効ですが、principal
には制約がないためVerified Permissionsでは拒否されます。
permit(principal, action == Action::"view", resource == ?resource);
principal
とresource
の両方に制約があるため、以下の例はいずれも Cedar と Verified Permissionsの両方で有効です。
permit(principal == User::"alice", action == Action::"view", resource == ?resource);
permit(principal == ?principal, action == Action::"a", resource in ?resource);
スキーマのサポート
Verified Permissions では、すべてのスキーマ JSON キー名が空でない文字列である必要があります。Cedar では、プロパティなどいくつかのケースで空の文字列を使用できます。
拡張タイプのサポート
Verified Permissions はポリシーで Cedar 拡張タイプIsAuthorized
および IsAuthorizedWithToken
オペレーションの entities
パラメーターの一部としてそれらを含めることは現在サポートされていません。
拡張タイプには、固定小数点 (decimal
) データ型と IP アドレス (ipaddr
) データ型があります。
エンティティ用の Cedar JSON 形式
現時点では、Verified Permissions では、EntityItem 要素の配列である EntitiesDefinition に定義された構造を使用して、承認リクエストで考慮されるエンティティのリストを渡す必要があります。Verified Permissionsは、現在のところ、承認リクエストで考慮すべきエンティティのリストを Cedar JSON 形式
アクショングループの定義
Cedar の認証方法では、認可リクエストをポリシーと照らし合わせて評価する際に考慮すべきエンティティのリストが必要です。
アプリケーションが使用するアクションとアクショングループをスキーマで定義できます。ただし、Cedar は評価リクエストにスキーマを含めません。代わりに、Cedar は送信したポリシーとポリシーテンプレートの検証にのみスキーマを使用します。Cedar は評価リクエスト時にスキーマを参照しないため、スキーマにアクショングループを定義した場合でも、承認 API オペレーションに渡す必要があるエンティティリストの一部として、アクショングループのリストも含める必要があります。
これはVerified Permissions によって自動的に行われます。スキーマで定義したアクショングループは、IsAuthorized
またはIsAuthorizedWithToken
オペレーションのパラメータとして渡したエンティティリストに自動的に追加されます。
長さとサイズの制限
Verified Permissionsは、スキーマ、ポリシー、ポリシーテンプレートを格納するためのポリシーストア形式のストレージをサポートします。このストレージが原因で、認証済みアクセス権限には Cedar に関係のない長さとサイズの制限が課されます。
オブジェクト | Verified Permissionsの制限 (バイト単位) | シダー制限 |
---|---|---|
ポリシーのサイズ ¹ | 10,000 | なし |
インラインポリシーの説明 | 150 | Cedar には適用されません。 |
ポリシーテンプレートサイズ | 10,000 | なし |
スキーマサイズ | 10,000 | なし |
エンティティタイプ | 200 | なし |
ポリシー ID | 64 | なし |
ポリシーテンプレート ID | 64 | なし |
エンティティ ID | 200 | なし |
ポリシーストア ID | 64 | シーダーには適用されません。 |
¹ Verified Permissions では、ポリシーストアで作成されたポリシーのプリンシパル、アクション、リソースの合計サイズに基づいて、ポリシーストアごとのポリシーに制限があります。1 つのリソースに関連するすべてのポリシーの合計サイズは 200,000 バイトを超えることはできません。テンプレートにリンクされたポリシーの場合、ポリシーテンプレートのサイズに、テンプレートにリンクされた各ポリシーのインスタンス化に使用される各パラメータセットのサイズを加えたものが 1 回だけカウントされます。