リソースアクセス管理 (RAM) IDがリソースアクセス要求を開始すると、ポリシー評価プロセスが実行され、要求を許可するかどうかが判断されます。 RAM IDは、RAMユーザーまたはRAMロールです。 リクエストは、Alibaba Cloud管理コンソール、API操作、またはCLIを使用して初期化できます。 このトピックでは、Alibaba Cloudのポリシー評価プロセスについて説明します。
概要
Alibaba Cloudは複数の種類のポリシーを提供しています。 完全なポリシー評価プロセスには、次の手順が含まれます。
Alibaba Cloudは、アクセス要求に関与するすべてのタイプのポリシーを収集します。 ポリシーには、制御ポリシー、セッションポリシー、IDベースのポリシー、およびリソースベースのポリシーが含まれます。
Alibaba Cloudはポリシーを順番に評価します。 詳細については、このトピックの「基本的な評価プロセス」をご参照ください。 Alibaba Cloudがポリシーを評価した後、Alibaba Cloudはその決定に基づいて次のポリシーを評価するかどうかを決定します。 評価は、最終決定が得られるまで継続します。
基本的な評価プロセス
次の図に示すように、すべてのタイプのポリシーは基本的な評価プロセスに基づいて評価されます。
基本的な評価プロセスには、次の手順があります。
Alibaba Cloudはまず、リクエストに含まれるポリシーにDenyステートメントが含まれているかどうかを確認します。 これは、ポリシー評価において、DenyステートメントがAllowステートメントよりも優先されるためです。
ポリシーにDenyステートメントが含まれている場合、評価は終了します。 明示的な拒否が返されます。
ポリシーにDenyステートメントが含まれていない場合、評価は続行されます。
Alibaba Cloudは、ポリシーにAllowステートメントが含まれているかどうかを確認します。
ポリシーにAllowステートメントが含まれている場合、評価は終了します。 許可が返されます。
ポリシーにAllowステートメントが含まれていない場合、評価は終了します。 暗黙の拒否が返されます。
以下の表は、可能な決定を説明します。
決定 | 説明 |
許可 | ポリシーにDenyステートメントではなくAllowステートメントが含まれている場合、Allowが返されます。 |
明示的な拒否 | ポリシーにDenyステートメントが含まれている場合、Explicit Denyが返されます。 ポリシーにDenyステートメントとAllowステートメントの両方が含まれている場合、DenyステートメントがAllowステートメントよりも優先されます。 この場合、Explicit Denyが返されます。 |
暗黙の拒否 | ポリシーにAllowステートメントまたはDenyステートメントが含まれていない場合、Implicit Denyが返されます。 デフォルトでは、RAM IDによって開始されたすべての要求は暗黙的に拒否されます。 |
標準評価プロセス
次の図は、ポリシーの評価方法と最終決定方法を示しています。
Alibaba Cloudサービスの大部分は、Alibaba Cloudアカウントに基づいて分離されています。 一部のサービスでは、同じアカウント内でのアクセスが許可されます。 Object Storage Service (OSS) などの一部のサービスでは、複数のアカウントにアクセスできます。 ポリシー評価プロセスはすべてのケースに適用されます。
標準評価プロセスには、次の手順が含まれます。
統制ポリシーの評価
コントロールポリシーを使用すると、リソースディレクトリ内のメンバーの権限境界を管理できます。 リソースディレクトリ内のメンバーのリソースにアクセスしたい場合、制御ポリシーが存在する場合、Alibaba Cloudは基本的な評価プロセスに基づいて制御ポリシーを評価します。 詳細については、このトピックの「基本的な評価プロセス」をご参照ください。 そうでなければ、このステップはスキップされる。
Alibaba Cloudは、この決定に基づいて次のポリシーを評価するかどうかを決定します。
明示的な拒否または暗黙的な拒否が返された場合、評価は終了します。 返された決定は最終決定です。
Allowが返された場合、評価は続行されます。
重要リソースディレクトリ内で構成されているアクセス制御ポリシーは、リソースディレクトリ内の関連メンバー内のすべてのRAMユーザーとRAMロールに対しても有効になります。 ただし、ポリシーはメンバーのルートユーザーに対しては有効になりません。 また、リソースディレクトリの管理アカウントはリソースディレクトリ外にあります。 リソースディレクトリに属していません。 したがって、アクセス制御ポリシーも管理アカウント内のすべてのIDに有効になるわけではありません。
セッションポリシーの評価
セッションポリシーは、RAMロールの一時セッションをプログラムで作成するときにパラメーターとして渡すポリシーです。 プログラムでロールセッションを作成するには、AssumeRole操作を呼び出します。 RAMロールがアクセスリクエストを開始し、セッションポリシーが存在する場合、Alibaba Cloudは基本的な評価プロセスに基づいてセッションポリシーを評価します。 詳細については、このトピックの「基本的な評価プロセス」をご参照ください。 そうでなければ、このステップはスキップされる。
Alibaba Cloudは、この決定に基づいて次のポリシーを評価するかどうかを決定します。
明示的な拒否または暗黙的な拒否が返された場合、評価は終了します。 返された決定は最終決定です。
Allowが返された場合、評価は続行されます。
IDベースおよびリソースベースのポリシー評価
IDベースのポリシーとリソースベースのポリシーは同時に評価されます。 決定は一時的に保存され、後で組み合わされます。
IDベースのポリシー評価
RAMユーザーの場合、IDベースのポリシーには、RAM使用量に関連付けられたポリシーと、RAMユーザーが属するグループから継承されたポリシーが含まれます。 RAMロールの場合、IDベースのポリシーはRAMロールにアタッチされたポリシーです。 IDベースのポリシーは、アカウントクラスIDベースのポリシーとリソースグループクラスIDベースのポリシーに分類されます。 2つの分類は、異なる認証粒度を有する。 評価中、アカウントクラスのIDベースのポリシーは、リソースグループクラスの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は、アクセスするリソースにリソースベースのポリシーがあるかどうかを確認します。
リソースベースのポリシーが存在する場合、Alibaba Cloudは基本的な評価プロセスに基づいてポリシーを評価します。 詳細については、このトピックの「基本的な評価プロセス」をご参照ください。 返された決定は、決定Bとして一時的に保存される。
リソースベースのポリシーが存在しない場合、暗黙的な拒否は決定Bとして保存されます。
説明Alibaba Cloudは、OSSバケットのバケットポリシーとRAMロールの信頼ポリシーを提供しています。 アクセスするリソースがOSSバケットまたはRAMロールでない場合、この手順はスキップされます。 アイデンティティベースのポリシーの返された決定は、最終決定と見なされます。
組み合わせの決定
Alibaba Cloudは、決定Aと決定Bを組み合わせます。決定を組み合わせるには、次のロジックを使用します。
明示的な拒否決定が返された場合、最終決定は明示的な拒否である。 評価は終了します。
許可決定が返された場合、最終決定は許可である。 評価は終了します。
明示的な拒否決定も許可決定も返されない場合、最終決定は暗黙的な拒否です。 評価は終了します。
説明上記のロジックを除いて、組み合わせロジックは、アクセスするリソースが属するクラウドサービスにも依存します。 例外の詳細については、「RAMロールを引き受けるポリシー評価プロセス」をご参照ください。
アクセスするリソースがOSSに属している場合、ポリシーの評価後にバケットアクセス制御リスト (ACL) またはオブジェクトACLが評価されます。 詳細は、「RAM権限付与」を参照してください。
最終決定が許可である場合、要求は許可されます。 最終決定が明示的な拒否または暗黙的な拒否である場合、要求は拒否されます。