ARMS のシステムポリシーは、個々のユーザーが必要とする以上の広範な権限を付与する場合があります。アプリケーションモニタリングに対して最小権限アクセスを適用するには、特定のアプリケーション、リージョン、またはタグを対象とするカスタムの Resource Access Management (RAM) ポリシーを作成し、それを RAM ユーザーまたはロールにアタッチします。
カスタムポリシーの利用シーン
ARMS は、2 つのレベルのアクセス制御を提供します。
| アプローチ | 利用シーン |
|---|---|
システムポリシー (例:AliyunARMSReadOnlyAccess、AliyunARMSFullAccess) | すべての ARMS リソースに対する読み取り専用またはフルアクセス権限を付与します。ユーザーがすべてのアプリケーションに対して均一なアクセスを必要とする場合に適しています。 |
| カスタムポリシー | 特定のアプリケーション、リージョン、またはタグベースのリソースセットに対する権限を付与します。異なるユーザーが異なるアプリケーションに対して異なるレベルのアクセスを必要とする場合に必須です。 |
システムポリシーが要件を満たす場合は、直接アタッチしてください。単一のアプリケーションに読み取り専用アクセスを付与するなど、きめ細かな制御が必要な場合は、カスタムポリシーを作成します。
カスタムポリシーの基本
カスタムポリシーは、オプションの条件とともに、どのリソースに対してどのアクションが許可または拒否されるかを定義する JSON ドキュメントです。カスタムポリシーを作成した後、それを RAM ユーザー、ユーザーグループ、またはロールにアタッチして、指定された権限を付与します。
主な動作:
カスタムポリシーは、プリンシパル (ユーザー、ユーザーグループ、またはロール) にアタッチされるまで効果がありません。
カスタムポリシーを削除するには、まずすべてのプリンシパルからデタッチする必要があります。
カスタムポリシーは、RAM のバージョン管理メカニズムを通じてバージョン管理をサポートします。
前提条件
開始する前に、以下を確認してください。
ポリシーの要素、構造、構文に関する基本的な理解
ユーザーが ARMS コンソールにアクセスできるように、
AliyunARMSReadOnlyAccessまたはReadOnlyAccessシステムポリシーが RAM ユーザーにアタッチされていることAliyunARMSFullAccessシステムポリシーが RAM ユーザーにアタッチされていないこと
2022年4月1日 00:00 以降に有効化された Alibaba Cloud アカウントは、デフォルトで ARMS の RAM ユーザーにカスタムポリシーをアタッチできます。この日付より前に有効化されたアカウントの場合、この機能を有効にするには、チケットを送信してください。
特定のリソースグループに対してすべての ARMS 機能の読み取り専用権限を付与するには、AliyunARMSReadOnlyAccess ポリシーをアタッチし、リソースグループに ReadTraceApp 権限を付与します。両方がないと、ARMS はそのリソースグループのアプリケーションリストを表示できません。
ステップ 1:カスタムポリシーの作成
管理権限を持つ RAM ユーザーとして RAM コンソールにログインします。
左側のナビゲーションウィンドウで、[権限] > [ポリシー] を選択します。
[ポリシー] ページで、[ポリシーの作成] をクリックします。

[ポリシーの作成] ページで、[JSON] タブをクリックします。エディターにポリシーを入力します。
各要素の詳細については、「ポリシー要素のリファレンス」をご参照ください。
次の例では、中国 (杭州) リージョンにある
key0: value01またはkey0: value02のタグが付いたアプリケーションに読み取り専用アクセスを付与します。{ "Version": "1", "Statement": [ { "Action": [ "arms:ReadTraceApp" ], "Resource": "acs:arms:cn-hangzhou:*:armsapp/*", "Effect": "Allow", "Condition": { "StringEquals": { "arms:tag/key0": [ "value01", "value02" ] } } } ] }[オプションの高度な最適化] をクリックし、次に [実行] をクリックして RAM にポリシーを最適化させます。このステップでは、互換性のないリソースや条件を分割し、リソースの範囲を絞り込み、ステートメントの重複排除やマージを行います。
[OK] をクリックします。
[ポリシーの作成] ダイアログボックスで、[名前] と [説明] を入力し、[OK] をクリックします。
ステップ 2:カスタムポリシーのアタッチ
組織でのアクセス管理方法に応じて、カスタムポリシーを RAM ユーザーまたは RAM ロールにアタッチします。
RAM ユーザーへのアタッチ
RAM 管理者として RAM コンソールにログインします。
左側のナビゲーションウィンドウで、[アイデンティティ] > [ユーザー] を選択します。
[ユーザー] ページで、対象の RAM ユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。
一度に複数のユーザーに権限を付与するには、ユーザーを選択し、ページ下部の [権限の追加] をクリックします。

[権限の付与] パネルで、次のパラメーターを設定します。
[リソース範囲]:この権限付与の範囲を選択します。
[アカウント]:権限は現在の Alibaba Cloud アカウント内のすべてのリソースに適用されます。
[リソースグループ]:権限は特定のリソースグループ内のリソースにのみ適用されます。
重要「リソースグループ」を選択した場合は、必要なクラウドサービスがリソースグループをサポートしていることを確認してください。詳細については、「リソースグループと連携するサービス」をご参照ください。リソースグループに対する権限の付与方法について詳しくは、「リソースグループを使用して RAM ユーザーに特定の ECS インスタンスを管理する権限を付与する」をご参照ください。
[プリンシパル]:権限を受け取る RAM ユーザー。デフォルトで現在のユーザーが選択されます。
[ポリシー]:作成したカスタムポリシーを選択します。一度に複数のポリシーを選択できます。
説明システムは
AdministratorAccessやAliyunRAMFullAccessなどのリスクの高いシステムポリシーにフラグを立てます。特に必要な場合を除き、これらのアタッチは避けてください。[権限を付与] をクリックします。
[閉じる] をクリックします。
RAM ロールへのアタッチ
RAM 管理者として RAM コンソールにログインします。
左側のナビゲーションウィンドウで、[アイデンティティ] > [ロール] を選択します。
[ロール] ページで、対象の RAM ロールを見つけ、[操作] 列の [権限の付与] をクリックします。
一度に複数のロールに権限を付与するには、ロールを選択し、リスト下部の [権限の付与] をクリックします。

[権限の付与] パネルで、次のパラメーターを設定します。
[リソース範囲]:この権限付与の範囲を選択します。
[アカウント]:権限は現在の Alibaba Cloud アカウント内のすべてのリソースに適用されます。
[リソースグループ]:権限は特定のリソースグループ内のリソースにのみ適用されます。
説明「[リソースグループ]」を選択した場合は、必要なクラウドサービスがリソースグループをサポートしていることを確認してください。詳細については、「リソースグループと連携するサービス」をご参照ください。
[プリンシパル]:権限を受け取る RAM ロール。デフォルトで現在のロールが選択されます。
[ポリシー]:作成したカスタムポリシーを選択します。一度に複数のポリシーを選択できます。
説明システムは
AdministratorAccessやAliyunRAMFullAccessなどのリスクの高いシステムポリシーにフラグを立てます。特に必要な場合を除き、これらのアタッチは避けてください。[権限を付与] をクリックします。
[閉じる] をクリックします。
ポリシーをアタッチした後、RAM ロールは付与された権限で ARMS にアクセスできます。詳細については、「RAM ロールの権限を借用する」をご参照ください。
ポリシー要素のリファレンス
Effect
ステートメントの結果が明示的な許可か明示的な拒否かを指定します。有効な値:Allow、Deny。
Action
次の表に、カスタムポリシーで使用できる ARMS アプリケーションモニタリングのアクションを示します。
| アクション | 説明 |
|---|---|
arms:ReadTraceApp | 指定されたアプリケーションへの読み取り専用アクセス (アプリケーション概要、インターフェイス呼び出し、アプリケーション診断を含む) |
arms:EditTraceApp | 指定されたアプリケーションへの編集アクセス (カスタム構成やカスタムパラメーターを含む) |
arms:DeleteTraceApp | 指定されたアプリケーションを削除する権限 |
Resource
Alibaba Cloud リソース名 (ARN) を使用して対象リソースを指定します。
acs:arms:<region-id>:*:armsapp/<app-name>プレースホルダーを実際の値に置き換えます。
| プレースホルダー | 説明 | 例 |
|---|---|---|
<region-id> | リージョン ID。すべてのリージョンを指定する場合は * を使用します。 | cn-hangzhou |
<app-name> | アプリケーション名。すべてのアプリケーションを指定する場合は * を、プレフィックスマッチングにはワイルドカード付きのプレフィックスを使用します。 | k8s* |
Condition
条件は、タグのキーと値のペアによってリソースをフィルターします。条件ブロックには 1 つ以上の条件が含まれ、各条件は演算子、キー、および 1 つ以上の値で構成されます。

評価ルール:
条件キーに複数の値が指定されている場合、リクエストがいずれかの値に一致すると条件が満たされます。
単一の演算子に複数のキーがアタッチされている場合、すべてのキー要件が満たされた場合にのみ条件が満たされます。
条件ブロックに複数の条件が存在する場合、すべての条件が満たされる必要があります。
サポートされている演算子:
| オペレーター | 説明 |
|---|---|
StringEquals | 文字列が完全に一致 |
StringNotEquals | 文字列が一致しない |
StringEqualsIgnoreCase | 大文字と小文字を区別しない完全一致 |
StringNotEqualsIgnoreCase | 大文字と小文字を区別しない不一致 |
StringLike | ワイルドカードを使用した文字列一致 |
StringNotLike | ワイルドカードを使用した文字列不一致 |
条件キー: arms:tag
次の例は、key0: value01 または key0: value02 のタグが付いたアプリケーションに一致します。
"Condition": {
"StringEquals": {
"arms:tag/key0": [
"value01",
"value02"
]
}
}アプリケーションのタグ付けの詳細については、「タグの管理」をご参照ください。