Elastic Desktop Service (EDS) Enterprise は、クラウドコンピュータへのアクセス権限管理を提供します。つまり、RAM (Resource Access Management) ユーザーは、クラウドコンピュータの表示または操作を承認できます。さらに、特定のタグが付いたクラウドコンピュータへのアクセス権限を付与することもできます。このトピックでは、タグを使用して RAM ユーザーの権限を管理する方法について説明します。タグを使用することで、さまざまな RAM ユーザーがアクセスできるクラウドコンピュータと、それらのクラウドコンピュータで実行できる操作を制御できます。
背景情報
タグは、クラウド リソースを識別および分類するために使用され、さまざまなディメンションで類似の特性を持つリソースを検索およびグループ化できます。RAM を使用すると、ユーザー ID を管理し、ポリシーベースの制御を通じてクラウド リソースへのアクセスを制御できます。タグを RAM と統合すると、RAM ポリシー内でタグを条件として使用して、リソースに対するきめ細かいアクセス制御を実現できます。タグと RAM の詳細については、「タグ」および「RAM とは」をご参照ください。
次の図は、タグを使用して RAM ユーザー権限を管理する方法を示しています。
使用制限
EDS Enterprise は、タグの使用によるきめ細かいアクセス制御をサポートしていますが、この機能はクラウドコンピュータに限定されています。タグベースのアクセス制御は、ユーザー管理またはリソース管理では使用できません。
タグベースのアクセス制御は、次のリージョンでのみサポートされています。
中国 (杭州)
中国 (上海)
中国 (深圳)
中国 (北京)
シンガポール
日本 (東京)
フィリピン (マニラ)
シナリオ
このトピックで提供されているサンプル構成は、次のシナリオを組み合わせてタグベースのアクセス制御を実装する方法を示しています。たとえば、owner:tony
タグが追加されたクラウドコンピュータがあるとします。owner
はタグキー、tony
はタグ値です。
シナリオ 1: RAM ユーザーは、
owner:tony
タグのないクラウドコンピュータを作成できません。シナリオ 2: RAM ユーザーは、
owner:tony
タグが付いているクラウドコンピュータのみを操作できます。
サンプル構成
次のセクションでは、Alibaba Cloud アカウントを使用して、UseTagCreateECD
という名前のカスタムポリシーを作成します。このポリシーは、RAM ユーザーが owner:tony
タグが付いたクラウドコンピュータのみを作成、表示、および操作できるように指定します。次に、UseTagCreateECD
カスタムポリシーが Testuser
RAM ユーザーにアタッチされます。
手順 1: カスタムポリシーを作成する
Alibaba Cloud アカウントを使用して、RAM コンソール にログオンします。
[JSON] タブでカスタムポリシーを作成します。詳細については、「JSON タブでカスタムポリシーを作成する」をご参照ください。
説明ポリシーは、権限セットを通じて承認境界を設定します。各ポリシーには、スキーマバージョン識別子と宣言型ルールステートメントが含まれています。各ステートメントは、Effect、Action、Resource、および Condition (オプション) などの必須属性で構成されます。詳細については、「ポリシー要素」および「ポリシーの構造と構文」をご参照ください。
タグベースの承認により、
Condition
ブロックを介してきめ細かいアクセス制御が可能になります。次の例では、クラウドコンピュータの複数タグ
conditional
制約について説明します。タグベースの条件付き承認
説明
acs:RequestTag
API 呼び出しにタグを含めることを必須とします。
ポリシーに
acs:RequestTag
が含まれているが、リクエストにタグパラメータがない場合、認証は失敗します。acs:ResourceTag
リソースにタグを含めることを必須とします。
ポリシーに
acs:ResourceTag
が含まれているが、リクエストにリソース ID がない場合、承認は失敗します。次の表に、シナリオ固有のカスタムポリシーを示します。
シナリオ 1:
owner:tony
タグをクラウドコンピュータに追加した場合にのみ、クラウドコンピュータを作成できます。{ "Action":"ecd:CreateDesktops", "Effect":"Allow", "Condition":{ "StringEquals":{ "acs:RequestTag/owner":[ "tony" ] } }, "Resource":"acs:ecd:*:*:ecddesktop/*" }
シナリオ 2:
owner:tony
タグが付いているクラウドコンピュータのみを操作できます。{ "Action":"ecd:*", "Effect":"Allow", "Condition":{ "StringEquals":{ "acs:ResourceTag/owner":[ "tony" ] } }, "Resource":"acs:ecd:*:*:ecddesktop/*" }
次のサンプルコードは、完全なカスタムポリシーを示しています。
{ "Version": "1", "Statement": [ { "Action": "ecd:CreateDesktops", "Effect": "Allow", "Condition": { "StringEquals": { "acs:RequestTag/owner": [ "tony" ] } }, "Resource": "acs:ecd:*:*:ecddesktop/*" }, { "Action": "ecd:*", "Effect": "Allow", "Condition": { "StringEquals": { "acs:ResourceTag/owner": [ "tony" ] } }, "Resource": "acs:ecd:*:*:ecddesktop/*" }, { "Action": [ "*:List*", "*:Describe*", "bss:PayOrder" ], "Effect": "Allow", "Resource": "*" }, { "Action": "*", "Effect": "Allow", "Resource": [ "acs:ecd:*:*:officesite/*", "acs:ecd:*:*:ecdpolicy/*", "acs:ecd:*:*:ecdimage/*", "acs:ecd:*:*:ecdbundle/*" ] } ] }
ポリシーをコンパイルした後、[OK] [ポリシーの作成] ページをクリックします。
[ポリシーの作成] ダイアログボックスで、ポリシー名を入力し、[OK] をクリックします。
例:
UseTagCreateECD
。
手順 2: カスタムポリシーを RAM ユーザーにアタッチする
RAM コンソールの左側のナビゲーションウィンドウで、
を選択します。RAM ユーザーを作成します。具体的な操作の詳細については、「RAM ユーザーを作成する」をご参照ください。
説明既存の RAM ユーザーにポリシーをアタッチする場合は、この手順をスキップします。
ポリシーを RAM ユーザーにアタッチします。具体的な操作の詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
手順 3: ポリシーが有効になっているかどうかを確認する
RAM ユーザーとして EDS Enterprise コンソール または OpenAPI Explorer プラットフォームにログオンします。
EDS Enterprise コンソールで関連操作を実行するか、API 操作を呼び出して、ポリシーが有効になっているかどうかをテストします。
シナリオ 1 を検証するためにクラウドコンピュータを作成する
owner:tony
タグをクラウドコンピュータに追加すると、クラウドコンピュータを作成できます。クラウドコンピュータの作成時に
owner:tony
タグを追加しない場合、または他のタグを追加する場合は、次のメッセージが表示され、権限が不十分であることが通知されます:
シナリオ 2 を検証するためにクラウドコンピュータをリリースする
owner:tony
タグが付いているクラウドコンピュータをリリースできます。owner:tony
タグがないクラウドコンピュータ、または他のタグが付いているクラウドコンピュータをリリースすると、次のメッセージが表示され、権限が不十分であることが通知されます:
タグベースの認証をサポートする API 操作
タグベースのポリシーを RAM ユーザーにアタッチした後、RAM ユーザーはタグベースの認証を使用して EDS API を介してクラウドコンピュータを管理できます。詳細については、「関数別の操作リスト」をご参照ください。