Microservices Engine (MSE) では、Alibaba Cloud アカウントを使用して、RAM ユーザーに MSE クラウドネイティブ ゲートウェイのリソースに対する操作権限を付与できます。 これにより、Alibaba Cloud アカウントの AccessKey ペアが漏洩した場合に発生するセキュリティリスクを防ぐことができます。 このトピックでは、RAM ユーザーを作成する方法と、RAM ユーザーに MSE クラウドネイティブ ゲートウェイのリソースに対する操作権限を付与する方法について説明します。
シナリオ
企業は、MSE コンソールでクラウドネイティブ ゲートウェイを作成します。 企業は、役割に基づいて従業員にリソースに対する異なる権限を付与する必要があります。 企業には次の要件があります。
データセキュリティを確保するために、企業の Alibaba Cloud アカウントの AccessKey ペアは機密にしておく必要があります。 企業は各ユーザーのアカウントに権限を付与したいと考えています。
権限が付与された RAM ユーザーのみがリソースを管理できます。 リソースの使用量とコストは、RAM ユーザーごとに個別に計算されません。 請求書は、企業の Alibaba Cloud アカウントで生成されます。
Alibaba Cloud アカウントの所有者は、ユーザーに付与された権限を取り消し、ユーザーのために作成されたアカウントを削除できます。
MSE のクラウドネイティブ ゲートウェイは、開発者と O&M の 2 つの役割を提供するフルマネージドサービスです。 開発者は構成とサービス管理を担当します。 O&M 担当者は、クラスターと権限の管理を担当します。
使用上の注意
Resource Access Management (RAM) コンソールを使用するか、API オペレーションを呼び出すことで、RAM ユーザーに権限を付与できます。
ステップ 1:RAM ユーザーを作成する
RAM コンソールにログオンし、Alibaba Cloud アカウントを使用して RAM ユーザーを作成します。
管理権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーを使用して、RAM コンソール にログオンします。
左側のナビゲーションペインで、 を選択します。
[ユーザー] ページで、[ユーザーの作成] をクリックします。

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

複数の RAM ユーザーを選択し、ページの下部にある [権限の追加] をクリックして、一度に RAM ユーザーに権限を付与することもできます。
[権限の付与] パネルで、RAM ユーザーに権限を付与し、[権限の付与] をクリックします。
[ポリシー] セクションで、ポリシータイプを選択し、フィールドにキーワードを入力して、追加するポリシーを検索します。 次に、1 つ以上のポリシーをクリックして、[選択済みポリシー] リストにポリシーを追加します。
ポリシーは、システムポリシーとカスタムポリシーに分類されます。
粗粒度承認のシステムポリシー
MSE は、粗粒度承認のための 2 つのシステムポリシーをサポートしています。
ポリシー
説明
AliyunMSEFullAccess
MSE を管理するための権限。 このポリシーがアタッチされている RAM ユーザーを使用して、Alibaba Cloud アカウントを使用して MSE を管理するのと同じ方法で、MSE コンソールのすべての機能を管理できます。
AliyunMSEReadOnlyAccess
MSE の読み取り専用権限。 このポリシーがアタッチされている RAM ユーザーは、Alibaba Cloud アカウントのすべてのリソースを読み取ることができます。
説明O&M 担当者には AliyunMSEFullAccess ポリシーをアタッチすることをお勧めします。 この方法で、O&M 担当者はリソースを作成および削除できます。 開発者には AliyunMSEReadOnlyAccess ポリシーをアタッチすることをお勧めします。 この方法で、開発者はリソースを表示できますが、リソースを削除または作成することはできません。 開発者の権限をきめ細かく管理する場合は、カスタムポリシーを使用できます。
カスタムポリシー (きめ細かい承認)
きめ細かい承認を実行する場合は、アクセス制御のカスタムポリシーを作成できます。 カスタムポリシーの作成方法の詳細については、「カスタムポリシーを作成する」をご参照ください。
例 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" // Wasm ファイルのアップロード ], "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" // プラグイン Lua のチェック ], "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:*" // すべての 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", // プラグイン Lua のチェック "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" } ] }
[権限の付与] パネルで、承認が成功したことを確認し、[閉じる] をクリックします。
次のステップ
Alibaba Cloud アカウントを使用して RAM ユーザーを作成した後、RAM ユーザーのログオン名とパスワード、または AccessKey ペアを他の従業員と共有できます。 ユーザーは、次の手順を実行して、サービスコンソールにログオンするか、RAM ユーザーとして API オペレーションを呼び出すことができます。
Alibaba Cloud 管理コンソールにログオンします。
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 シークレットを使用します。
MSE クラウドネイティブ ゲートウェイでサポートされている API オペレーションとカスタムポリシーのマッピング
次の表は、RAM ユーザーのカスタムポリシーの設定に役立つ MSE クラウドネイティブ ゲートウェイでサポートされている API 操作について説明しています。
クラウドネイティブゲートウェイを管理するための API 操作
アクション | 説明 | 読み取り専用 |
AddGateway | 従量課金制のクラウドネイティブゲートウェイを作成します。 | いいえ |
ListGateway | ゲートウェイクラスターを照会します。 | はい |
GetGatewayDetail | クラウドネイティブゲートウェイの詳細を照会します。 | はい |
GetGateway | クラウドネイティブゲートウェイに関する情報を照会します。 | はい |
ListGatewaySlb | クラウドネイティブゲートウェイのサーバーロードバランサー (SLB) インスタンスを照会します。 | はい |
SelectGatewaySlb | 既存の SLB インスタンスを照会します。 | いいえ |
AddGatewaySlb | SLB インスタンスをクラウドネイティブゲートウェイに関連付けます。 | いいえ |
DeleteGatewaySlb | クラウドネイティブゲートウェイから SLB インスタンスの関連付けを解除します。 | いいえ |
DeleteGateway | 従量課金制のクラウドネイティブゲートウェイを削除します。 | いいえ |
サービスソースを管理するための API 操作
アクション | 説明 | 読み取り専用 |
ListServiceSource | サービスソースをクエリします。 | はい |
GetKubernetesSource | 既存の Container Service for Kubernetes (ACK) クラスタをクエリします。 | はい |
GetMseSource | 既存の MSE レジストリをクエリします。 | はい |
AddServiceSource | サービスソースを追加します。 | いいえ |
DeleteServiceSource | サービスソースを削除します。 | いいえ |
PullServices | 既存のサービスをクエリします。 | はい |
ImportServices | サービスを作成またはインポートします。 | いいえ |
ListGatewayService | サブスクライブしているサービスをクエリします。 | はい |
GetGatewayServiceDetail | サービスの詳細をクエリします。 | はい |
AddGatewayServiceVersion | サービスバージョンを追加します。 | いいえ |
UpdateGatewayServiceVersion | サービスバージョンを更新します。 | いいえ |
DeleteGatewayServiceVersion | サービスバージョンを削除します。 | いいえ |
UpdateGatewayServiceTrafficPolicy | サービスのロードバランシングポリシーを変更します。 | いいえ |
ルートを管理するための API 操作
アクション | 説明 | 読み取り専用 |
ListGatewayRoute | クラウドネイティブゲートウェイのルートを照会します。 | はい |
AddGatewayRoute | クラウドネイティブゲートウェイのルートを作成します。 | いいえ |
ApplyGatewayRoute | クラウドネイティブゲートウェイのルートを公開します。 | いいえ |
OfflineGatewayRoute | クラウドネイティブゲートウェイのルートを無効にします。 | いいえ |
DeleteGatewayRoute | クラウドネイティブゲートウェイからルートを削除します。 | いいえ |
GetGatewayRouteDetail | クラウドネイティブゲートウェイのルートの詳細を照会します。 | はい |
GetRateLimit | ルートの調整ルールを照会します。 | はい |
AddRateLimit | ルートに調整ルールを追加します。 | いいえ |
UpdateRateLimit | ルートから調整ルールを削除します。 | いいえ |
UpdateGatewayRouteHTTPRewrite | ルートの書き換えポリシーを更新します。 | いいえ |
UpdateGatewayRouteHeaderOp | ルートのヘッダー設定を更新します。 | いいえ |
UpdateGatewayRouteCORS | ルートのクロスオリジンリソース共有 ( CORS ) ポリシーを更新します。 | いいえ |
UpdateGatewayRouteTimeout | ルートのタイムアウトポリシーを更新します。 | いいえ |
UpdateGatewayRouteRetry | ルートの再試行ポリシーを更新します。 | いいえ |
証明書とドメイン名を管理するための API 操作
アクション | 説明 | 読み取り専用 |
ListGatewayDomain | 関連付けられているドメイン名を照会します。 | はい |
AddGatewayDomain | ドメイン名を関連付けます。 | いいえ |
GetGatewayDomainDetail | 関連付けられているドメイン名の詳細を照会します。 | はい |
UpdateGatewayDomain | 関連付けられているドメイン名に関する情報を更新します。 | いいえ |
DeleteGatewayDomain | ドメイン名の関連付けを解除します。 | いいえ |
ListSSLCert | 既存の証明書を照会します。 | はい |
AddSSLCert | 証明書をドメイン名に関連付けます。 | いいえ |
UpdateSSLCert | ドメイン名の証明書を更新します。 | はい |
その他の API 操作
アクション | 説明 | 読み取り専用 |
GetBlackWhiteList | ブラックリストとホワイトリストの IP アドレスを照会します。 | はい |
AddBlackWhiteList | ブラックリストまたはホワイトリストに IP アドレスを追加します。 | いいえ |
UpdateBlackWhiteList | ブラックリストとホワイトリストを更新します。 | いいえ |
AddGatewayAuth | 認証方式を追加します。 | いいえ |
ListGatewayAuth | 認証方式を照会します。 | はい |
UpdateGatewayAuth | 認証方式を更新します。 | いいえ |
DeleteGatewayAuth | 認証方式を削除します。 | いいえ |
AddAuthResource | 認証 URL を追加します。 | いいえ |
DeleteAuthResource | 認証 URL を削除します。 | いいえ |