Alibaba Cloud アカウントは Microservices Engine (MSE) を使用して、Microservices Governance Center の権限を Resource Access Management (RAM) ユーザーに付与できます。これらの権限は、コンソールで付与することも、OpenAPI 操作を呼び出して付与することもできます。この方法により、Alibaba Cloud アカウントキーが公開されるセキュリティリスクを回避できます。権限が付与されると、RAM ユーザーは MSE Microservices Governance Center を使用できます。このトピックでは、RAM ユーザーを作成し、コンソールでユーザーに権限を付与する方法について説明します。
シナリオ
ある企業が MSE を使用しています。従業員はそれぞれ異なる職務を担当しており、リソースに対して異なる権限が必要です。たとえば、運用保守 (O&M) エンジニアはアプリケーションと権限を管理し、開発者はアプリケーションルールを設定します。この企業には次の要件があります。
セキュリティ上の理由から、企業は従業員に Alibaba Cloud アカウントキーを公開することを避けたいと考えています。代わりに、各従業員のアカウントに特定の権限を付与したいと考えています。
ユーザーアカウントは、必要な権限を持っている場合にのみリソースを操作できます。これらのアカウントは個別の課金を必要としません。すべての費用はビジネスアカウントに請求されます。
ユーザーアカウントの権限はいつでも取り消すことができます。また、ユーザーアカウントはいつでも削除できます。
アプリケーションのオーナーは、自分が管理するアプリケーションに対してのみ権限を持ち、他のアプリケーションにアクセスしたり操作したりすることはできません。
テスターは、テスト名前空間内のアプリケーションに対してのみ権限を持ちます。本番名前空間内のアプリケーションにアクセスしたり操作したりすることはできません。
ステップ 1: RAM ユーザーの作成
詳細については、「RAM ユーザーの作成」をご参照ください。
ステップ 2: RAM ユーザーへの権限付与
RAM ユーザーを使用する前に、ユーザーに必要な権限を付与する必要があります。
RAM 管理者として RAM コンソールにログオンします。
左側のナビゲーションウィンドウで、 を選択します。
[ユーザー] ページで、目的の RAM ユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。

複数の RAM ユーザーを選択し、ページの下部にある [権限の追加] をクリックして、一度に RAM ユーザーに権限を付与することもできます。
[権限の追加] パネルで、アクセスポリシーを選択し、[OK] をクリックします。
アクセスポリシータイプを選択します。テキストボックスに、追加したいポリシーのキーワードを入力します。検索結果のポリシーをクリックして、右側の [選択済み] リストに追加します。
アクセスポリシータイプには、システムポリシーとカスタムポリシーがあります。
システムポリシー (粗粒度の権限付与)
アクセスポリシー名
説明
AliyunMSEFullAccess
MSE を管理する権限。このポリシーは、Alibaba Cloud アカウントの権限と同等です。このポリシーを付与された RAM ユーザーは、MSE コンソールですべての操作を実行する権限を持ちます。
AliyunMSEReadOnlyAccess
MSE の読み取り専用権限。このポリシーを付与された RAM ユーザーは、MSE コンソールで読み取り専用権限を持ちます。
説明O&M エンジニアに AliyunMSEFullAccess ポリシーを付与して、リソースの作成と削除を許可します。開発者に AliyunMSEReadOnlyAccess ポリシーを付与して、リソースの表示は許可しますが、作成や削除は許可しません。
カスタムポリシー (きめ細かな権限付与)
よりきめ細かな権限付与が必要な場合は、カスタムポリシーを作成できます。例については、「一般的な権限設定の例」をご参照ください。カスタムポリシーの作成方法については、「カスタムポリシーの作成」をご参照ください。
[権限の追加] パネルで、権限付与が完了したことを確認し、[閉じる] をクリックします。
一般的な権限設定の例
すべてのアプリケーションに対する読み取り専用権限
すべてのアプリケーションに対して読み取り専用権限を付与できます。これにより、企業のユーザーはアプリケーションに関する重要な情報を表示できます。
たとえば、Alibaba Cloud アカウントを使用して、そのアカウントに属するすべてのマイクロサービスガバナンスアプリケーションに対する読み取り専用権限を RAM ユーザーに付与できます。
対応するアクセスポリシーは次のとおりです。
{
"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}"
}
]
}特定のアプリケーションに対する完全な権限
企業のアプリケーションのオーナーとして、そのアプリケーションに対する完全な権限を取得できます。権限は、管理するアプリケーションに厳密に限定されます。
たとえば、Alibaba Cloud アカウントを使用して、RAM ユーザーに次の権限を付与できます。
RAM ユーザーは、Alibaba Cloud アカウントに属するすべてのマイクロサービスガバナンスアプリケーションに対する読み取り専用権限を持ちます。
RAM ユーザーは、指定されたマイクロサービス管理アプリケーションに対する完全な権限を持ちます。
対応するアクセスポリシーは次のとおりです。
{
"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}"
}
]
特定の名前空間に対する完全な権限
企業のテスターとして、テスト環境 (テスト名前空間) 内のすべてのアプリケーションを操作する権限を取得できます。権限は、テスト環境 (テスト名前空間) に厳密に限定されます。
たとえば、Alibaba Cloud アカウントを使用して、RAM ユーザーに次の権限を付与できます。
RAM ユーザーは、Alibaba Cloud アカウントに属するすべてのマイクロサービスガバナンスアプリケーションに対する読み取り専用権限を持ちます。
RAM ユーザーは、指定されたマイクロサービスガバナンス名前空間に対する読み取りおよび書き込み権限を持ちます。
対応するアクセスポリシーは次のとおりです。
{
"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 ユーザーがクイック統合プロセスを完了する必要がある場合、ユーザーは少なくとも次の例に示す権限をすべて持っている必要があります。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"mse:CheckServiceLinkRole",
"mse:GetUserStatus",
"mse:QueryNamespace",
"mse:ListCsKubernetesClusters",
"mse:CheckEciRole",
"mse:ListCsKubernetesClusters",
"mse:CheckCsRole",
"mse:GetClusterOnePilotInfo",
"mse:GetGovernanceKubernetesCluster",
"mse:InstallOnePilot",
"mse:CreateNamespace",
"mse:ModifyGovernanceKubernetesCluster",
"mse:QueryGovernanceKubernetesCluster",
"mse:ListNamespaces"
],
"Resource": "*"
}
]
}すべての管理対象リソースに対する読み取りおよび書き込み権限 (権限テスト専用、本番環境では非推奨)
このセクションでは、サービス管理で使用される可能性のあるすべてのリソースに対する読み取りおよび書き込み権限をリストします。これは、RAM ユーザーの権限を確認および検証するのに役立ちます。このポリシーを本番環境に直接コピーしないでください。次のポリシーでは、Action および Resource の設定をそれぞれ mse:* と acs:mse:*:*:* に置き換えることができます。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"mse:AddAuthPolicy",
"mse:AddServiceTimeConfig",
"mse:AddWhiteScreenRule",
"mse:ApplyGlobalReadWriteSplitRule",
"mse:ApplyReadWriteSplitRule",
"mse:ApplyTagPolicies",
"mse:BatchUpdateRulesEnable",
"mse:BindSentinelBlockFallbackDefinition",
"mse:CheckCanaryPolicy",
"mse:CheckCsRole",
"mse:CheckEciRole",
"mse:CheckRole",
"mse:CheckServiceLinkedRoleForDeleting",
"mse:CheckUserReadinessConfig",
"mse:CheckXTraceServiceStatus",
"mse:CloneSentinelRuleFromAhas",
"mse:CreateApplication",
"mse:CreateCircuitBreakerRule",
"mse:CreateFlowRule",
"mse:CreateGovernanceKubernetesCluster",
"mse:CreateHotParamRule",
"mse:CreateIsolationRule",
"mse:CreateLicenseKey",
"mse:CreateMseServiceApplication",
"mse:CreateNamespace",
"mse:CreateOrUpdateEmptyPushSetting",
"mse:CreateOrUpdateSwimmingLane",
"mse:CreateOrUpdateSwimmingLaneGroup",
"mse:CreateSentinelBlockFallbackDefinition",
"mse:CreateWebFlowRule",
"mse:DeleteCircuitBreakerRules",
"mse:DeleteFaultInjectionRule",
"mse:DeleteFlowRules",
"mse:DeleteGovernanceKubernetesCluster",
"mse:DeleteHotParamRules",
"mse:DeleteIsolationRules",
"mse:DeleteNamespace",
"mse:DeleteSentinelBlockFallbackDefinition",
"mse:DeleteSwimmingLane",
"mse:DeleteSwimmingLaneGroup",
"mse:DeleteWebFlowRules",
"mse:DeleteWhiteScreenRule",
"mse:DescribeAppAgentStatus",
"mse:FetchAppLogConfig",
"mse:FetchDataSourceConfig",
"mse:FetchGlobalReadWriteSplitRules",
"mse:FetchLogConfig",
"mse:FetchLosslessRuleList",
"mse:FetchReadWriteSplitRules",
"mse:FetchRoutePolicyList",
"mse:FetchWhiteScreenRule",
"mse:GenerateAgentLogSts",
"mse:GetAppMessageQueueRoute",
"mse:GetApplicationDetail",
"mse:GetApplicationInstanceList",
"mse:GetApplicationInstancesWithMetircs",
"mse:GetApplicationList",
"mse:GetApplicationListWithMetircs",
"mse:GetApplicationTagList",
"mse:GetAuthPolicyInfo",
"mse:GetCanaryStatus",
"mse:GetClusterOnePilotInfo",
"mse:GetDubboServicePageWithMetrics",
"mse:GetDubboTestMethod",
"mse:GetGovernanceKubernetesCluster",
"mse:GetGovernanceKubernetesClusterList",
"mse:GetLicenseKey",
"mse:GetLocalityDistributionMetrics",
"mse:GetLocalityRule",
"mse:GetLosslessRuleByApp",
"mse:GetMockRuleByConsumerAppId",
"mse:GetMockRuleById",
"mse:GetMockRuleByProviderAppId",
"mse:GetNetworkInfo",
"mse:GetOpenSergoInfoByClusterId",
"mse:GetOutlierPolicyInfo",
"mse:GetOverview ",
"mse:GetResourcePackageStatus",
"mse:GetResourcePackageStatusWithVersion",
"mse:GetRetryRule",
"mse:GetRoutePolicy",
"mse:GetServiceConsumersPage",
"mse:GetServiceDetail",
"mse:GetServiceList",
"mse:GetServiceListPage",
"mse:GetServiceMethodPage",
"mse:GetServiceMethodPageWithMetrics",
"mse:GetServiceProvidersPage",
"mse:GetSpringCloudTestMethod",
"mse:GetTagKey",
"mse:GetTagVal",
"mse:GetTagsBySwimmingLaneGroupId",
"mse:GetTrace",
"mse:GetUserStatus",
"mse:InstallOnePilot",
"mse:InvokeDubboTestMethod",
"mse:InvokeIstioTestMethod",
"mse:InvokeSpringCloudTestMethod",
"mse:ListAdaptiveOverloadProtectionConfig",
"mse:ListAppBySwimmingLaneGroupTag",
"mse:ListAppBySwimmingLaneGroupTags",
"mse:ListAppResource",
"mse:ListAppResourceWithMetrics",
"mse:ListApplicationTagInstancese",
"mse:ListApplicationsWithTagRules",
"mse:ListAuthPolicy",
"mse:ListCircuitBreakerRules",
"mse:ListConnectedSwimmingLaneGroup",
"mse:ListCsKubernetesClusters",
"mse:ListDefaultCircuitBreakerRules",
"mse:ListEventOfReource",
"mse:ListEventRecords",
"mse:ListEventsByType",
"mse:ListEventsPage",
"mse:ListEventsPageByType",
"mse:ListFlowRules",
"mse:ListHotParamRules",
"mse:ListIpOrHosts",
"mse:ListIsolationRules",
"mse:ListKubernetesNamespace",
"mse:ListLogSpanServices",
"mse:ListMscEventRecords",
"mse:ListNamespaces",
"mse:ListProtectedAppResourceWithMetrics",
"mse:ListResourceWhiteListConfigs",
"mse:ListResources",
"mse:ListSentinelBlockFallbackDefinitions",
"mse:ListSpanNames",
"mse:ListSwimPathPercent",
"mse:ListSwimmingLaneGatewayRoute",
"mse:ListWebFlowRules",
"mse:ModifyAdaptiveOverloadProtectionConfig",
"mse:ModifyGovernanceKubernetesCluster",
"mse:ModifyLosslessRule",
"mse:ModifyNamespace",
"mse:OpenXTraceService",
"mse:QueryAhasUserStatus",
"mse:QueryAllSwimmingLane",
"mse:QueryAllSwimmingLaneGroup",
"mse:QueryAppDataSourceList",
"mse:QueryAppListMetrics",
"mse:QueryAppMethodMetrics",
"mse:QueryAppMethodMetricsWithSentinel",
"mse:QueryAppRPCMacMetrics",
"mse:QueryAppResourceMetrics",
"mse:QueryAppResourceMetricsByInstance",
"mse:QueryAppSummaryMetricsOverview",
"mse:QueryAppSummaryMetricsOverviewWithSentinel",
"mse:QueryAppSystemMetricsOfGroup",
"mse:QueryAppSystemMetricsOfGroupByInstance",
"mse:QueryAppTopNMacs",
"mse:QueryDatabaseRoute",
"mse:QueryEmptyPushSetting",
"mse:QueryEventOverview",
"mse:QueryGovernanceKubernetesCluster",
"mse:QueryMetricsAveragedByInstance",
"mse:QueryNamespace",
"mse:QueryNginxIngressGateway",
"mse:QueryResourceTopN",
"mse:QueryServiceDetailWithMetrics",
"mse:QuerySwimmingLaneById",
"mse:RemoveApplication",
"mse:RemoveApplications",
"mse:RemoveAuthPolicy",
"mse:RemoveOutlierPolicy",
"mse:RemoveRoutePolicy",
"mse:ReportAgentInfoForm",
"mse:ReportAgentStartupStatus",
"mse:ReportAppProfile",
"mse:ReportEventBatchForm",
"mse:ReportMetadataForm",
"mse:ReportOneAgentInfo",
"mse:ReportOnePilotInfo",
"mse:ReportSpanStatInfoForm",
"mse:RevertApplicationRoutePolicy",
"mse:SearchTraces",
"mse:TagResources",
"mse:UnbindSentinelBlockFallbackDefinition",
"mse:UpdateAppLogConfig",
"mse:UpdateAuthPolicy",
"mse:UpdateCircuitBreakerRule",
"mse:UpdateCircuitBreakerRulesStatus",
"mse:UpdateDatabaseRoute",
"mse:UpdateDefaultCircuitBreakerRule",
"mse:UpdateFlowRule",
"mse:UpdateFlowRulesStatus",
"mse:UpdateGovernanceServiceSubscribe",
"mse:UpdateHotParamRule",
"mse:UpdateHotParamRulesStatus",
"mse:UpdateInstanceRegisterStatus",
"mse:UpdateIsolationRule",
"mse:UpdateIsolationRulesStatus",
"mse:UpdateLocalityRule",
"mse:UpdateLogConfig",
"mse:UpdateMessageQueueRoute",
"mse:UpdateOpenSergoStatusByClusterId",
"mse:UpdateResourceWhiteListConfig",
"mse:UpdateSentinelBlockFallbackDefinition",
"mse:UpdateWebFlowRule",
"mse:UpdateWebFlowRulesStatus",
"mse:UpdateWhiteScreenRule",
"mse:listGrayTag"
],
"Resource": "acs:mse:*:*:*"
}
]
}