このトピックでは、Resource Access Management (RAM) ユーザーの Elastic Compute Service (ECS) 権限を管理する方法について説明します。
背景情報
RAM は、次の ECS システムポリシーを提供します:
AliyunECSFullAccess:RAM ユーザーに ECS インスタンスを管理する権限を付与します。
AliyunECSReadOnlyAccess:RAM ユーザーに ECS インスタンスに対する読み取り専用権限を付与します。
システムポリシーが特定の要件を満たせない場合は、カスタムポリシーを作成して最小権限の原則 (PoLP) を実装できます。カスタムポリシーを使用すると、権限をきめ細かく制御し、リソースアクセスのセキュリティを向上させることができます。詳細については、「RAM での権限付与」をご参照ください。
操作手順
RAM ユーザーを作成します。
詳細については、「RAM ユーザーの作成」をご参照ください。
カスタムポリシーを作成します。
詳細については、「カスタムポリシーの作成」および「ポリシーの例」をご参照ください。
カスタムポリシーを RAM ユーザーにアタッチします。
詳細については、「RAM ロールへの権限付与」をご参照ください。
カスタムポリシーを RAM ユーザーにアタッチする際に、次のいずれかの権限付与の範囲を指定できます:
[アカウント]:権限は、現在の Alibaba Cloud アカウントのすべてのリソースに対して有効になります。この例では、 [アカウント] が選択されています。
[リソースグループ]:権限は、特定のリソースグループに対して有効になります。
ポリシーの例
例 1:RAM ユーザーに 2 つの指定された ECS インスタンスを管理する権限を付与します。
Alibaba Cloud アカウント内の ECS インスタンス i-001 と i-002 (i-001 と i-002 は ECS インスタンス ID) を管理する権限を RAM ユーザーに付与するには、次のサンプルスクリプトを使用します:
{ "Statement": [ { "Action": "ecs:*", "Effect": "Allow", "Resource": [ "acs:ecs:*:*:instance/i-001", "acs:ecs:*:*:instance/i-002" ] }, { "Action": "ecs:Describe*", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }説明権限を付与された RAM ユーザーは、すべての ECS インスタンスを表示できますが、管理できるのは指定された 2 つの ECS インスタンスのみです。権限を付与された RAM ユーザーに、指定された 2 つの ECS インスタンスのみの表示と管理を許可したい場合は、ECS インスタンスをリソースグループに追加し、そのリソースグループ内の ECS インスタンスの表示と管理権限を RAM ユーザーに付与します。詳細については、「リソースグループを使用した ECS インスタンスの管理」をご参照ください。
ポリシーには
Describe*が必要です。これがない場合、権限を付与された RAM ユーザーは ECS コンソールで ECS インスタンスを表示できません。ただし、RAM ユーザーは API 操作の呼び出し、CLI または SDK を使用して、指定された 2 つの ECS インスタンスを管理することはできます。
例 2:RAM ユーザーに中国 (青島) リージョン内の ECS インスタンスを表示する権限を付与しますが、ディスクとスナップショットに関する情報の表示は許可しません。
{ "Statement": [ { "Effect": "Allow", "Action": "ecs:Describe*", "Resource": "acs:ecs:cn-qingdao:*:instance/*" } ], "Version": "1" }説明RAM ユーザーに別のリージョンの ECS インスタンスを表示する権限を付与したい場合は、
Resource要素内のcn-qingdaoを対象リージョンの ID に置き換えます。リージョン ID の詳細については、「リージョンとゾーン」をご参照ください。例 3:RAM ユーザーにスナップショットを作成する権限を付与します。
RAM ユーザーに ECS インスタンスの管理権限を付与した後も、その RAM ユーザーがディスクスナップショットを作成できない場合は、ディスク権限を RAM ユーザーに付与する必要があります。この例では、ECS インスタンス ID は
i-001で、ディスク ID はd-001です。{ "Statement": [ { "Action": "ecs:*", "Effect": "Allow", "Resource": [ "acs:ecs:*:*:instance/i-001" ] }, { "Action": "ecs:CreateSnapshot", "Effect": "Allow", "Resource": [ "acs:ecs:*:*:disk/d-001", "acs:ecs:*:*:snapshot/*" ] }, { "Action": [ "ecs:Describe*" ], "Effect": "Allow", "Resource": "*" } ], "Version": "1" }