本ドキュメントでは、Resource Access Management (RAM) ユーザーにアラートを管理する権限を与える方法について説明します。 承認が完了したら、アラートルールを作成して、プロジェクト、リージョン、またはAlibaba Cloudアカウント全体のデータを監視できます。
前提条件
RAM ユーザーを作成します。 詳細については、「RAM ユーザーの作成」をご参照ください。
RAMユーザーにアラートに対する読み取り専用権限を付与する
方法1: RAMユーザーにシステムポリシーをアタッチする
Alibaba Cloud アカウントを使用して RAM コンソールにログインします。 次に、AliyunLogReadOnlyAccessポリシーをRAMユーザーにアタッチします。 このポリシーは、アラートに対する読み取り専用権限を付与します。 詳細については、「RAMユーザーへの権限付与」をご参照ください。
方法2: カスタムポリシーを作成し、カスタムポリシーをRAMユーザーにアタッチします
RAMコンソールAlibaba Cloudアカウントを使用します。
カスタムポリシーを作成します。
左側のナビゲーションウィンドウから、
を選択します。[ポリシー] ページで [ポリシーの作成] をクリックします。
表示されるページで、[JSON] タブをクリックし、コードエディターの既存のスクリプトを次の内容に置き換え、[次へ] をクリックしてポリシー情報を編集します。
説明プロジェクト名は、読み取り専用権限を付与するアラートを持つプロジェクトを指定します。 変数を実際のプロジェクト名に置き換えます。
sls-alert-* は、Alibaba Cloudアカウント内のグローバルアラートセンターが属するすべてのプロジェクトを指定します。 プロジェクトは、Alibaba Cloudアカウント内にアラートのデータを保存します。 データには、各アラートルールの評価データ、保存されたログ、およびアラートに関連するグローバルレポートが含まれます。 グローバルレポートを表示する必要がない場合は、リソースリストから
acs:log:*:*:project/sls-alert-*/*
を削除できます。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:GetLogStore" ], "Resource": [ "acs:log:*:*:project/Project name/logstore/internal-alert-history", "acs:log:*:*:project/sls-alert-*/logstore/internal-alert-center-log" ] }, { "Effect": "Allow", "Action": [ "log:GetJob", "log:ListJobs" ], "Resource": "acs:log:*:*:project/Project name/job/*" }, { "Effect": "Allow", "Action": [ "log:GetProject" ], "Resource": [ "acs:log:*:*:project/sls-alert-*" ] }, { "Effect": "Allow", "Action": [ "log:GetLogStoreLogs", "log:ListLogStores", "log:GetIndex", "log:GetDashboard", "log:ListDashboard" ], "Resource": [ "acs:log:*:*:project/Project name/*", "acs:log:*:*:project/sls-alert-*/*" ] }, { "Effect": "Allow", "Action": [ "log:GetResource", "log:ListResources", "log:GetResourceRecord", "log:ListResourceRecords" ], "Resource": [ "acs:log:*:*:resource/*" ] } ] }
[ポリシーの作成] ページで、[名前] パラメーターを設定し、[OK] をクリックします。
RAMユーザーに権限を付与します。
左側のナビゲーションペインで、
を選択します。[ユーザー] ページで、カスタムポリシーをアタッチするRAMユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。
[権限の付与] パネルの [ポリシー] セクションで、ドロップダウンリストから [カスタムポリシー] を選択し、手順2で作成したポリシーを選択して、[権限の付与] をクリックします。
RAMユーザーにアラートの管理権限を付与する
方法1: システムポリシーをRAMユーザーにアタッチする
Alibaba Cloud アカウントを使用して RAM コンソールにログインします。 次に、AliyunLogFullAccessポリシーをRAMユーザーにアタッチします。 このポリシーは、Simple Log Serviceの管理権限を付与します。 詳細については、「RAMユーザーへの権限付与」をご参照ください。
方法2: カスタムポリシーを作成し、カスタムポリシーをRAMユーザーにアタッチする
RAMコンソールAlibaba Cloudアカウントを使用します。
カスタムポリシーを作成します。
左側のナビゲーションウィンドウから、
を選択します。[ポリシー] ページで [ポリシーの作成] をクリックします。
表示されるページで、[JSON] タブをクリックし、コードエディターの既存のスクリプトを次の内容に置き換え、[次へ] をクリックしてポリシー情報を編集します。
説明プロジェクト名は、管理権限を付与するアラートを持つプロジェクトを指定します。 変数を実際のプロジェクト名に置き換えます。
sls-alert-* は、Alibaba Cloudアカウント内のグローバルアラートセンターが属するすべてのプロジェクトを指定します。 プロジェクトは、Alibaba Cloudアカウント内にアラートのデータを保存します。 データには、各アラートルールの評価データ、保存されたログ、およびアラートに関連するグローバルレポートが含まれます。 RAMユーザーにグローバルアラートセンターが属する1つのプロジェクトのみを管理する権限を付与する場合は、sls-alert-* を
sls-alert-${uid}-${region}
形式でプロジェクトの名前に設定する必要があります。 例:sls-alert-148 **** 6461-cn-hangzhou
履歴アラートを保存するLogstoreやグローバルアラートセンターが属するLogstoreなど、RAMユーザーを使用してアラート関連システムのLogstoreを管理する場合は、RAMユーザーにLogstoreの作成、インデックスの作成、インデックスの更新を行う権限を付与する必要があります。 次に、RAMユーザーを使用して、アラート履歴などのアラート関連のレポートを表示できます。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:GetLogStore", "log:UpdateLogStore", "log:CreateLogStore", "log:CreateIndex", "log:UpdateIndex" ], "Resource": [ "acs:log:*:*:project/Project name/logstore/internal-alert-history", "acs:log:*:*:project/sls-alert-*/logstore/internal-alert-center-log" ] }, { "Effect": "Allow", "Action": [ "log:*" ], "Resource": "acs:log:*:*:project/Project name/job/*" }, { "Effect": "Allow", "Action": [ "log:GetProject", "log:CreateProject" ], "Resource": [ "acs:log:*:*:project/sls-alert-*" ] }, { "Effect": "Allow", "Action": [ "log:GetLogStoreLogs", "log:ListLogStores", "log:GetIndex", "log:GetDashboard", "log:CreateDashboard", "log:UpdateDashboard", "log:ListDashboard" ], "Resource": [ "acs:log:*:*:project/Project name/*", "acs:log:*:*:project/sls-alert-*/*" ] }, { "Effect": "Allow", "Action": [ "log:*" ], "Resource": [ "acs:log:*:*:resource/*" ] } ] }
[ポリシーの作成] ページで、[名前] パラメーターを設定し、[OK] をクリックします。
RAMユーザーに権限を付与します。
左側のナビゲーションペインで、
を選択します。[ユーザー] ページで、カスタムポリシーをアタッチするRAMユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。
[権限の付与] パネルの [ポリシー] セクションで、ドロップダウンリストから [カスタムポリシー] を選択し、手順2で作成したポリシーを選択して、[権限の付与] をクリックします。
プロジェクト全体のデータを監視するアラートルールを作成する
承認の設定
RAMユーザーを使用してアラートルールを作成してデータを監視する場合は、Alibaba Cloudアカウントを使用してRAMユーザーにアラートの管理権限を付与する必要があります。 詳細については、「RAMユーザーにアラートの管理を許可する」をご参照ください。
クエリ文を指定します。 詳細については、「アラートルールの作成」をご参照ください。
承認を設定します。 次の表に、使用できる権限付与方法を示します。
承認方法
説明
デフォルトの権限付与方法の使用
プロジェクト用に設定されたアラートルールを使用して、プロジェクトのさまざまなLogstoreおよびMetricstoreのデータを監視する場合は、デフォルトの承認方法を使用できます。
組み込みロールの使用
プロジェクト用に設定されたアラートルールを使用して、同じAlibaba Cloudアカウント内の別のプロジェクトのLogstoreおよびMetricstoreのデータを監視する場合、組み込みロールをSimple Log Serviceに割り当てることができます。
カスタムロールの使用
Alibaba Cloudアカウント全体のプロジェクトに対して設定されたアラートルールを使用して、プロジェクトのLogstoreおよびMetricstoreのデータを監視する場合、Simple Log Serviceにカスタムロールを割り当てることができます。
手順
デフォルトの権限付与方法の使用
[詳細設定] タブで、[権限付与] ドロップダウンリストから [デフォルト] を選択します。
組み込みロールの使用
[詳細設定] タブで、[権限付与] ドロップダウンリストから [組み込みロール] を選択します。 初めて権限付与を設定する場合は、[クラウドリソースアクセス権限付与] ページでAlibaba Cloudアカウントを使用して権限付与を完了する必要があります。 権限付与が完了すると、Simple Log Serviceは
AliyunSLSAlertMonitorRole
という名前のRAMロールを作成します。 その後、Simple Log ServiceはRAMロールを引き受けて、指定されたLogstoreからデータを読み取ることができます。カスタムロールの使用 (Alibaba Cloudアカウント内)
アラートルールを使用して、Alibaba Cloudアカウント内の複数のプロジェクトにわたって異なるLogstoreおよびMetricstoreのデータを監視する場合、Simple Log Serviceにカスタムロールを割り当てることができます。
Alibaba Cloudアカウントを使用して、次の手順を実行します。
コードエディターで、次のポリシードキュメントを入力します。 プロジェクト名を実際の値に置き換えます。 カスタムポリシーを変更して、RAMロールにきめ細かい権限を付与できます。 たとえば、特定のプロジェクトでのみアラートルールを作成する権限をロールに付与する場合は、カスタムポリシーの
[リソース]
要素でプロジェクトを指定できます。 例:acs:log:*:*:project/my-project
{ "Statement": [ { "Action": [ "log:ListProject" ], "Effect": "Allow", "Resource": [ "acs:log:*:*:*" ] }, { "Action": [ "log:ListLogStores", "log:GetLogStoreLogs", "log:GetIndex" ], "Effect": "Allow", "Resource": [ "acs:log:*:*:project/Project name/*" ] } ], "バージョン": "1" }
カスタムポリシーをRAMロールにアタッチします。 詳細については、「RAMロールへの権限の付与」をご参照ください。
RAMロールのARNを入力して、ロールをSimple Log Serviceに割り当てます。
カスタムロールの使用 (複数のAlibaba Cloudアカウント間)
アラートルールを使用して、複数のAlibaba Cloudアカウントにわたる異なるLogstoreおよびMetricstoreのデータをモニタリングする場合、Simple Log Serviceにカスタムロールを割り当てることができます。 たとえば、Alibaba CloudアカウントAを使用してアラートルールを作成し、アラートルールを使用してAlibaba CloudアカウントBのLogstoreおよびMetricstoreのデータを監視できます。
Alibaba Cloudアカウントを使用して、次の手順を実行します。
RAMロールの信頼ポリシーを変更します。 次のポリシードキュメントに基づいて、RAMロールの信頼ポリシーを変更できます。 Alibaba CloudアカウントAのIDを実際の値に置き換えます。 Alibaba CloudアカウントのIDは、アカウントセンターで確認できます。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "ID of Alibaba Cloud Account A@log.aliyuncs.com", "log.aliyuncs.com" ] } } ], "Version": "1" }
コードエディターの内容を次のポリシードキュメントに置き換えます。 プロジェクト名を実際の値に置き換えます。 カスタムポリシーを変更して、RAMロールにきめ細かい権限を付与できます。 たとえば、特定のプロジェクトでのみアラートルールを作成する権限をロールに付与する場合は、カスタムポリシーの
[リソース]
要素でプロジェクトを指定できます。 例:acs:log:*:*:project/my-project
{ "Statement": [ { "Action": [ "log:ListProject" ], "Effect": "Allow", "Resource": [ "acs:log:*:*:*" ] }, { "Action": [ "log:ListLogStores", "log:GetLogStoreLogs", "log:GetIndex" ], "Effect": "Allow", "Resource": [ "acs:log:*:*:project/Project name/*" ] } ], "Version": "1" }
カスタムポリシーをRAMロールにアタッチします。 詳細については、「RAMロールへの権限の付与」をご参照ください。
RAMロールのARNを入力して、ロールをSimple Log Serviceに割り当てます。
RAM ユーザーへの権限付与
RAMユーザーを使用して、アラートルールに基づいてプロジェクト、リージョン、またはAlibaba Cloudアカウントのデータを監視する場合、RAMユーザーには、必要なLogstoreまたはMetricstoreのデータを照会する権限が必要です。 この場合、Alibaba Cloudアカウントを使用して、次のポリシーをRAMユーザーにアタッチする必要があります。 このポリシーは、RAMユーザーに必要なRAMロールを引き受ける権限を付与します。 詳細については、「RAMユーザーへの権限付与」をご参照ください。
{
"Action": "ram:PassRole",
"Effect": "Allow",
"Resource": "*"
}