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

Microservices Engine:Microservices Registry リソースに対する権限の付与

最終更新日:Jan 15, 2025

Alibaba Cloud アカウントを使用して、Microservices Engine (MSE) のリソースに対する操作権限を RAM ユーザーに付与できます。この方法を使用すると、Alibaba Cloud アカウントの AccessKey ペアが漏洩した場合に発生する可能性のあるセキュリティリスクを防ぐことができます。このトピックでは、RAM ユーザーを作成し、Microservices Registry リソースに対する権限を RAM ユーザーに付与する方法について説明します。必要な権限を RAM ユーザーに付与すると、RAM ユーザーとして関連する操作を実行できます。

シナリオ

MSE サービスは企業向けにアクティブ化されています。従業員に必要なリソース権限は、役割によって異なります。企業には次の要件があります。

  • セキュリティを確保するために、企業の Alibaba Cloud アカウントの AccessKey ペアは機密にしておく必要があります。企業はユーザーに異なる権限を付与したいと考えています。

  • 権限が付与されたユーザーのみがリソースを管理できます。リソースの使用量と費用は、ユーザーごとに個別に計算されません。請求書は、企業の Alibaba Cloud アカウントで生成されます。

  • 企業は、RAM ユーザーに付与された権限を取り消し、RAM ユーザーを削除できます。

  • MSE は、開発者と O&M の 2 つのロールを提供するマネージドサービスです。開発者は構成とサービス管理を担当します。O&M 担当者は、インスタンス、名前空間、および権限の管理を担当します。

使用上の注意

このトピックでは、次の図に示すエンジン アクセス制御リンクの権限が構成および使用されます。Alibaba Cloud アカウントを使用して、このリンクに必要な権限を RAM ユーザーに付与すると、コンソールアクセスモードまたは OpenAPI アクセスモードで RAM ユーザーとして MSE にアクセスできます。

幻灯片1.JPG

説明

前の図に示されている エンジン直接アクセスリンク を使用して、RAM ユーザーとして Nacos クライアントを使用して MSE Nacos インスタンスにアクセスすることもできます。このリンクのアクセス認証と使用方法の詳細については、「Nacos クライアントによるアクセス認証」をご参照ください。

ステップ 1:RAM ユーザーを作成する

Resource Access Management (RAM) コンソールにログオンし、Alibaba Cloud アカウントを使用して RAM ユーザーを作成します。

  1. 管理権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーを使用して、RAM コンソールにログオンします。

  2. 左側のナビゲーションペインで、[ID] > [ユーザー] を選択します。

  3. [ユーザー] ページで、[ユーザーの作成] をクリックします。image

  4. ユーザーアカウント情報[ユーザーの作成] ページの セクションで、次のパラメーターを構成します。

    • [ログオン名]:ログオン名は最大 64 文字で、文字、数字、ピリオド(.)、ハイフン(-)、アンダースコア(_) を使用できます。

    • [表示名]:表示名は最大 128 文字です。

    • [タグ]edit アイコンをクリックし、タグキーとタグ値を入力します。RAM ユーザーに 1 つ以上のタグを追加できます。このようにして、タグに基づいて RAM ユーザーを管理できます。

    説明

    [ユーザーの追加] をクリックして、複数の RAM ユーザーを一度に作成できます。

  5. [アクセスモード] セクションで、[コンソールアクセス] または [永続 Accesskey を使用してアクセス] を選択します。

    • [コンソールアクセス]:コンソールアクセスを選択した場合は、ログオンセキュリティの基本設定を構成する必要があります。これらの設定では、システム生成のログオンパスワードを使用するか、カスタムログオンパスワードを使用するか、次回のログオン時にパスワードをリセットするか、多要素認証 (MFA) を有効にするかを指定します。

      説明

      [コンソールパスワード] セクションで [カスタムログオンパスワード] を選択した場合は、パスワードを指定する必要があります。[ID] > [設定] ページで指定した複雑さの要件をパスワードが満たしている必要があります。パスワードの複雑さの要件の詳細については、「RAM ユーザーのパスワードポリシーを構成する」をご参照ください。

    • [永続 Accesskey を使用してアクセス][永続 Accesskey を使用してアクセス] を選択すると、作成する RAM ユーザーの AccessKey ペアが自動的に作成されます。RAM ユーザーは、API 操作を呼び出したり、他の開発ツールを使用して Alibaba Cloud リソースにアクセスしたりできます。

    説明

    リソースのセキュリティを確保するために、RAM ユーザーにはコンソールアクセスを選択することをお勧めします。こうすることで、RAM ユーザーが組織を離れた後、AccessKey ペアを使用して Alibaba Cloud リソースにアクセスできなくなります。

  6. [OK] をクリックします。

ステップ 2:RAM ユーザーに権限を付与する

RAM ユーザーを使用する前に、必要な権限を RAM ユーザーに付与します。

  1. RAM 管理者として RAM コンソール にログオンします。

  2. 左側のナビゲーションペインで、[ID] > [ユーザー] を選択します。

  3. [ユーザー] ページで、必要な RAM ユーザーを見つけ、権限の追加[アクション] 列の をクリックします。

    image

    複数の RAM ユーザーを選択し、ページの下部にある [権限の追加] をクリックして、一度に RAM ユーザーに権限を付与することもできます。

  4. [権限の付与] パネルの [ポリシー] セクションで、ポリシーを選択します。[ポリシー] セクションの検索ボックスに追加するポリシーを入力し、表示されたポリシーをクリックして、[権限の付与] をクリックします。

    • 粗粒度認可のシステムポリシー

      MSE は、粗粒度認可のための 2 つのシステムポリシーをサポートしています。次の表に、ポリシーを示します。

      ポリシー

      説明

      AliyunMSEFullAccess

      MSE を管理するための権限。このポリシーがアタッチされている RAM ユーザーを使用して、Alibaba Cloud アカウントを使用して MSE を管理するのと同じ方法で、MSE コンソールのすべての機能を管理できます。

      AliyunMSEReadOnlyAccess

      MSE の読み取り専用権限。このポリシーがアタッチされている RAM ユーザーは、Alibaba Cloud アカウントのすべてのリソースを読み取ることができます。

      説明

      O&M 担当者には AliyunMSEFullAccess ポリシーをアタッチすることをお勧めします。こうすることで、O&M 担当者はリソースを作成および削除できます。開発者には AliyunMSEReadOnlyAccess ポリシーをアタッチすることをお勧めします。こうすることで、開発者はリソースを表示できますが、リソースを削除または作成することはできません。開発者の権限をきめ細かく管理する場合は、次のいずれかのカスタムポリシーを使用できます。

    • きめ細かい認可のカスタムポリシー

      説明

      次の表に、MSE 権限を示します。これらはカスタムポリシーの構成に役立ちます。

      アクション

      説明

      読み取り専用

      CreateCluster

      インスタンスを作成します

      いいえ

      DeleteCluster

      インスタンスを削除します

      いいえ

      QueryClusterDetail

      インスタンスの詳細をクエリします

      はい

      RestartCluster

      インスタンスを再起動します

      いいえ

      RetryCluster

      インスタンスを再試行します

      いいえ

      UpdateCluster

      インスタンスを更新します

      いいえ

      CreateNacosConfig

      Nacos 構成を作成します

      いいえ

      DeleteNacosConfig

      Nacos 構成を削除します

      いいえ

      DeleteNacosConfigs

      一度に複数の Nacos 構成を削除します

      いいえ

      GetNacosConfig

      Nacos 構成を表示します

      はい

      GetNacosHistoryConfig

      Nacos 構成の履歴詳細を表示します

      はい

      UpdateNacosConfig

      Nacos 構成を更新します

      いいえ

      UpdateNacosInstance

      Nacos インスタンスを更新します

      いいえ

      DeleteNacosService

      Nacos サービスを削除します

      いいえ

      CreateNacosService

      Nacos サービスを作成します

      いいえ

      UpdateNacosService

      Nacos サービスを更新します

      いいえ

      CreateNacosInstance

      Nacos インスタンスを作成します

      いいえ

      UpdateNacosCluster

      Nacos クラスタを更新します

      いいえ

      次の表に示す権限は、アカウントレベルでのみ付与できます。権限はインスタンスごとに表示できません。

      アクション

      説明

      読み取り専用

      ListClusters

      インスタンスのリストをクエリします。

      はい

      ListServiceQuotas

      クォータをクエリして表示します。この権限を付与することをお勧めします。

      はい

      次の表に示す権限は、インスタンスレベルでのみ付与できます。きめ細かい権限表示はサポートされていません。

      アクション

      説明

      読み取り専用

      ListNacosConfigs

      Nacos 構成のリストをクエリします。

      はい

      ListNacosHistoryConfigs

      Nacos 履歴構成のリストをクエリします。

      はい

      ListAnsServices

      すべてのサービスのリストをクエリします。

      はい

      ListAnsServiceClusters

      サービスのクラスタのリストをクエリします。

      はい

      ListAnsInstances

      サービスのインスタンスのリストをクエリします。

      はい

    例 1:RAM ユーザーにインスタンス mse-cn-0pp1j8om80a に対する読み取りおよび書き込み権限を付与します。

    説明

    この例では、mse-cn-0pp1j8om80a は ClusterId で指定された ID ではなく、InstanceId で指定された ID を示します。

    {
      "Statement": [
        {
          "Action": "mse:ListClusters", // インスタンス一覧の取得
          "Resource": "acs:mse:*:*:*",
          "Effect": "Allow"
        },
        {
          "Action": "mse:*",
          "Resource": "acs:mse:*:*:instance/mse-cn-0pp1j8om80a",
          "Effect": "Allow"
        }
      ],
      "Version": "1"
    }

    例 2:RAM ユーザーにすべてのインスタンスに対する読み取り権限を付与します。

     {
      "Statement": [
        {
            "Action": [
            "mse:List*", // 一覧取得操作
            "mse:Query*", // クエリ操作
            "mse:Get*" // 取得操作
          ],
          "Resource": "acs:mse:*:*:*",
          "Effect": "Allow"
        }
      ],
      "Version": "1"
    }

    例 3:RAM ユーザーにインスタンス mse-cn-0pp1j8om80a 内の名前空間 3fd98c48-a709-4061-bba1-e341d79d681b の構成に対する読み取りおよび書き込み権限を付与します。

    この例は、複雑な認可シナリオを示しています。きめ細かい認可を実現するには、次のレベルの権限が必要です。

    1. インスタンスをクエリする権限。この権限により、RAM ユーザーはインスタンス情報を表示できます。

    2. インスタンス内のすべてのリソースに対する読み取り権限。この権限により、RAM ユーザーはインスタンスにアクセスし、インスタンスのすべてのリソースを表示できます。

    3. 名前空間内の構成を作成および変更する権限。

    {
        "Version": "1",
        "Statement": [{
                "Action": [
                    "mse:ListClusters" // インスタンス一覧の取得
                ],
                "Resource": [
                    "acs:mse:*:*:*"
                ],
                "Effect": "Allow"
            },
            {
                "Action": [
                    "mse:List*", // 一覧取得操作
                    "mse:Query*", // クエリ操作
                    "mse:Get*" // 取得操作
                ],
                "Resource": [
                    "acs:mse:*:*:instance/mse-cn-0pp1j8om8"
                ],
                "Effect": "Allow"
            },
            {
                "Action": [
                    "mse:CreateNacosConfig", // Nacos 構成の作成
                    "mse:UpdateNacosConfig" // Nacos 構成の更新
                ],
                "Resource": [
                    "acs:mse:*:*:instance/mse-cn-0pp1j8om8/3fd98c48-a709-4061-bba1-e341d79d681b"
                ],
                "Effect": "Allow"
            }
        ]
    }

    例 4:RAM ユーザーにインスタンス mse-cn-0pp1j8om80a 内の DataId で指定された構成に対する読み取りおよび書き込み権限を付与します。

    この例は、複雑な認可シナリオを示しています。きめ細かい認可を実現するには、次のレベルの権限が必要です。

    1. インスタンスをクエリする権限。この権限により、RAM ユーザーはインスタンス情報を表示できます。

    2. インスタンス内のすべてのリソースに対する読み取り権限。この権限により、RAM ユーザーはインスタンスにアクセスし、インスタンスのすべてのリソースを表示できます。

    3. 名前空間内の構成を作成および変更する権限。

    4. グループ内の構成を作成および変更する権限。

    5. リソースソース:acs:mse:*:*:instance/${instanceId}/${namespaceId}/${groupId}/${dataId}

    {
        "Version": "1",
        "Statement": [{
                "Action": [
                    "mse:ListClusters" // インスタンス一覧の取得
                ],
                "Resource": [
                    "acs:mse:*:*:*"
                ],
                "Effect": "Allow"
            },
            {
                "Action": [
                    "mse:List*", // 一覧取得操作
                    "mse:Query*", // クエリ操作
                    "mse:Get*" // 取得操作
                ],
                "Resource": [
                    "acs:mse:*:*:instance/mse-cn-0pp1j8om8"
                ],
                "Effect": "Allow"
            },
            {
                "Action": [
                    "mse:CreateNacosConfig", // Nacos 構成の作成
                    "mse:UpdateNacosConfig" // Nacos 構成の更新
                ],
                "Resource": [
    
                    "acs:mse:*:*:instance/mse-cn-0pp1j8om8/3fd98c48-a709-4061-bba1-e341d79d681b/DEFAULT_GROUP/prod.yaml"
                ],
                "Effect": "Allow"
            }
        ]
    }

    例 5:RAM ユーザーにインスタンス mse-cn-0pp1j8om80a 内の指定されたサービスの構成に対する読み取りおよび書き込み権限を付与します。

    この例は、複雑な認可シナリオを示しています。きめ細かい認可を実現するには、次のレベルの権限が必要です。

    1. インスタンスをクエリする権限。この権限により、RAM ユーザーはインスタンス情報を表示できます。

    2. インスタンス内のすべてのリソースに対する読み取り権限。この権限により、RAM ユーザーはインスタンスにアクセスし、インスタンスのすべてのリソースを表示できます。

    3. 名前空間内の構成を作成および変更する権限。

    4. グループ内の構成を作成および変更する権限。

    5. リソースソース:acs:mse:*:*:instance/${instanceId}/${namespaceId}/${groupId}/${serviceName}

      {
          "Version": "1",
          "Statement": [{
                  "Action": [
                      "mse:ListClusters" // インスタンス一覧の取得
                  ],
                  "Resource": [
                      "acs:mse:*:*:*"
                  ],
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "mse:List*", // 一覧取得操作
                      "mse:Query*", // クエリ操作
                      "mse:Get*" // 取得操作
                  ],
                  "Resource": [
                      "acs:mse:*:*:instance/mse-cn-0pp1j8om8"
                  ],
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "mse:CreateNacosConfig", // Nacos 構成の作成
                      "mse:UpdateNacosConfig" // Nacos 構成の更新
                  ],
                  "Resource": [
      
                      "acs:mse:*:*:instance/mse-cn-0pp1j8om8/3fd98c48-a709-4061-bba1-e341d79d681b/DEFAULT_GROUP/test-service"
                  ],
                  "Effect": "Allow"
              }
          ]
      }
  5. [権限の付与] パネルで、認可が成功したことを確認し、[閉じる] をクリックします。

次のステップ

Alibaba Cloud アカウントを使用して RAM ユーザーを作成した後、RAM ユーザーのログオン名とパスワード、または AccessKey ペアを他の従業員と共有できます。従業員は、次の手順を実行して RAM コンソールにログオンするか、RAM ユーザーを使用して API 操作を呼び出すことができます。

  • MSE コンソールにログオンする

    1. RAM ユーザーログオン ページに移動します。

    2. [RAM ユーザーログオン] ページで、RAM ユーザーの名前を入力し、[次へ] をクリックします。次に、パスワードを入力し、[ログオン] をクリックします。

      説明

      RAM ユーザーのログオン名は、<$username>@<$AccountAlias> または <$username>@<$AccountAlias>.onaliyun.com 形式です。<$AccountAlias> は、RAM ユーザーのエイリアスを指定します。エイリアスを指定しない場合は、デフォルトで Alibaba Cloud アカウントの ID が使用されます。

    3. RAM ユーザーセンターページで、RAM ユーザーがコンソールにアクセスする権限を持っているサービスをクリックします。

  • API 操作を呼び出す。

    RAM ユーザーの AccessKey ペアを使用して、API 操作を呼び出します。コードに RAM ユーザーの AccessKey ID と AccessKey シークレットを指定します。