リソースコラボレーションシナリオでは、さまざまな責任を持つ複数の Resource Access Management (RAM) ユーザーを作成し、それぞれに異なる権限を付与できます。これにより、RAM ユーザーは分散型の方法でリソースを管理できるようになり、管理効率が向上し、情報漏洩のリスクが軽減されます。このトピックでは、RAM ユーザーを作成し、ポリシーをアタッチして Managed Service for Prometheus インスタンスへのアクセスを制限する方法について説明します。
前提条件
Application Real-Time Monitoring Service (ARMS) がアクティブ化されていること。詳細については、「ARMS のアクティブ化」をご参照ください。
カスタムポリシーを作成する前に、ポリシー要素、構造、および構文の基本的な知識を持っていること。詳細については、「ポリシー要素」をご参照ください。
ステップ 1:AliyunARMSPrometheusAccessAuth システムポリシーを RAM ユーザーにアタッチする
AliyunARMSPrometheusAccessAuth システムポリシーは、RAM ユーザーに Managed Service for Prometheus コンソールにログオンする権限を付与します。
管理者権限を持つ RAM ユーザーとして RAM コンソール にログオンします。
左側のナビゲーションペインで、 を選択します。
[ユーザー] ページで、RAM ユーザーを見つけ、[アクション] 列の [権限の追加] をクリックします。
[権限の付与] パネルで、次の表に示すパラメーターを設定します。
パラメーター
説明
リソーススコープ
このパラメーターを [アカウント] に設定します。
プリンシパル
RAM ユーザー。
ポリシー
[aliyunarmsprometheusaccessauth] を選択します。
[権限の付与] をクリックし、[閉じる] をクリックします。
(オプション) ステップ 2:カスタムポリシーを作成する
管理者権限を持つ RAM ユーザーとして RAM コンソール にログオンします。
左側のナビゲーションペインで、[権限] > [ポリシー] を選択します。
[ポリシー] ページで、[ポリシーの作成] をクリックします。
[ポリシーの作成] ページで、[JSON] タブをクリックし、エディターにポリシーコンテンツを入力します。次の例は、中国 (杭州) リージョンにある Prometheus インスタンスへのアクセス権限を付与する方法を示しています。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "arms:List*", "arms:Get*", "arms:Update*", "arms:Exe*", "arms:Create*", "arms:Del*", "arms:Add*", "arms:Check*", "arms:Delete*", "arms:Restart*", "arms:HealthCheck*", "arms:BindPrometheus*", "arms:install*" ], "Resource": "acs:arms:cn-hangzhou:*:prometheus/*" // 中国 (杭州) リージョンの Prometheus インスタンスへのアクセス権限を付与します。 } ] }
[OK] をクリックします。表示されるダイアログボックスで、[名前] と [説明] を設定します。
[OK] をクリックします。
ステップ 3:カスタムポリシーを RAM ユーザーにアタッチする
手順 4:権限を確認する
上記のポリシーを RAM ユーザーにアタッチした後、RAM ユーザーとして ARMS コンソール にログオンします。詳細については、「RAM ユーザーのコンソールログオン設定の管理」をご参照ください。
左側のナビゲーションペインで、[managed Service For Prometheus] > [インスタンス] を選択します。
[インスタンス] ページで、
アイコンをクリックして、リソースグループのリソースリストを表示します。
説明リソースグループに必要な権限がない場合は、表示されるエラーメッセージを無視してください。
関連手順
リソースグループ内の Prometheus リソースにきめ細かく権限を付与するには、上記の手順を実行することをお勧めします。
タグを使用して権限を付与する場合は、ステップ 2 で作成したカスタムポリシーに条件を追加することで変更できます。次のポリシーは、特定のタグが付いた Prometheus インスタンスに対する権限が利用可能であることを示しています。
tagkey
とtagvalue
の値は、ビジネス要件に基づいて置き換えてください。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "arms:List*", "arms:Get*", "arms:Update*", "arms:Exe*", "arms:Create*", "arms:Del*", "arms:Add*", "arms:Check*", "arms:Delete*", "arms:Restart*", "arms:HealthCheck*", "arms:BindPrometheus*", "arms:install*" ], "Resource": "acs:arms:*:*:prometheus/*", // 特定のタグが付いた Prometheus インスタンスに対する権限 "Condition": { // タグによる条件を追加 "StringEquals": { "acs:RequestTag/tagkey": [ // tagkey をビジネス要件に基づいて置き換えます。 "tagvalue" // tagvalue をビジネス要件に基づいて置き換えます。 ] } } } ] }
タグを使用して権限を付与した後、次の手順を実行します。
Prometheus インスタンスリストに移動します。リストを初めて表示すると、タグが選択されていないため、権限が不十分であるというメッセージが表示されます。
1 つ以上のタグを選択すると、[インスタンスリスト] を表示できます。
カスタムポリシーで定義されているタグを選択します。