複数のユーザーが同時にリソースにアクセスするシナリオでは、複数のRAM (Resource access Management) ユーザーを作成し、ロールに基づいてRAMユーザーに権限を付与できます。 これにより、異なるRAMユーザーが異なるリソースにアクセスして管理できます。 これにより、管理効率を向上させ、情報漏洩のリスクを低減することができる。 このトピックでは、リソース認証に基づいてAuto Scalingリソースに対して異なる権限を異なるRAMユーザーに付与する方法について説明します。
背景情報
Alibaba Cloudは、ポリシーベースのアクセス制御を提供します。 RAM ユーザーのロールに基づいて、RAM ポリシーを設定できます。 各ポリシーで複数のリソースレベルの権限を定義し、1つ以上のポリシーをRAMユーザーまたはRAMユーザーグループにアタッチできます。 ポリシーの詳細については、「ポリシーの概要」をご参照ください。
RAMはリソースレベルの認証をサポートしていません。 たとえば、粗い粒度で領域内のAuto Scalingリソースに対する許可を管理することは、非効率的であり得ます。 Auto Scalingを使用すると、リソースレベルの権限を含むポリシーを設定し、そのポリシーをRAMユーザーにアタッチできます。 これにより、Auto Scalingリソースの柔軟な管理が容易になります。
説明RAMの詳細については、「RAMとは何ですか?」をご参照ください。
シナリオ
次の表に、リソースレベルの権限を含むポリシーを設定できるシナリオを示します。
シナリオ | ポリシー |
シナリオ1: スケーリンググループを作成し、リソースレベルの権限を含むポリシーを構成する 例:
| RAMユーザーには、スケーリンググループ1の特定のリソースに対する権限のみが付与されます。 RAMユーザーには、スケーリンググループ2のリソースに対する権限がありません。 |
RAMユーザーには、中国 (杭州) リージョンなどの特定のリージョンでのみスケーリンググループを作成する権限があります。 RAMユーザーには、中国 (北京) リージョンなどの他のリージョンでスケーリンググループを作成する権限がありません。 |
リソースレベルの認証をサポートしないAPI操作
リソースレベルの権限を含むポリシーをRAMユーザーにアタッチすると、RAMユーザーは次の表に示すAPI操作を呼び出すことができません。
操作 | リソース認証がサポートされていません |
DescribeRegions | 課金されます |
スケジュールされたタスクに関連する操作:
| 課金されます |
イベントトリガータスクに関連する操作:
| 課金されます |
手順
RAM ユーザーを作成します。 RAMユーザーの作成方法の詳細については、「RAMユーザーの作成」をご参照ください。
シナリオ1: スケーリンググループを作成し、リソースレベルの権限を含むポリシーを設定する
2つのスケーリンググループを作成します。
詳細については、「スケーリンググループの管理」をご参照ください。
スケーリンググループ1: スケーリンググループ名がasg-001、スケーリンググループIDがasg-bp17np35ywjwh2cx**** です。
スケーリンググループ2: スケーリンググループ名がasg-002、スケーリンググループIDがasg-bp1c5pl2qc6ozgbl**** です。
RAMコンソールにログインします。
カスタムポリシーを作成します。
詳細については、「カスタムポリシーの作成」をご参照ください。
この手順で作成したカスタムポリシーを使用すると、RAMユーザーは、Auto scalingコンソールを使用するか、API操作を呼び出して、asg-001のスケーリンググループを表示、変更、および削除できます。 ただし、RAMユーザーはasg-002スケーリンググループに対して操作を実行できません。
サンプルのカスタムポリシー:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ess:*", "Resource": "acs:ess:cn-hangzhou:160998252992****:scalinggroup/asg-bp17np35ywjwh2cx****" }, { "Effect": "Deny", "Action": "ess:*", "Resource": "acs:ess:cn-hangzhou:160998252992***8:scalinggroup/asg-bp1c5pl2qc6ozgbl****" }, { "Effect": "Allow", "Action": [ "ess:DescribeRegions", "ess:CreateScheduledTask", "ess:ModifyScheduledTask", "ess:DescribeScheduledTasks", "ess:DeleteScheduledTask", "ess:CreateAlarm", "ess:DescribeAlarms", "ess:ModifyAlarm", "ess:EnableAlarm", "ess:DeleteAlarm" ], "Resource": "*" } ] }
Auto Scalingリソースに対するアクセス権限を管理するRAMユーザーにカスタムポリシーをアタッチします。
詳細については、「RAM ユーザーへの権限の付与」をご参照ください。
Auto scalingコンソールを使用するか、RAMユーザーとしてAPI操作を呼び出すことで、asg-001とasg-002スケーリンググループの表示、変更および削除ができます。
asg-001のスケーリンググループを表示、変更、削除することはできますが、asg-002のスケーリンググループを表示、変更、削除することはできません。 次の図に示すエラーメッセージが表示された場合、ポリシーが有効になります。
シナリオ2: リソースレベルの権限を含むポリシーを設定し、スケーリンググループを作成する
RAMコンソールにログインします。
カスタムポリシーを作成します。
詳細については、「カスタムポリシーの作成」をご参照ください。
この手順で作成したカスタムポリシーを使用すると、RAMユーザーはAuto scalingコンソールを使用するか、API操作を呼び出して、中国 (杭州) リージョンにスケーリンググループを作成できます。 ただし、RAMユーザーには、中国 (北京) リージョンでスケーリンググループを作成する権限がありません。
サンプルのカスタムポリシー:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ess:*", "Resource": "acs:ess:cn-hangzhou:160998252992****:*" }, { "Effect": "Deny", "Action": "ess:*", "Resource": "acs:ess:cn-beijing:160998252992****:*" }, { "Effect": "Allow", "Action": [ "ess:DescribeRegions", "ess:CreateScheduledTask", "ess:ModifyScheduledTask", "ess:DescribeScheduledTasks", "ess:DeleteScheduledTask", "ess:CreateAlarm", "ess:DescribeAlarms", "ess:ModifyAlarm", "ess:EnableAlarm", "ess:DeleteAlarm" ], "Resource": "*" } ] }
Auto Scalingリソースに対するアクセス権限を管理するRAMユーザーにカスタムポリシーをアタッチします。
詳細については、「RAM ユーザーへの権限の付与」をご参照ください。
Auto scalingコンソールを使用するか、RAMユーザーとしてAPI操作を呼び出して、スケーリンググループを作成します。
中国 (杭州) リージョンでスケーリンググループを作成できますが、中国 (北京) リージョンでスケーリンググループを作成することはできません。 次の図に示すエラーメッセージが表示された場合、ポリシーが有効になります。
関連ドキュメント
API操作を呼び出してRAMユーザーに権限を付与する方法については、「AttachPolicyToUser」をご参照ください。
API操作を呼び出してカスタムポリシーを作成する方法については、「CreatePolicy」をご参照ください。
API操作を呼び出して1つ以上のスケーリンググループを作成する方法については、「CreateScalingGroup」をご参照ください。
タグベース認証によるAuto Scalingリソースの管理方法については、「Manage Auto Scaling resources by tag-based authentication」をご参照ください。
リソースグループを作成し、リソースグループごとにクラウドリソースを管理する方法については、「リソースグループを使用してスケーリンググループを詳細に管理する」をご参照ください。