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

Microservices Engine:MSE のカスタムポリシー

最終更新日:Apr 25, 2026

Microservices Engine (MSE) のシステムポリシーが要件を満たせない場合は、最小権限の原則を実現するためにカスタムポリシーを作成できます。カスタムポリシーを使用すると、権限を詳細に制御し、リソースへのアクセスセキュリティを向上させることができます。本トピックでは、MSE のカスタムポリシーの使用方法と、カスタムポリシーの例を紹介します。

カスタムポリシーとは

Resource Access Management (RAM) ポリシーは、システムポリシーとカスタムポリシーに分類されます。ビジネス要件に基づき、カスタムポリシーを管理できます。

  • カスタムポリシーを作成した後は、そのポリシーを RAM ユーザー、ユーザグループ、または RAM ロールにアタッチする必要があります。これにより、ポリシーで指定された権限がプリンシパルに付与されます。

  • プリンシパルにアタッチされていない RAM ポリシーは削除できます。RAM ポリシーがプリンシパルにアタッチされている場合、削除する前にそのプリンシパルから RAM ポリシーをデタッチする必要があります。

  • カスタムポリシーはバージョン管理をサポートしています。RAM が提供するバージョン管理メカニズムに基づき、カスタムポリシーのバージョンを管理できます。

参照

ビジュアルエディターでのカスタムポリシー作成

  1. 管理者権限を持つ RAM ユーザーとして、RAM コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、権限管理 > Policies を選択します。

  3. Policies ページで、ポリシーの作成 をクリックします。

  4. ポリシーの作成 ページで、Visual editor タブをクリックします。

  5. ポリシーを構成します。

    1. Effect セクションで、リソース または Deny を選択します。

    2. Service セクションで、Alibaba Cloud サービスを選択します。

      説明

      選択可能な Alibaba Cloud サービスが Service セクションに表示されます。

    3. Actions セクションで、All action(s) または Select action(s) を選択します。

      Service セクションで選択した Alibaba Cloud サービスに基づき、構成可能な操作が表示されます。Select action(s) を選択した場合は、操作を選択する必要があります。

    4. リソース セクションで、すべてのリソース または Specified resource(s) を選択します。

      Action セクションで選択した操作に基づき、構成可能なリソースが表示されます。Specified resource(s) を選択した場合は、Add resource をクリックして、1 つ以上の Alibaba Cloud リソースネーム (ARN) を構成する必要があります。また、Match all をクリックして、選択した各操作のすべてのリソースを選択することもできます。

      説明

      操作に必要なリソース ARN には Required とタグ付けされています。カスタムポリシーが期待どおりに機能するようにするため、Required とタグ付けされたリソース ARN を構成することを強く推奨します。

    5. Condition セクションで、Add condition をクリックして条件を構成します。

      条件には、Alibaba Cloud 共通条件とサービス固有の条件があります。選択した Alibaba Cloud サービスおよび操作に基づき、構成可能な条件が表示されます。条件キーを選択し、Operator および Value パラメーターを設定するだけで済みます。

    6. Add statement をクリックし、上記の手順を繰り返して複数のカスタムポリシー文を構成します。

  6. カスタムポリシーの内容を確認・最適化します。

    • 基本的な最適化

      システムはポリシー文を自動的に最適化します。基本的な最適化中に、システムは以下の操作を実行します。

      • 不要な条件を削除します。

      • 不要な配列を削除します。

    • (Optional) 高度な最適化

      ポリシーに対して高度な最適化を実行するには、Optional: advanced optimize にカーソルを合わせて、Execute をクリックします。高度な最適化には以下のタスクが含まれます。

      • 操作と互換性のないリソースまたは条件を分割します。

      • リソースの範囲を絞り込みます。

      • ポリシー文の重複を排除またはマージします。

  7. ポリシーの名前 および Remarks を入力します。

  8. OK をクリックします。

Microservices Registry 向けの一般的なカスタムポリシー例

  • 特定のインスタンス上のサービスに対する読み取り専用権限をユーザーに付与します。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "mse:QueryNacosNaming"
                ],
                "Resource": [
                    "acs:mse:*:*:instance/${instanceId1}",
                    "acs:mse:*:*:instance/${instanceId2}"
                ],
                "Effect": "Allow"
            }
        ]
    }
  • 特定のインスタンス上のサービスに対する読み取りおよび更新権限をユーザーに付与します。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "mse:QueryNacosNaming",
                    "mse:UpdateNacosNaming"
                ],
                "Resource": [
                    "acs:mse:*:*:instance/${instanceId1}",
                    "acs:mse:*:*:instance/${instanceId2}"
                ],
                "Effect": "Allow"
            }
        ]
    }
    説明

    ${instanceId1} および ${instanceId2} はレジストリのインスタンス ID です。

  • 特定のインスタンス内の特定の名前空間にあるサービスに対する読み取り専用権限をユーザーに付与します。

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "mse:QueryNacosNaming",
                "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}"
            }
        ],
        "Version": "1"
    }
  • 特定のインスタンス内の特定の名前空間にある ${group} グループ内のサービスに対する読み取りおよび更新権限をユーザーに付与します。

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "mse:QueryNacosNaming",
                    "mse:UpdateNacosNaming"
                ],
                "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}"
            }
        ],
        "Version": "1"
    }
  • ${group} グループ内の ${serviceName} サービスに対する読み取り専用権限をユーザーに付与します。

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "mse:QueryNacosNaming",
                "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/naming/${serviceName}"
            }
        ],
        "Version": "1"
    }
  • ${group} グループ内の ${serviceName} サービスに対する読み取りおよび更新権限をユーザーに付与します。

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "mse:QueryNacosNaming",
                    "mse:UpdateNacosNaming"
                ],
                "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/naming/${serviceName}"
            }
        ],
        "Version": "1"
    }

Microservices Governance 向けの一般的なカスタムポリシー例

すべてのアプリケーションに対する読み取り専用アクセス

アプリケーションのステータスやメトリックを監視する必要があるが、構成を一切変更してはならないチームメンバーにこのポリシーを付与します。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "mse:QueryNamespace",
        "mse:GetApplicationListWithMetircs",
        "mse:ListNamespaces",
        "mse:GetEventFilterOptions",
        "mse:ListEventRecords",
        "mse:GetEventDetail",
        "mse:FetchLogConfig",
        "mse:QueryBusinessLocations",
        "mse:GetApplicationInstanceList",
        "mse:listGrayTag",
        "mse:QueryServiceDetailWithMetrics",
        "mse:GetEventDetail",
        "mse:ListEventsPage",
        "mse:ListEventsByType",
        "mse:GetApplicationTagList"
      ],
      "Resource": "acs:mse:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": "mse:GetApplicationList",
      "Resource": "acs:mse:*:*:namespace/${ns}"
    }
  ]
}

特定のアプリケーションに対するフルアクセス

自身のアプリケーションを管理する必要があるが、他のアプリケーションを変更してはならないアプリケーションオーナーにこのポリシーを付与します。このポリシーは、対象アプリケーションに対するフル権限と、その他すべてのアプリケーションに対する読み取り専用アクセスを組み合わせています。

このポリシーには 3 つの文があります。

  • 文 1: 対象アプリケーションにスコープされたフル権限 (mse:*)。

  • 文 2~3: コンソールナビゲーション用のすべてのアプリケーションに対する読み取り専用アクセス。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "mse:*",
      "Resource": "acs:mse:*:*:namespace/${ns}/application/${appName}"
    },
    {
      "Effect": "Allow",
      "Action": [
        "mse:QueryNamespace",
        "mse:GetApplicationListWithMetircs",
        "mse:ListNamespaces",
        "mse:GetEventFilterOptions",
        "mse:ListEventRecords",
        "mse:GetEventDetail",
        "mse:FetchLogConfig",
        "mse:QueryBusinessLocations",
        "mse:GetApplicationInstanceList",
        "mse:listGrayTag",
        "mse:QueryServiceDetailWithMetrics",
        "mse:GetEventDetail",
        "mse:ListEventsPage",
        "mse:ListEventsByType",
        "mse:GetApplicationTagList"
      ],
      "Resource": "acs:mse:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": "mse:GetApplicationList",
      "Resource": "acs:mse:*:*:namespace/${ns}"
    }
  ]
}

特定の名前空間に対するフルアクセス

テスト環境内のすべてのアプリケーションを管理する必要があるが、本番リソースにアクセスしてはならないテスターにこのポリシーを付与します。

このポリシーには 3 つの文があります。

  • 文 1: 対象名前空間内のすべてのアプリケーションに対するフル権限。

  • 文 2: アプリケーションリスト、トラフィックレーン構成、認証ポリシー、サービスリストなど、コンソール全体のリソースに対する読み取り専用アクセス。

  • 文 3: アプリケーションリストおよびトラフィックレーン管理に関する名前空間レベルの権限。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "mse:*",
      "Resource": "acs:mse:*:*:namespace/${ns}/application/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "mse:QueryNamespace",
        "mse:GetApplicationListWithMetircs",
        "mse:ListNamespaces",
        "mse:GetEventFilterOptions",
        "mse:ListEventRecords",
        "mse:GetEventDetail",
        "mse:FetchLogConfig",
        "mse:QueryBusinessLocations",
        "mse:GetApplicationInstanceList",
        "mse:listGrayTag",
        "mse:QueryServiceDetailWithMetrics",
        "mse:GetEventDetail",
        "mse:ListEventsPage",
        "mse:ListEventsByType",
        "mse:GetApplicationTagList",
        "mse:QueryAllSwimmingLaneGroup",
        "mse:QueryAllSwimmingLane",
        "mse:ListAppBySwimmingLaneGroupTags",
        "mse:ListAppBySwimmingLaneGroupTag",
        "mse:QuerySwimmingLaneById",
        "mse:GetTagsBySwimmingLaneGroupId",
        "mse:ListSwimmingLaneGateway",
        "mse:ListSwimmingLaneGatewayRoute",
        "mse:ListAuthPolicy",
        "mse:GetServiceList",
        "mse:GetServiceListPage"
      ],
      "Resource": "acs:mse:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "mse:GetApplicationList",
        "mse:CreateOrUpdateSwimmingLaneGroup",
        "mse:CreateOrUpdateSwimmingLane",
        "mse:DeleteSwimmingLaneGroup",
        "mse:DeleteSwimmingLaneGroup",
        "mse:DeleteSwimmingLane"
      ],
      "Resource": "acs:mse:*:*:namespace/${ns}"
    }
  ]
}

クラウドネイティブゲートウェイ向けのカスタムポリシー例

すべてのリソースに対するユーザーまたはロールの権限付与

RAM ユーザーまたはロールにすべてのクラウドネイティブゲートウェイに対する操作権限を付与する場合は、以下のシステムポリシーを RAM ユーザーまたはロールにアタッチしてください。

  • 読み取り専用権限:AliyunMSEReadOnlyAccess

  • 読み取りおよび書き込み権限:AliyunMSEFullAccess

特定のゲートウェイリソースに対するユーザーまたはロールの権限付与

RAM ユーザーまたはロールに特定のゲートウェイに対する操作権限を付与する場合は、RAM ユーザーまたはロールにリソースレベルの権限を付与してください。

  • 例 1:RAM ユーザーに、クラウドネイティブゲートウェイ gw-8090caa2a3ab447a8bc5fdf3******** に対する読み取り専用権限を付与します。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "mse:Query*",
                    "mse:List*",
                    "mse:Get*",
                    "mse:Select*",
                    "mse:Pull*",
                    "mse:GatewayBlackWhite*",
                    "mse:GatewayHealthCheckList",
                    "mse:GatewayQueryMonitor",
                    "mse:UploadWasmFile"
                ],
                "Resource": "acs:mse:*:*:instance/gw-8090caa2a3ab447a8bc5fdf3********",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "mse:QueryDefaultAlertStatus",
                    "mse:ListGatewayZone",
                    "mse:ListUpgradableGatewayVersions",
                    "mse:ListTagResources",
                    "mse:ListGatewayIngressMigrateTask",
                    "mse:ListEventRecords",
                    "mse:GetEventFilterOptions",
                    "mse:GetEventDetail",
                    "mse:GetGatewaySelection",
                    "mse:GetGatewayAlarms",
                    "mse:GetGatewayMigrateNamespacedServices",
                    "mse:GetGatewayIngressMigrateTaskDetail",
                    "mse:GetPluginGuide",
                    "mse:GetRegExpCheck",
                    "mse:GetRegExpTest",
                    "mse:CheckPluginLua"
                ],
                "Resource": "acs:mse:*:*:*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "log:DescribeService",
                    "log:ListProject",
                    "log:GetProductDataCollection"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "arms:SearchContactGroup"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
  • 例 2:RAM ユーザーに、クラウドネイティブゲートウェイ gw-8090caa2a3ab447a8bc5fdf3******** に対する読み取りおよび書き込み権限を付与します。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "mse:*"
                ],
                "Resource": "acs:mse:*:*:instance/gw-8090caa2a3ab447a8bc5fdf3********",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "mse:QueryDefaultAlertStatus",
                    "mse:CreateDefaultAlert",
                    "mse:ListGatewayZone",
                    "mse:ListUpgradableGatewayVersions",
                    "mse:ListEventRecords",
                    "mse:GetEventFilterOptions",
                    "mse:GetEventDetail",
                    "mse:GetGatewaySelection",
                    "mse:GetGatewayAlarms",
                    "mse:GetGatewayMigrateNamespacedServices",
                    "mse:GetPluginGuide",
                    "mse:GetRegExpCheck",
                    "mse:GetRegExpTest",
                    "mse:CheckPluginLua",
                    "mse:*TagResources",
                    "mse:*CustomPlugin",
                    "mse:*GatewayIngressMigrateTask*"
                ],
                "Resource": "acs:mse:*:*:*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "log:DescribeService",
                    "log:ListProject",
                    "log:GetProductDataCollection",
                    "log:OpenProductDataCollection"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "arms:SearchContactGroup"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }

注意事項

上記の権限により、MSE コンソールで必要な操作を実行できます。ただし、クラウドネイティブゲートウェイの具体的な機能は他のクラウドサービスに依存しています。RAM ユーザーまたはロールがクラウドネイティブゲートウェイのすべての機能を利用できるようにするには、他のクラウドサービスの権限構成ドキュメントに基づき、RAM ユーザーまたはロールの権限を構成してください。以下の表は、クラウドネイティブゲートウェイが依存するクラウドサービスと関連するクラウドネイティブゲートウェイモジュールのマッピングを示しています。

Alibaba Cloud サービス

クラウドネイティブゲートウェイモジュール

関連ドキュメント

Simple Log Service

  • ログセンター。ログセンターのタブにアクセスするには、「クラウドネイティブゲートウェイ」>「ゲートウェイ」を選択します。「ゲートウェイ」ページで、ゲートウェイ名をクリックしてゲートウェイ詳細ページに移動します。表示されたページで、「観測分析」>「ログセンター」を選択します。

  • プラグインログ。プラグインログのタブにアクセスするには、「クラウドネイティブゲートウェイ」>「ゲートウェイ」を選択します。「ゲートウェイ」ページで、ゲートウェイ名をクリックしてゲートウェイ詳細ページに移動します。表示されたページで、「プラグインマーケットプレイス」をクリックします。次に、プラグインカードをクリックしてプラグイン詳細ページに移動します。表示されたページで、「プラグインログ」をクリックします。

Simple Log Service のカスタムポリシー

ARMS

  • トレーシング分析。トレーシング分析のタブにアクセスするには、「クラウドネイティブゲートウェイ」>「ゲートウェイ」を選択します。「ゲートウェイ」ページで、ゲートウェイ名をクリックしてゲートウェイ詳細ページに移動します。表示されたページで、「観測分析」>「トレーシング分析」を選択します。

  • アラート。アラート機能を使用するには、「クラウドネイティブゲートウェイ」>「アラート」を選択します。

ARMS のシステムポリシー

権限付与情報リファレンス

RAM 認可