Microservices Engine (MSE) のジョブスケジューリング XXL-JOB Edition を利用するために必要な権限を RAM ユーザーに付与します。XXL-JOB へのアクセスには 2 種類の権限付与が必要です。1 つはカスタムポリシーで付与するジョブスケジューリング権限、もう 1 つはシステムポリシーで付与する CloudMonitor の読み取り専用権限です。
Resource Access Management (RAM) ユーザーを使用する場合は、ジョブスケジューリング権限と CloudMonitor の読み取り専用権限の両方を設定する必要があります。
前提条件
XXL-JOB へのアクセスが必要な RAM ユーザー。
すべてのインスタンスに権限を付与する場合を除き、権限を付与する XXL-JOB インスタンスの ID。
ジョブスケジューリング権限の付与
アカウントレベルのステートメントとインスタンスレベルのステートメントを組み合わせたカスタムポリシーを使用して、XXL-JOB のジョブスケジューリング権限を付与します。
ポリシーの選択
次の表は、各ユースケースと対応するポリシー例を示しています。
| ユースケース | リソーススコープ | 付与されるアクション | 削除アクションを含む |
| 1 つのインスタンスで、インスタンス、アプリケーション、ジョブを管理する | 単一インスタンス: cluster/xxljob-0pp1j8om80a | すべてのアクション: schedulerx3:* | Yes |
| 1 つのインスタンスで、インスタンス、アプリケーション、ジョブを照会する | 単一インスタンス: cluster/xxljob-0pp1j8om80a | 読み取り専用アクション: schedulerx3:List* および schedulerx3:Get* | No |
| すべてのインスタンスで、インスタンス、アプリケーション、ジョブを照会する | すべてのインスタンス: cluster/* | 読み取り専用アクション: schedulerx3:List* および schedulerx3:Get* | No |
読み書きポリシーは schedulerx3:* を付与します。これには削除アクション DeleteCluster、DeleteApp、DeleteJobs が含まれます。ベストプラクティスとして、RAM ユーザーに必要最小限のスコープを付与してください。読み書きポリシーより読み取り専用ポリシーを優先し、すべてのインスタンスより単一インスタンスを優先してください。ワイルドカードではなく一部のアクションのみを付与するには、 XXL-JOB API actions の表にある個別のアクション名を指定してください。
ポリシー例
1 つのインスタンスに対して、RAM ユーザーに読み取りおよび書き込み権限を付与します:
{
"Statement": [
{
"Action": "schedulerx3:ListClusters",
"Resource": "acs:schedulerx3:*:*:*",
"Effect": "Allow"
},
{
"Action": "schedulerx3:*",
"Resource": "acs:schedulerx3:*:*:cluster/xxljob-0pp1j8om80a",
"Effect": "Allow"
}
],
"Version": "1"
}1 つのインスタンスに対して、RAM ユーザーに読み取り専用権限を付与します:
{
"Statement": [
{
"Action": "schedulerx3:ListClusters",
"Resource": "acs:schedulerx3:*:*:*",
"Effect": "Allow"
},
{
"Action": [
"schedulerx3:List*",
"schedulerx3:Get*"
],
"Resource": "acs:schedulerx3:*:*:cluster/xxljob-0pp1j8om80a",
"Effect": "Allow"
}
],
"Version": "1"
}すべての XXL-JOB インスタンスに対して、RAM ユーザーに読み取り専用権限を付与します:
{
"Statement": [
{
"Action": "schedulerx3:ListClusters",
"Resource": "acs:schedulerx3:*:*:*",
"Effect": "Allow"
},
{
"Action": [
"schedulerx3:List*",
"schedulerx3:Get*"
],
"Resource": "acs:schedulerx3:*:*:cluster/*",
"Effect": "Allow"
}
],
"Version": "1"
}CloudMonitor の読み取り専用権限の付与
XXL-JOB はデフォルトで CloudMonitor と統合されています。RAM ユーザーに CloudMonitor への読み取り専用アクセスを許可するシステムポリシーを付与してください。付与しない場合、RAM ユーザーは [Basic Information] のスケジューリング統計ダッシュボードを表示できません。
[Grant Permission] ページで、[Resource Scope] を [Account Level] に設定してください。[Permission Policy] セクションで「CloudMonitor」を検索し、システムポリシー AliyunCloudMonitorReadOnlyAccess を選択してください。
権限付与を確認するには、RAM ユーザーとしてログインし、[Basic Information] にスケジューリング統計ダッシュボードが表示されることを確認してください。
XXL-JOB API アクション
次の表は、カスタムポリシーで付与できる XXL-JOB API アクションを、各アクションがサポートする権限付与スコープごとに分類して示します。どちらの表でも、 Read-only は、そのアクションがデータの読み取りのみを行うかどうかを示します。Yes は、そのアクションが読み取り専用であり、読み取り専用ポリシー例で使用されている schedulerx3:List* および schedulerx3:Get* のワイルドカードでカバーされることを意味します。
アカウントレベルの権限付与のみをサポートするアクション
次のアクションはアカウントレベルの権限付与のみをサポートし、インスタンスレベルの権限でフィルタリングできません。アカウントレベルのリソースパス acs:schedulerx3:*:*:* に対して付与してください。
| Action | Description | Read-only |
| ListClusters | クラスターリストを照会します。 | Yes |
インスタンスレベルおよびアクションレベルの権限付与をサポートするアクション
次のアクションは、インスタンスレベルの権限付与と、アクションレベルの RAM 権限をサポートします。
| Category | Action | Description | Read-only |
| Query | ListAppNames | アプリケーション名リストを照会します。 | Yes |
| Query | ListApps | アプリケーションリストを照会します。 | Yes |
| Query | ListCalendarNames | カスタムカレンダー名リストを照会します。 | Yes |
| Query | ListExecutors | エグゼキューターリストを照会します。 | Yes |
| Query | ListJobs | ジョブリストを照会します。 | Yes |
| Query | ListJobExecutions | ジョブ実行リストを照会します。 | Yes |
| Query | ListScheduleTimes | 次の 5 回のスケジュール時刻を照会します。 | Yes |
| Creation | CreateCluster | クラスターを作成します。 | No |
| Creation | CreateApp | XXL-JOB アプリケーションを作成します。 | No |
| Creation | CreateJob | XXL-JOB ジョブを作成します。 | No |
| Update | UpdateCluster | クラスターを更新します。 | No |
| Update | UpdateApp | XXL-JOB アプリケーションを更新します。 | No |
| Update | UpdateJob | XXL-JOB ジョブを更新します。 | No |
| Deletion | DeleteCluster | クラスターを削除します。 | No |
| Deletion | DeleteApp | アプリケーションを削除します。 | No |
| Deletion | DeleteJobs | 複数のジョブを削除します。 | No |
| O&M オペレーション | OperateDesignateExecutors | ジョブのエグゼキューターを指定します。 | No |
| O&M オペレーション | OperateDisableJobs | 複数のジョブを無効化します。 | No |
| O&M オペレーション | OperateEnableJobs | 複数のジョブを有効化します。 | No |
| O&M オペレーション | OperateExecuteJob | ジョブを 1 回実行します。 | No |
| O&M オペレーション | OperateRerunJob | 指定した期間のジョブ実行を再実行します。 | No |
| O&M オペレーション | OperateRetryJobExecution | 失敗したジョブ実行を再試行します。 | No |
| O&M オペレーション | OperateStopJobExecution | 実行中のジョブ実行を停止します。 | No |