Elastic Compute Service (ECS) リソースにタグを追加すると、タグでリソースを分類してアクセスを制御できます。 このトピックでは、タグを使用して RAM ユーザーの ECS インスタンスへのアクセスを制御する方法について説明します。

始める前に

RAM ユーザーは、Alibaba Cloud アカウント内に作成されます。 詳細については、「RAM ユーザーの作成」をご参照ください。

このタスクについて

タグを使用してクラウドリソースを識別できます。 タグは、さまざまな側面において、同じ特性を持つクラウドリソースを分類、検索、集約するのに役立ちます。 これにより、リソース管理が簡単になります。 各クラウドリソースに、複数のタグを追加できます。 タグがサポートされているクラウドサービスとリソースの詳細については、「タグと連携するサービス」および「Tag API 操作がサポートされているリソースの種類」をご参照ください。

Alibaba Cloud は、ポリシーベースのアクセス制御を実装しています。 RAM ユーザーのロールに基づいて、RAM ポリシーを設定できます。 各ポリシーに複数のタグを定義して、RAM ユーザーまたは RAM ユーザーグループに、1 つまたは複数のポリシーをアタッチできます。

デフォルトでは、リソースリストに現在のリージョン内のすべてのリソースが表示されます。 RAM ユーザーがアクセスできるリソースを制御するには、特定のタグが指定されたカスタムポリシーを作成し、そのポリシーを RAM ユーザーにアタッチして、リソースにタグを追加します。

ステップ 1:カスタムポリシーを作成して、RAM ユーザーにアタッチ

Alibaba Cloud アカウントを使用して、名前が UserTagAccessRes のカスタムポリシーを作成し、userTest RAM ユーザーにアタッチします。 UserTagAccessRes ポリシーでは、RAM ユーザーを使用して ECS リソースにアクセスする際に、 owner:zhangsan および environment:production タグを指定する必要があることが定義されています。

  1. Alibaba Cloud アカウントを使用して RAM コンソールにログインします。
  2. 名前が UserTagAccessRes のカスタムポリシーを作成します。

    詳細については、「カスタマイズポリシーの作成」をご参照ください。

    以下に、ポリシードキュメントのコードを示します。 ポリシー内のクラウドリソースに複数のタグを設定できます。

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "ecs:tag/owner": "zhangsan",
                        "ecs:tag/environment": "production"
                    }
                }
            },
            {
                "Action": [
                    "ecs:DescribeTagKeys",
                    "ecs:DescribeTags"
                ],
                "Effect": "Allow",
                "Resource": "*"
            },
            {
                "Effect": "Deny",
                "Action": [
                    "ecs:DeleteTags",
                    "ecs:UntagResources",
                    "ecs:CreateTags",
                    "ecs:TagResources"
                ],
                "Resource": "*"
            }
        ],
        "Version": "1"
    }
    権限設定説明
    特定のタグが追加されたリソースへのアクセス
    • "ecs:tag/owner": "zhangsan"
    • "ecs:tag/environment": "production"
    特定のタグが追加されたリソースへのアクセスを制御できます。
    タグのクエリに使われる API 操作の呼び出し
    • ecs:DescribeTagKeys
    • ecs:DescribeTags
    ECS コンソールでは、タグのクエリを実行できます。
    タグ管理に使われる API 操作の呼び出しの不許可
    • ecs:DeleteTags
    • ecs:UntagResources
    • ecs:CreateTags
    • ecs:TagResources
    このポリシーでは、すべてのタグ関連の API 操作が権限から除外されます。 これにより、タグの修正に関係なく、ユーザーに権限を与えることができます。
  3. userTest の RAM ユーザーにカスタムポリシーをアタッチします。
    詳細については、「RAM ユーザーへの権限の付与」をご参照ください。

ステップ 2:ECS インスタンスへのタグの追加

Alibaba Cloud アカウントを使用して、ECS インスタンスにタグを追加します。

説明 ECS インスタンスがない場合は、まず ECS インスタンスを作成します。 詳細については、「作成方法の概要」をご参照ください。
  1. Resource Access Management コンソールにログインします。
  2. 左側のナビゲーションペインで、[タグ] > [タグ] を選択します。
  3. 上部のナビゲーションバーで、リージョンを選択します。
  4. [カスタムタグ] タブで、[カスタムタグの作成] をクリックします。
  5. [カスタムタグの作成] ダイアログボックスで、 owner:zhangsan および environment: production タグを既存の ECS インスタンスに追加します。
    詳細については、「カスタムタグの追加」をご参照ください。

ステップ 3:特定のタグが追加された ECS インスタンスへのアクセス

userTest RAM ユーザーで ECS コンソールにログインして、特定のタグが追加されたインスタンスにアクセスします。

  1. RAM ユーザーを使用してECS コンソールにログインします。
  2. 左側のナビゲーションペインで [インスタンスとイメージ] > [インスタンス] を選択します。
  3. 上部のナビゲーションバーで、リージョンを選択します。
  4. [インスタンス] ページで、検索ボックスの横にある [タグ] をクリックして、 owner:zhangsan および environment:production タグを選択します。
    タグでフィルタリング
  5. owner:zhangsan および environment:production タグが追加されたリソースのみを表示します。