Application Real-Time Monitoring Service (ARMS) のシステムポリシーがビジネス要件を満たしていない場合は、最小権限の原則を実装するためにカスタムポリシーを作成できます。カスタムポリシーを使用すると、権限をきめ細かく管理し、リソースアクセスセキュリティを向上させることができます。このトピックでは、RAM ユーザーにカスタムポリシーをアタッチする方法について説明します。
カスタムポリシーとは
Resource Access Management (RAM) ポリシーは、システムポリシーとカスタムポリシーに分類されます。ビジネス要件に基づいてカスタムポリシーを管理できます。
カスタムポリシーを作成した後、そのポリシーを RAM ユーザー、RAM ユーザーグループ、または RAM ロールにアタッチする必要があります。これにより、ポリシーで指定された権限がプリンシパルに付与されます。
プリンシパルにアタッチされていない RAM ポリシーは削除できます。RAM ポリシーがプリンシパルにアタッチされている場合は、RAM ポリシーを削除する前に、プリンシパルから RAM ポリシーをデタッチする必要があります。
カスタムポリシーはバージョン管理をサポートしています。RAM が提供するバージョン管理メカニズムに基づいて、カスタムポリシーのバージョンを管理できます。
参考資料
前提条件
デフォルトでは、2022年4月1日午前0時以降に ARMS をアクティブ化した Alibaba Cloud アカウントは、RAM ユーザーにカスタムポリシーをアタッチできます。その他の Alibaba Cloud アカウントは、チケットを送信する必要があります。
カスタムポリシーを作成する前に、ポリシー要素、構造、および構文の基本的な知識が必要です。詳細については、ポリシー要素をご参照ください。
ReadOnlyAccess または AliyunARMSReadOnlyAccess システムポリシーが RAM ユーザーにアタッチされています。これにより、RAM ユーザーは ARMS コンソールにログオンできます。
重要特定のリソースグループのすべての ARMS 機能に対する読み取り専用権限を付与するには、AliyunARMSReadOnlyAccess ポリシーをアタッチし、ReadTraceApp 権限をリソースグループに付与する必要があります。そうでないと、ARMS は認証済みリソースグループに属するアプリケーションリストを表示できません。
AliyunARMSFullAccess システムポリシーは RAM ユーザーにアタッチされていません。
背景情報
ARMS が提供するシステムポリシーは粗粒度です。システムポリシーが要件を満たしていない場合は、きめ細かいアクセス制御を実装するためにカスタムポリシーを作成できます。たとえば、特定のアプリケーションに対する操作権限を RAM ユーザーに付与する必要がある場合は、この要件を満たすためにカスタムポリシーを作成する必要があります。
手順 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" ] } } } ] }
上部にある オプションの高度な最適化 をクリックします。「オプションの高度な最適化」メッセージで、実行 をクリックしてポリシーを最適化します。
高度な最適化中に、システムは次の操作を実行します。
アクションと互換性のないリソースまたは条件を分割します。
リソースを絞り込みます。
ポリシーステートメントを重複排除またはマージします。
ポリシーの作成 ページで、OK をクリックします。
ポリシーの作成 ダイアログボックスで、名前 パラメーターと 説明 パラメーターを設定し、OK をクリックします。
手順 2: カスタムポリシーをアタッチする
RAM ユーザーにカスタムポリシーをアタッチする
RAM 管理者として RAM コンソール にログオンします。
左側のナビゲーションペインで、 を選択します。
ユーザー ページで、必要な RAM ユーザーを見つけ、アクセス許可を追加アクション 列の をクリックします。
複数の RAM ユーザーを選択し、ページ下部にある 権限の追加 をクリックして、一度に複数の RAM ユーザーに権限を付与することもできます。
権限の付与 パネルで、RAM ユーザーに権限を付与します。
リソーススコープ パラメーターを設定します。
アカウント: 承認は現在の Alibaba Cloud アカウントに有効です。
リソースグループ: 承認は特定のリソースグループに有効です。
重要「リソーススコープ」パラメーターで「リソースグループ」を選択した場合は、必要なクラウドサービスがリソースグループをサポートしていることを確認してください。詳細については、リソースグループで動作するサービス をご参照ください。リソースグループに対する権限の付与方法の詳細については、リソースグループを使用して、特定の ECS インスタンスを管理するための権限を RAM ユーザーに付与する をご参照ください。
プリンシパルパラメーターを設定します。
プリンシパルとは、権限を付与する RAM ユーザーのことです。現在の RAM ユーザーが自動的に選択されます。
ポリシーパラメーターを設定します。
ポリシーには、一連の権限が含まれています。ポリシーは、システムポリシーとカスタムポリシーに分類できます。一度に複数のポリシーを選択できます。
システムポリシー: Alibaba Cloud によって作成されたポリシー。これらのポリシーは使用できますが、変更することはできません。ポリシーのバージョン更新は Alibaba Cloud によって維持されます。詳細については、RAM で動作するサービス をご参照ください。
説明システムは、AdministratorAccess や AliyunRAMFullAccess など、リスクの高いシステムポリシーを自動的に識別します。リスクの高いポリシーをアタッチして、不要な権限を付与しないことをお勧めします。
カスタムポリシー: ビジネス要件に基づいてカスタムポリシーを管理および更新できます。カスタムポリシーの作成、更新、削除ができます。詳細については、カスタムポリシーの作成 をご参照ください。
権限の付与 をクリックします。
閉じる をクリックします。
RAM ロールにカスタムポリシーをアタッチする
RAM 管理者として RAM コンソール にログオンします。
左側のナビゲーションペインで、 を選択します。
ロール ページで、管理する RAM ロールを見つけ、権限の付与アクション 列の をクリックします。
複数の RAM ロールを選択し、RAM ロールリストの下部にある 権限の付与 をクリックして、一度に複数の RAM ロールに権限を付与することもできます。
権限の付与 パネルで、RAM ロールに権限を付与します。
リソーススコープパラメーターを設定します。
アカウント: 承認は現在の Alibaba Cloud アカウントに有効です。
リソースグループ: 承認は特定のリソースグループに有効です。
説明リソーススコープパラメーターにリソースグループを選択する場合は、必要なクラウドサービスがリソースグループをサポートしていることを確認してください。詳細については、リソースグループで動作するサービスを参照してください。
プリンシパルパラメーターを構成します。
プリンシパルとは、権限を付与するRAMロールです。現在のRAMロールが自動的に選択されます。
ポリシーパラメータを設定します。
ポリシーは、アクセス許可のセットです。一度に複数のポリシーを選択できます。
システムポリシー: Alibaba Cloud によって作成されたポリシー。これらのポリシーは使用できますが、変更することはできません。ポリシーのバージョン更新は Alibaba Cloud によって管理されます。詳細については、RAMと連携するサービス を参照してください。
説明システムは、AdministratorAccess や AliyunRAMFullAccess などの高リスクのシステムポリシーを自動的に識別します。高リスクのポリシーをアタッチして、不要な権限を付与しないことをお勧めします。
カスタムポリシー: ビジネス要件に基づいてカスタムポリシーを管理および更新できます。カスタムポリシーの作成、更新、削除ができます。詳細については、カスタムポリシーの作成 を参照してください。
権限の付与をクリックします。
閉じるをクリックします。
RAMロールにポリシーをアタッチした後、RAMロールを使用してARMSコンソールにログオンできます。詳細については、RAMロールを引き受けるを参照してください。
ポリシー要素
効果
ステートメントの結果が明示的な許可か明示的な拒否かを指定します。有効な値:許可と拒否。
アクション
アクション | 説明 |
arms:ReadTraceApp | 指定されたアプリケーションに対する読み取り専用権限。アプリケーションの概要、インターフェース呼び出し、アプリケーション診断などの情報を表示する権限が含まれます。 |
arms:EditTraceApp | 指定されたアプリケーションに対する編集権限。カスタム構成の適用やカスタムパラメータの設定などの権限が含まれます。 |
arms:DeleteTraceApp | 指定されたアプリケーションを削除する権限。 |
リソース
ポリシーが有効になるリソースを指定します。
ステートメントの例:
"Resource": [
"acs:arms:<regionid>:*:armsapp/<appname>"
]
<regionid>
は、指定されたリージョンIDに置き換えます。すべてのリソースの権限を付与する場合は、<regionid>を*
に置き換えます。<appname>
は、指定されたアプリケーション名に置き換えます。すべてのアプリケーションの権限を付与する場合は、<appname>を*
に置き換えます。同じ名前のプレフィックスを持つアプリケーションを指定する場合は、<appname>を名前のプレフィックス*
に置き換えます。例:k8s*
。
条件
条件ブロックには、1つ以上の条件が含まれています。各条件は、演算子、キー、および値で構成されます。
説明
条件キーには、1つ以上の値を指定できます。リクエストの値が指定された値のいずれかと一致する場合、条件は満たされます。
条件には、単一の条件演算子にアタッチされた複数のキーを含めることができます。このタイプの条件は、キーのすべての要件が満たされた場合にのみ満たされます。
条件ブロックは、すべての条件が満たされた場合にのみ満たされます。
キーと値のペアを使用してリソースを指定できます。アプリケーションにタグを付ける方法の詳細については、タグの管理を参照してください。
キーと値のペアは、次の演算子をサポートしています。
StringEquals
StringNotEquals
StringEqualsIgnoreCase
StringNotEqualsIgnoreCase
StringLike
StringNotLike
条件キー:arms:tag
条件キー値:キーと値のペア
次の例は、key0: value01
またはkey0: value02
タグに関連付けられたアプリケーションと一致する条件を示しています。
"Condition": {
"StringEquals": { // 演算子。
"arms:tag/key0":[ // 条件キー。
"value01", // 条件キーの値。
"value02"
]
}
}
参考資料
カスタムポリシーを使用するには、ビジネスの権限制御要件とARMSの承認情報を理解する必要があります。詳細については、RAM 認証をご参照ください。