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 にアクセスできます。

前の図に示されている エンジン直接アクセスリンク を使用して、RAM ユーザーとして Nacos クライアントを使用して MSE Nacos インスタンスにアクセスすることもできます。このリンクのアクセス認証と使用方法の詳細については、「Nacos クライアントによるアクセス認証」をご参照ください。
ステップ 1:RAM ユーザーを作成する
Resource Access Management (RAM) コンソールにログオンし、Alibaba Cloud アカウントを使用して RAM ユーザーを作成します。
管理権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーを使用して、RAM コンソールにログオンします。
左側のナビゲーションペインで、 を選択します。
[ユーザー] ページで、[ユーザーの作成] をクリックします。

ユーザーアカウント情報[ユーザーの作成] ページの セクションで、次のパラメーターを構成します。
[ログオン名]:ログオン名は最大 64 文字で、文字、数字、ピリオド(.)、ハイフン(-)、アンダースコア(_) を使用できます。
[表示名]:表示名は最大 128 文字です。
[タグ]:
アイコンをクリックし、タグキーとタグ値を入力します。RAM ユーザーに 1 つ以上のタグを追加できます。このようにして、タグに基づいて RAM ユーザーを管理できます。
説明[ユーザーの追加] をクリックして、複数の RAM ユーザーを一度に作成できます。
[アクセスモード] セクションで、[コンソールアクセス] または [永続 Accesskey を使用してアクセス] を選択します。
[コンソールアクセス]:コンソールアクセスを選択した場合は、ログオンセキュリティの基本設定を構成する必要があります。これらの設定では、システム生成のログオンパスワードを使用するか、カスタムログオンパスワードを使用するか、次回のログオン時にパスワードをリセットするか、多要素認証 (MFA) を有効にするかを指定します。
説明[コンソールパスワード] セクションで [カスタムログオンパスワード] を選択した場合は、パスワードを指定する必要があります。 ページで指定した複雑さの要件をパスワードが満たしている必要があります。パスワードの複雑さの要件の詳細については、「RAM ユーザーのパスワードポリシーを構成する」をご参照ください。
[永続 Accesskey を使用してアクセス]:[永続 Accesskey を使用してアクセス] を選択すると、作成する RAM ユーザーの AccessKey ペアが自動的に作成されます。RAM ユーザーは、API 操作を呼び出したり、他の開発ツールを使用して Alibaba Cloud リソースにアクセスしたりできます。
説明リソースのセキュリティを確保するために、RAM ユーザーにはコンソールアクセスを選択することをお勧めします。こうすることで、RAM ユーザーが組織を離れた後、AccessKey ペアを使用して Alibaba Cloud リソースにアクセスできなくなります。
[OK] をクリックします。
ステップ 2:RAM ユーザーに権限を付与する
RAM ユーザーを使用する前に、必要な権限を RAM ユーザーに付与します。
RAM 管理者として RAM コンソール にログオンします。
左側のナビゲーションペインで、 を選択します。
[ユーザー] ページで、必要な RAM ユーザーを見つけ、権限の追加[アクション] 列の をクリックします。

複数の RAM ユーザーを選択し、ページの下部にある [権限の追加] をクリックして、一度に RAM ユーザーに権限を付与することもできます。
[権限の付与] パネルの [ポリシー] セクションで、ポリシーを選択します。[ポリシー] セクションの検索ボックスに追加するポリシーを入力し、表示されたポリシーをクリックして、[権限の付与] をクリックします。
粗粒度認可のシステムポリシー
MSE は、粗粒度認可のための 2 つのシステムポリシーをサポートしています。次の表に、ポリシーを示します。
ポリシー
説明
AliyunMSEFullAccess
MSE を管理するための権限。このポリシーがアタッチされている RAM ユーザーを使用して、Alibaba Cloud アカウントを使用して MSE を管理するのと同じ方法で、MSE コンソールのすべての機能を管理できます。
AliyunMSEReadOnlyAccess
MSE の読み取り専用権限。このポリシーがアタッチされている RAM ユーザーは、Alibaba Cloud アカウントのすべてのリソースを読み取ることができます。
説明O&M 担当者には AliyunMSEFullAccess ポリシーをアタッチすることをお勧めします。こうすることで、O&M 担当者はリソースを作成および削除できます。開発者には AliyunMSEReadOnlyAccess ポリシーをアタッチすることをお勧めします。こうすることで、開発者はリソースを表示できますが、リソースを削除または作成することはできません。開発者の権限をきめ細かく管理する場合は、次のいずれかのカスタムポリシーを使用できます。
きめ細かい認可のカスタムポリシー
説明きめ細かい認可を実行する場合は、アクセスコントロールのカスタムポリシーを作成できます。
Nacos レジストリにおけるきめ細かい認可と構成の詳細については、「レジストリにおけるきめ細かい認証」をご参照ください。Nacos 構成センターにおけるきめ細かい認可と構成の詳細については、「構成センターにおけるきめ細かい認証」をご参照ください。
次の表に、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の構成に対する読み取りおよび書き込み権限を付与します。この例は、複雑な認可シナリオを示しています。きめ細かい認可を実現するには、次のレベルの権限が必要です。
インスタンスをクエリする権限。この権限により、RAM ユーザーはインスタンス情報を表示できます。
インスタンス内のすべてのリソースに対する読み取り権限。この権限により、RAM ユーザーはインスタンスにアクセスし、インスタンスのすべてのリソースを表示できます。
名前空間内の構成を作成および変更する権限。
{ "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 で指定された構成に対する読み取りおよび書き込み権限を付与します。この例は、複雑な認可シナリオを示しています。きめ細かい認可を実現するには、次のレベルの権限が必要です。
インスタンスをクエリする権限。この権限により、RAM ユーザーはインスタンス情報を表示できます。
インスタンス内のすべてのリソースに対する読み取り権限。この権限により、RAM ユーザーはインスタンスにアクセスし、インスタンスのすべてのリソースを表示できます。
名前空間内の構成を作成および変更する権限。
グループ内の構成を作成および変更する権限。
リソースソース:
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内の指定されたサービスの構成に対する読み取りおよび書き込み権限を付与します。この例は、複雑な認可シナリオを示しています。きめ細かい認可を実現するには、次のレベルの権限が必要です。
インスタンスをクエリする権限。この権限により、RAM ユーザーはインスタンス情報を表示できます。
インスタンス内のすべてのリソースに対する読み取り権限。この権限により、RAM ユーザーはインスタンスにアクセスし、インスタンスのすべてのリソースを表示できます。
名前空間内の構成を作成および変更する権限。
グループ内の構成を作成および変更する権限。
リソースソース:
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" } ] }
[権限の付与] パネルで、認可が成功したことを確認し、[閉じる] をクリックします。
次のステップ
Alibaba Cloud アカウントを使用して RAM ユーザーを作成した後、RAM ユーザーのログオン名とパスワード、または AccessKey ペアを他の従業員と共有できます。従業員は、次の手順を実行して RAM コンソールにログオンするか、RAM ユーザーを使用して API 操作を呼び出すことができます。
MSE コンソールにログオンする
RAM ユーザーログオン ページに移動します。
[RAM ユーザーログオン] ページで、RAM ユーザーの名前を入力し、[次へ] をクリックします。次に、パスワードを入力し、[ログオン] をクリックします。
説明RAM ユーザーのログオン名は、
<$username>@<$AccountAlias>または<$username>@<$AccountAlias>.onaliyun.com形式です。<$AccountAlias> は、RAM ユーザーのエイリアスを指定します。エイリアスを指定しない場合は、デフォルトで Alibaba Cloud アカウントの ID が使用されます。RAM ユーザーセンターページで、RAM ユーザーがコンソールにアクセスする権限を持っているサービスをクリックします。
API 操作を呼び出す。
RAM ユーザーの AccessKey ペアを使用して、API 操作を呼び出します。コードに RAM ユーザーの AccessKey ID と AccessKey シークレットを指定します。