Microservices Engine (MSE) の Nacos コンフィギュレーションセンターでは、インスタンス、名前空間、グループ、またはデータ ID に基づいてアクセス権限を設定できます。 これにより、悪意のあるユーザーがインスタンスのコンフィギュレーションを取得または変更することを防ぎます。 このトピックでは、MSE の Nacos コンフィギュレーションセンターにきめ細かい認証を設定する方法について説明します。
前提条件
MSE がアクティブ化されていること。 MSE をアクティブ化していない場合は、MSE 製品ページにアクセスしてください。
Nacos エンジンが作成されていること。 詳細については、「Nacos エンジンの作成」をご参照ください。
認証が有効になっていること。 詳細については、「認証の有効化」をご参照ください。
RAM ユーザーまたは RAM ロールが作成されていること。 詳細については、「RAM ユーザーの作成」または「RAM ロールの作成」をご参照ください。
手順
このトピックでは、次の図に示すように、エンジンの直接接続に対するアクセス権限を付与および設定する方法について説明します。 権限が付与されると、RAM ユーザーとして Nacos クライアントを使用して MSE Nacos インスタンスにアクセスできます。

エンジン制御のアクセス認証を設定および使用するには、RAM ユーザーに MSE コンソールを使用するための権限を付与する必要があります。 詳細については、「Microservices Registry リソースに対する権限の付与」をご参照ください。
手順 1:きめ細かいポリシーを作成する
RAM 管理者として [RAM コンソール] にログオンします。
左側のナビゲーションペインで、 を選択します。
[ポリシー] ページで、[ポリシーの作成] をクリックします。

[ポリシーの作成] ページで、[JSON] タブをクリックします。

ポリシーを設定します。
次の表は、コンフィギュレーションセンターでのきめ細かい認証に関連するアクションについて説明しています。
アクション
説明
mse:QueryNacosConfig
MSE Nacos コンフィギュレーションセンターのコンフィギュレーションに対する読み取り権限。 これらの権限により、SDK を使用してコンフィギュレーションを取得および監視できます。
mse:UpdateNacosConfig
MSE Nacos コンフィギュレーションセンターのコンフィギュレーションに対する更新権限。 この権限により、SDK を使用してコンフィギュレーションをリリースおよび変更できます。
コンフィギュレーションセンターでのきめ細かい認証に関連するリソースは、次の形式で指定する必要があります。
acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/config/${dataId}例で提供されている説明に基づいて、ポリシードキュメントを変更することもできます。
RAM ポリシーの構文と構造の詳細については、「ポリシーの構造と構文」をご参照ください。
ページ上部の [高度な最適化 (オプション)] をクリックし、[実行] をクリックします。 高度な最適化中に、システムは次の操作を実行します。
高度なポリシー最適化機能を使用すると、次の操作を実行できます。
アクションと互換性のないリソースまたは条件を分割する。
リソースを絞り込む。
ポリシー ステートメントを重複排除またはマージする。
[ポリシーの作成] ページで、[OK] をクリックします。
[ポリシーの作成] ダイアログボックスで、ポリシーの [名前] と [説明] を指定し、[OK] をクリックします。
手順 2:RAM ユーザーまたは RAM ロールに権限を付与する
RAM ユーザーに権限を付与する
RAM 管理者として [RAM コンソール] にログオンします。
左側のナビゲーションペインで、 を選択します。
[ユーザー] ページで、必要な RAM ユーザーを見つけ、権限の追加[アクション] 列の をクリックします。

複数の RAM ユーザーを選択し、ページ下部の [権限の追加] をクリックして、一度に複数の RAM ユーザーに権限を付与することもできます。
[権限の付与] パネルの [ポリシー] セクションにあるドロップダウンリストから、[カスタムポリシー] を選択します。 フィールドに 手順 1 で作成したポリシーの名前を入力し、表示されたポリシーの名前をクリックして、[権限の付与] をクリックします。
[権限の付与] パネルで、承認が成功したことを確認し、[閉じる] をクリックします。
RAM ロールに権限を付与する
RAM 管理者として [RAM コンソール] にログオンします。
左側のナビゲーションペインで、 を選択します。
[ロール] ページで、管理する RAM ロールを見つけ、権限の付与[アクション] 列の をクリックします。

複数の RAM ロールを選択し、RAM ロールリストの下部にある [権限の付与] をクリックして、一度に複数の RAM ロールに権限を付与することもできます。
[権限の付与] パネルの [ポリシー] セクションにあるドロップダウンリストから [カスタムポリシー] を選択します。 フィールドに 手順 1 で作成したポリシーの名前を入力し、表示されたポリシーの名前をクリックして、[権限の付与] をクリックします。
[権限の付与] パネルで、承認が成功したことを確認し、[閉じる] をクリックします。
例
特定のインスタンスのコンフィギュレーションに対する読み取り専用権限をユーザーに付与します。
{ "Version": "1", "Statement": [ { "Action": [ "mse:QueryNacosConfig" // コンフィギュレーションの読み取り ], "Resource": [ "acs:mse:*:*:instance/${instanceId1}", "acs:mse:*:*:instance/${instanceId2}" ], "Effect": "Allow" } ] }特定のインスタンスのコンフィギュレーションを読み取りおよび変更する権限をユーザーに付与します。
{ "Version": "1", "Statement": [ { "Action": [ "mse:QueryNacosConfig", // コンフィギュレーションの読み取り "mse:UpdateNacosConfig" // コンフィギュレーションの更新 ], "Resource": [ "acs:mse:*:*:instance/${instanceId1}", "acs:mse:*:*:instance/${instanceId2}" ], "Effect": "Allow" } ] }説明${instanceId1} と ${instanceId2} はインスタンス ID を示します。
インスタンスの特定の名前空間にあるコンフィギュレーションに対する読み取り専用権限をユーザーに付与します。
{ "Statement": [ { "Effect": "Allow", "Action": "mse:QueryNacosConfig", // コンフィギュレーションの読み取り "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}" } ], "Version": "1" }インスタンスの特定の名前空間にある ${group} グループのコンフィギュレーションを読み取りおよび変更する権限をユーザーに付与します。
{ "Statement": [ { "Effect": "Allow", "Action": [ "mse:QueryNacosConfig", // コンフィギュレーションの読み取り "mse:UpdateNacosConfig" // コンフィギュレーションの更新 ], "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}" } ], "Version": "1" }${group} グループの ${dataId} コンフィギュレーションに対する読み取り専用権限をユーザーに付与します。
{ "Statement": [ { "Effect": "Allow", "Action": "mse:QueryNacosConfig", // コンフィギュレーションの読み取り "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/config/${dataId}" } ], "Version": "1" }${group} グループの ${serviceName} サービスを読み取りおよび変更する権限をユーザーに付与します。
{ "Statement": [ { "Effect": "Allow", "Action": [ "mse:QueryNacosConfig", // コンフィギュレーションの読み取り "mse:UpdateNacosConfig" // コンフィギュレーションの更新 ], "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/config/${dataId}" } ], "Version": "1" }
関連情報
コンフィギュレーションセンターのインスタンスレベル認証の詳細については、「Nacos クライアントによるアクセス認証」をご参照ください。