

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Verified Permissions と Cedar ポリシー言語の用語と概念
<a name="terminology"></a>

Amazon Verified Permissions を使用するには、以下の概念を理解する必要があります。

**Topics**
+ [認可コード](#term-authorization-model)
+ [認可リクエスト](#term-authorization-request)
+ [認可レスポンス](#term-authorization-response)
+ [考慮済みポリシー](#term-considered-policies)
+ [コンテキストデータ](#term-context-data)
+ [決定ポリシー](#term-determining-policies)
+ [エンティティデータ](#term-entity-data)
+ [権限、認可、プリンシパル](#term-permissions-authorization-principals)
+ [ポリシーの実施](#term-policy-enforcement)
+ [ポリシーストア](#term-policy-store)
+ [ポリシーストアエイリアス](#term-policy-store-alias)
+ [ポリシー名](#term-policy-name)
+ [ポリシーテンプレート名](#term-policy-template-name)
+ [充足ポリシー](#term-satisfied-policies)
+ [Amazon Verified Permissions と Cedar ポリシー言語の違い](terminology-differences-avp-cedar.md)

**Cedar ポリシー言語の概念**
+ [認可](https://docs.cedarpolicy.com/overview/terminology.html#authorization)
+ [エンティティ](https://docs.cedarpolicy.com/overview/terminology.html#entity)
+ [グループと階層](https://docs.cedarpolicy.com/overview/terminology.html#term-group)
+ [名前空間](https://docs.cedarpolicy.com/policies/validation.html#namespaces)
+ [Policy](https://docs.cedarpolicy.com/overview/terminology.html#policy)
+ [ポリシーテンプレート](https://docs.cedarpolicy.com/overview/terminology.html#policy-template)
+ [Schema](https://docs.cedarpolicy.com/overview/terminology.html#schema)

## 認可コード
<a name="term-authorization-model"></a>

*認可モデルは*、アプリケーションによって行われた[認可リクエスト](#term-authorization-request)の範囲と、それらのリクエストを評価するための基盤を記述します。さまざまな種類のリソース、それらのリソースで実行されるアクション、およびそれらのアクションを実行するプリンシパルのタイプに基づいて定義されます。また、それらのアクションが実行される背景も考慮されます。

*ロールベースのアクセスコントロール (RBAC)* は、ロールを定義して一連の権限に関連付ける評価基準です。その後、これらのロールを 1 個またはそれ以上の ID に割り当てることができます。割り当てられた ID には、そのロールに関連する権限が付与されます。ロールに関連付けられている権限が変更されると、その変更はそのロールが割り当てられているすべての ID に自動的に影響します。Cedar はプリンシパルグループを活用することで RBAC の意思決定を支援できます。

*属性ベースのアクセスコントロール (ABAC)* は、ID に関連する権限をその ID の属性によって決定する評価基準です。Cedar は、プリンシパルの属性を参照するポリシー条件を使用することで、ABACの決定を支援できます。

Cedar のポリシー言語では、属性ベースの条件を持つユーザーグループに対して権限を定義できるため、RBAC と ABAC を 1 つのポリシーにまとめることができます。

## 認可リクエスト
<a name="term-authorization-request"></a>

*認可リクエスト*は、プリンシパルが特定のコンテキストのリソースに対してアクションを実行できるかどうかを決定するために、一連のポリシーを評価するアプリケーションによる Verified Permissions から行われるリクエストです。

## 認可レスポンス
<a name="term-authorization-response"></a>

*認可レスポンス*は、[認可リクエスト](#term-authorization-request)へのレスポンスです。これには、許可または拒否の決定に加えて、決定ポリシーの ID などの追加情報が含まれます。

## 考慮済みポリシー
<a name="term-considered-policies"></a>

*考慮されるポリシー*は、Verified Permissions が[承認リクエスト](#term-authorization-request)を評価する際に含めるために選択するポリシーの完全なセットです。

## コンテキストデータ
<a name="term-context-data"></a>

*コンテキストデータ*は、評価すべき追加情報を提供する属性値です。

## 決定ポリシー
<a name="term-determining-policies"></a>

*ポリシーの決定*は、[認可レスポンス](#term-authorization-response)を決定するポリシーです。たとえば、[充足ポリシー](#term-satisfied-policies)が2つあり、1 つが拒否、もう 1 つが許容である場合、拒否ポリシーが決定ポリシーになります。充足した許可ポリシーが複数あり、充足した禁止ポリシーが存在しない場合、決定ポリシーが複数存在することになります。当てはまるポリシーがなく、レスポンスが拒否された場合、決定ポリシーは存在しません。

## エンティティデータ
<a name="term-entity-data"></a>

*エンティティデータ*は、プリンシパル、アクション、リソースに関するデータです。ポリシー評価に関連するエンティティデータは、エンティティ階層の上位にあるグループメンバーシップと、プリンシパルおよびリソースの属性値です。

## 権限、認可、プリンシパル
<a name="term-permissions-authorization-principals"></a>

Verified Permissions は、構築するカスタムアプリケーション内できめ細かな*アクセス許可*と*認可*を管理します。

*プリンシパル*とは、ユーザー名やマシン ID などの識別子に結び付けられた ID を持つ、アプリケーションのユーザー（人間か機械かを問わない）です。認証プロセスによって、プリンシパルが本当に本人が主張する ID であるかどうかが決まります。

その ID には、そのプリンシパルがそのアプリケーション内で許可される操作を決定する一連のアプリケーション*権限*が関連付けられています。*認可*は、プリンシパルがアプリケーションで特定のアクションを実行することを許可されているかどうかを判断するために、これらのアクセス許可を評価するプロセスです。これらの権限は[ポリシー](https://docs.cedarpolicy.com/overview/terminology.html#policy)として表現できます。

## ポリシーの実施
<a name="term-policy-enforcement"></a>

*ポリシー実施*とは、Verified Permissions 以外のアプリケーション内で評価決定を強制するプロセスです。Verified Permissions の評価で拒否が返された場合、強制はプリンシパルがリソースにアクセスできないようにします。

## ポリシーストア
<a name="term-policy-store"></a>

*ポリシーストア*はポリシーとテンプレートのコンテナです。各ストアには、ストアに追加されたポリシーを検証するためのスキーマが含まれています。デフォルトでは、各アプリケーションには独自のポリシーストアがありますが、複数のアプリケーションが 1 つのポリシーストアを共有できます。アプリケーションが認可リクエストを行うと、そのリクエストを評価するために使用されるポリシーストアが特定されます。ポリシーストアはポリシーセットを分離する方法を提供するため、マルチテナントアプリケーションで使用して各テナントのスキーマとポリシーを格納できます。1 つのアプリケーションで、テナントごとに別々のポリシーストアを設定できます。

[認可リクエスト](#term-authorization-request)を評価する際、Verified Permissions はリクエストに関連するポリシーストア内のポリシーのサブセットのみを考慮します。関連性はポリシーの*スコープ*に基づいて決定されます。スコープは、ポリシーが適用される特定のプリンシパルとリソース、およびプリンシパルがリソースに対して実行できるアクションを識別します。スコープを定義すると、考慮するポリシーのセットが絞り込まれるため、パフォーマンスの向上に役立ちます。

## ポリシーストアエイリアス
<a name="term-policy-store-alias"></a>

*ポリシーストアエイリア*スは、ポリシーストアのわかりやすい名前です。ポリシーストアエイリアスを使用して、`policyStoreId`パラメータを受け入れる任意の Verified Permissions オペレーションでポリシーストアを識別できます。ポリシーストアエイリアスは、独自の ARN を持つ独立した AWS リソースです。 ARNs 各エイリアスは一度に 1 つのポリシーストアに関連付けられ、複数のエイリアスを同じポリシーストアに関連付けることができます。詳細については、「[Amazon Verified Permissions ポリシーストアのエイリアス](policy-store-aliases.md)」を参照してください。

## ポリシー名
<a name="term-policy-name"></a>

*ポリシー名*は、ポリシーのオプションフレンドリ名です。ポリシー名は、ポリシーストア内のすべてのポリシーで一意で、プレフィックスが である必要があります`name/`。`policyId` パラメータを受け入れるコントロールプレーンオペレーションでは、ポリシー ID の代わりにポリシー名を使用できます。名前は、ポリシーを作成または更新するときに設定できます。`GetPolicy` と のみ出力の名前`ListPolicies`を返します。

## ポリシーテンプレート名
<a name="term-policy-template-name"></a>

*ポリシーテンプレート名*は、ポリシーテンプレートのオプションフレンドリ名です。ポリシーテンプレート名は、ポリシーストア内のすべてのポリシーテンプレートで一意で、プレフィックスが である必要があります`name/`。`policyTemplateId` パラメータを受け入れるコントロールプレーンオペレーションでは、ポリシーテンプレート ID の代わりにポリシーテンプレート名を使用できます。名前は、ポリシーテンプレートを作成または更新するときに設定できます。`GetPolicyTemplate` と のみ出力の名前`ListPolicyTemplates`を返します。

## 充足ポリシー
<a name="term-satisfied-policies"></a>

*満たすポリシー*は、[認可リクエスト](#term-authorization-request)のパラメータに一致するポリシーです。