

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

# Amazon SQSアクセスポリシー言語評価ロジック
<a name="sqs-creating-custom-policies-evaluation-logic"></a>

 Amazon SQSは評価時に、リソース所有者以外の別の人物から与えられたリクエストに対し、許可するか拒否するかを決定します。評価論理は、以下の複数の基本ルールに従っています。
+ デフォルトでは、リソースの使用許可を求めるリクエストについては、リクエスタが自分自身である場合を除いて、拒否を適用する。
+ *[許可](sqs-creating-custom-policies-key-concepts.md#allow)* はすべての*[Default-deny](sqs-creating-custom-policies-key-concepts.md#default-deny)*をオーバーライドする。
+ *[Explicit-deny](sqs-creating-custom-policies-key-concepts.md#explicit-deny)* はすべての**allow**をオーバーライドする。
+ ポリシー評価の順序は重要ではない。

次の図は、アクセス権限に関する決定事項をAmazon SQSがどのように評価するかに関する詳細を示しています。

![\[Amazon SQS がアクセス許可に関する決定をどのように評価するかを示すフローチャート。\]](http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Evaluation_Flow.png)


![\[In the previous diagram, number one.\]](http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png) 決定は**default-deny**から始まります。

![\[In the previous diagram, number two.\]](http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png)エンフォースメントコードは、リクエストに適用可能なポリシーすべてを、リソース、プリンシパル、アクション、および条件に基づいて評価します。エンフォースメントコードによるポリシー評価の順序は重要ではありません。

![\[In the previous diagram, number three.\]](http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png) エンフォースメントコードは、リクエストに適用できる **explicit-deny** インストラクションを探します。仮に1つでも見つかった場合、エンフォースメントコードは**拒否**の決定を返し、プロセスは終了します。

![\[In the previous diagram, number four.\]](http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-4-red.png) **explicit-deny** が見つからなかった場合、リクエストに適応できる**allow**インストラクションがエンフォースメントコードによって検索されます。仮に1つでも見つかった場合、エンフォースメントコードは**許可**の決定を返し、プロセスは完了します (サービスはリクエストのプロセスを継続します)。

![\[In the previous diagram, number five.\]](http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-5-red.png)**allow**インストラクションが見つからなかった場合、最終決定は **deny**となります(**explicit-deny**または**allow**が見つからない場合、**default-deny**として見なされるためです)。