このトピックでは、Resource Access Management (RAM) ユーザーのElastic Compute Service (ECS) 権限を管理する方法について説明します。
背景情報
RAMは、次のECSシステムポリシーを提供します。
AliyunECSFullAccess: RAMユーザーにECSインスタンスを管理する権限を付与します。
AliyunECSReadOnlyAccess: RAMユーザーにECSインスタンスの読み取り専用権限を付与します。
システムポリシーが特定の要件を満たすことができない場合は、カスタムポリシーを作成して、最小権限の原則を実装できます。 カスタムポリシーを使用すると、権限を細かく制御し、リソースアクセスのセキュリティを向上させることができます。 詳細については、「権限付与ルール」をご参照ください。
手順
RAMユーザーを作成します。
詳細については、「RAM ユーザーの作成」をご参照ください。
カスタムポリシーを作成します。
詳細については、「カスタマイズポリシーの作成」および「ポリシーの例」をご参照ください。
カスタムポリシーをRAMユーザーにアタッチします。
詳細については、「RAMロールへの権限の付与」をご参照ください。
カスタムポリシーをRAMユーザーにアタッチすると、次のいずれかの権限付与スコープを指定できます。
Alibaba Cloudアカウント: 権限は、現在のAlibaba Cloudアカウントのすべてのリソースに対して有効になります。 この例では、Alibaba Cloudアカウントが選択されています。
特定のリソースグループ: 権限付与は、特定のリソースグループに対して有効になります。 リソースグループに権限を付与する方法の詳細については、「リソースグループを使用したECSインスタンスの管理」をご参照ください。
ポリシーの例
例1: RAMユーザーに、指定した2つのECSインスタンスを管理する権限を付与します。
Alibaba CloudアカウントのECSインスタンスi-001およびi-002を管理する権限を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インスタンスをリソースグループに追加し、RAMユーザーがリソースグループ内のECSインスタンスを表示および管理することを許可できます。 詳細については、「リソースグループを使用したECSインスタンスの管理」をご参照ください。
ポリシーには
Describe *
が必要です。 それ以外の場合、許可されたRAMユーザーはECSコンソールでECSインスタンスを表示できません。 ただし、RAMユーザーは、API操作を呼び出すか、CLIまたはSDKを使用して、指定された2つのECSインスタンスを管理できます。
例2: RAMユーザーに中国 (青島) リージョンのECSインスタンスの表示を許可しますが、RAMユーザーにディスクとスナップショットに関する情報の表示を許可しません。
{ "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" }