すべてのプロダクト
Search
ドキュメントセンター

Elastic Desktop Service:タグを使用したきめ細かいアクセス制御の実装

最終更新日:Feb 22, 2025

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: カスタムポリシーを作成する

  1. Alibaba Cloud アカウントを使用して、RAM コンソール にログオンします。

  2. [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] [ポリシーの作成] ページをクリックします。

  3. [ポリシーの作成] ダイアログボックスで、ポリシー名を入力し、[OK] をクリックします。

    例: UseTagCreateECD

    db_ram_console_create_access_policy

手順 2: カスタムポリシーを RAM ユーザーにアタッチする

  1. RAM コンソールの左側のナビゲーションウィンドウで、[ID] > [ユーザー] を選択します。

  2. RAM ユーザーを作成します。具体的な操作の詳細については、「RAM ユーザーを作成する」をご参照ください。

    説明

    既存の RAM ユーザーにポリシーをアタッチする場合は、この手順をスキップします。

  3. ポリシーを RAM ユーザーにアタッチします。具体的な操作の詳細については、「RAM ユーザーに権限を付与する」をご参照ください。

手順 3: ポリシーが有効になっているかどうかを確認する

  1. RAM ユーザーとして EDS Enterprise コンソール または OpenAPI Explorer プラットフォームにログオンします。

  2. EDS Enterprise コンソールで関連操作を実行するか、API 操作を呼び出して、ポリシーが有効になっているかどうかをテストします。

    • シナリオ 1 を検証するためにクラウドコンピュータを作成する

      • owner:tony タグをクラウドコンピュータに追加すると、クラウドコンピュータを作成できます。

      • クラウドコンピュータの作成時に owner:tony タグを追加しない場合、または他のタグを追加する場合は、次のメッセージが表示され、権限が不十分であることが通知されます: 创建云桌面

    • シナリオ 2 を検証するためにクラウドコンピュータをリリースする

      • owner:tony タグが付いているクラウドコンピュータをリリースできます。

      • owner:tony タグがないクラウドコンピュータ、または他のタグが付いているクラウドコンピュータをリリースすると、次のメッセージが表示され、権限が不十分であることが通知されます: 创建云桌面

タグベースの認証をサポートする API 操作

タグベースのポリシーを RAM ユーザーにアタッチした後、RAM ユーザーはタグベースの認証を使用して EDS API を介してクラウドコンピュータを管理できます。詳細については、「関数別の操作リスト」をご参照ください。