信頼できるエンティティがRAMロールを引き受けることを試みると、ポリシー評価プロセスが実行され、要求を許可するかどうかが判断されます。 リクエストは、Alibaba Cloud管理コンソール、API、またはCLIを使用して初期化できます。 このトピックでは、RAM (Resource Access Management) ロールを引き受けるときに適用されるポリシー評価プロセスについて説明します。
RAMの役割を担うポリシー評価プロセスは、決定結合プロセスを除いて、ポリシー評価プロセスと同じである。 ポリシーの評価プロセスに精通している場合は、このトピックの「決定の組み合わせ」セクションのみを読む必要があります。 詳細については、「ポリシーチェックルール」をご参照ください。
ロールを作成する場合は、信頼ポリシーを追加して、そのロールの信頼できるエンティティを指定する必要があります。 この場合、信頼ポリシーはリソースに基づいて有効になります。 信頼できるエンティティがRAMロールを引き受ける場合、信頼できるエンティティに必要な権限を付与する必要があります。 この場合、信頼ポリシーはIDに基づいて有効になります。
信頼できるエンティティがRAMロールを引き受ける場合、ロールはアクセスされるリソースです。 次の図に示すように、Alibaba Cloudはポリシーを順番に評価します。
Alibaba Cloudは、ポリシーチェックルールに基づいて、リクエストに関連する複数のタイプのポリシーを評価します。 ポリシー評価プロセスは、次の手順で構成されます。
統制ポリシーの評価
コントロールポリシーを使用すると、リソースディレクトリ内のフォルダーまたはメンバーアカウントの権限境界を管理できます。 たとえば、想定されるRAMロールはリソースディレクトリのメンバーアカウントに属し、コントロールポリシー機能が有効になっているとします。 Alibaba Cloudは、基本評価プロセスに基づいて制御ポリシーを評価します。 そうでなければ、このステップはスキップされる。
Alibaba Cloudは、この決定に基づいて次のポリシーを評価するかどうかを決定します。
明示的な拒否または暗黙的な拒否が返された場合、評価は終了します。 返された決定は最終決定です。
Allowが返された場合、評価は続行されます。
セッションポリシーの評価
セッションポリシーは、RAMロールの一時セッションをプログラムで作成するときにパラメーターとして渡すポリシーです。 ロールセッションをプログラムで作成するには、AssumeRole APIを呼び出します。 RAMロールがアクセスリクエストを開始し、セッションポリシーが存在する場合、Alibaba Cloudは基本評価プロセスに基づいてセッションポリシーを評価します。 そうでなければ、このステップはスキップされる。
説明ロールベースのシングルサインオン (SSO) を実装する場合、セッションポリシーは存在しません。 したがって、このステップはスキップされます。
Alibaba Cloudは、この決定に基づいて次のポリシーを評価するかどうかを決定します。
明示的な拒否または暗黙的な拒否が返された場合、評価は終了します。 返された決定は最終決定です。
Allowが返された場合、評価は続行されます。
IDベースおよびリソースベースのポリシー評価
IDベースのポリシーとリソースベースのポリシーは同時に評価されます。 決定は、後で組み合わせるために一時的に保存されます。
IDベースのポリシー評価
RAMユーザーの場合、IDベースのポリシーには、RAMユーザーにアタッチされたポリシーと、RAMユーザーが属するグループから継承されたポリシーが含まれます。 RAMロールの場合、IDベースのポリシーはRAMロールにアタッチされたポリシーです。 IDベースのポリシーは、アカウントクラスのIDベースのポリシーとリソースグループクラスのIDベースのポリシーに分けられます。 アカウントクラスのIDベースのポリシーは、評価時にリソースグループクラスのIDベースのポリシーよりも優先度が高くなります。
説明ロールベースSSOを実装した場合、ログインは完了せず、IDベースのポリシーは存在しません。 したがって、このステップはスキップされます。 リソースベースのポリシーの返された決定は、最終決定と見なされます。
次の評価プロセスを使用して、IDベースのポリシーを評価します。
Alibaba Cloudは、アクセス要求を開始したRAM IDにアカウントクラスのIDベースのポリシーがあるかどうかを確認します。
アカウントクラスのIDベースのポリシーが存在する場合、Alibaba Cloudは基本評価プロセスに基づいてポリシーを評価します。 Alibaba Cloudは、この決定に基づいて次のポリシーを評価するかどうかを決定します。
明示的な拒否または許可が返された場合、評価は終了します。 返された決定は、決定Aとして一時的に保存されます。
Implicit Denyが返された場合、評価は続行されます。
アカウントクラスのIDベースのポリシーがない場合、評価は続行されます。
Alibaba Cloudは、アクセス要求を開始したRAM IDにリソースグループクラスのIDベースのポリシーがあるかどうかを確認します。
リソースグループクラスのIDベースのポリシーが存在する場合、Alibaba Cloudは基本評価プロセスに基づいてポリシーを評価します。 返された決定は、決定Aとして一時的に保存される。
リソースグループクラスのIDベースのポリシーが存在しない場合、暗黙的な拒否は決定aとして保存されます。
リソースベースのポリシー評価
Alibaba Cloudは、引き受けられるRAMロールに信頼ポリシーがあるかどうかを確認します。
リソースベースのポリシーが存在する場合、Alibaba Cloudは基本評価プロセスに基づいてポリシーを評価します。 返された決定は、決定Bとして一時的に保存される。
リソースベースのポリシーが存在しない場合、暗黙的な拒否は決定Bとして保存されます。
意思決定の組み合わせ
Alibaba Cloudは、決定Aと決定Bを組み合わせます。組み合わせロジックは、標準のポリシーチェックルールとは異なります。 決定Aと決定Bの両方が許可されている場合にのみ、RAMロールを引き受ける要求が許可されます。
次の組み合わせロジックを使用して、決定Aと決定Bを組み合わせます。
明示的な拒否が存在する場合、最終決定は明示的な拒否です。
決定Aおよび決定Bの両方が許可される場合、最終決定は許可される。 評価は終了します。
前の2つのケースに加えて、最終決定はImplicitDenyです。 評価は終了します。