Identity and Access Management(IAM)を使用すると、ユーザー、グループ、サービス アカウントなどのプリンシパルに特定の権限を付与して、Cloud Scheduler リソースへのアクセスを管理できます。事前定義ロールまたはカスタムロールを割り当てて、スケジュールされたジョブを表示、構成、実行できるユーザーを制御できます。
概要
Cloud Scheduler は、IAM を使用してアクセス制御を行います。
IAM とその機能の概要については、IAM の概要をご覧ください。アクセス権の付与と取り消しの方法については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
Cloud Scheduler がサポートする権限とロールのリストについては、次のセクションをご覧ください。
Cloud Scheduler API を有効にします
Cloud Scheduler の IAM ロールを表示して割り当てるには、プロジェクトで Cloud Scheduler API を有効にする必要があります。API を有効にするまで、 Google Cloud コンソールで Cloud Scheduler のロールを表示できません。
API を有効にするために必要なロール
API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法を確認する。
事前定義ロール
次の表に、Cloud Scheduler の IAM 事前定義ロールと、各ロールに割り当てられた権限の一覧を示します。
事前定義ロールは、一般的なユースケースのほとんどに対応しています。事前定義ロールがユースケースに対応していない場合は、IAM のカスタムロールを作成できます。
Cloud Scheduler の役割
| Role | Permissions |
|---|---|
Cloud Scheduler Admin( Full access to jobs and executions. Note that a Cloud Scheduler Admin (or any custom role with the permission cloudscheduler.jobs.create) can create jobs that publish to any Pub/Sub topics within the project. Lowest-level resources where you can grant this role:
|
|
Cloud Scheduler Viewer( Get and list access to jobs, executions, and locations. Lowest-level resources where you can grant this role:
|
|
Cloud Scheduler Job Runner( Access to run jobs. Lowest-level resources where you can grant this role:
|
|
Service agent roles
Service agent roles should only be granted to service agents.
| Role | Permissions |
|---|---|
Cloud Scheduler Service Agent( Grants Cloud Scheduler Service Account access to manage resources. |
|
プロジェクト レベルの IAM の管理
プロジェクト レベル、またはフォルダや組織からの継承により、Google Cloud コンソール、IAM API、Google Cloud CLI を使用して IAM ロールの付与、変更、取り消しを行うことができます。詳細については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
Cloud Scheduler は、個々のジョブのリソースレベルの IAM ポリシーまたは IAM 条件リソース属性をサポートしていません。プリンシパルに付与された Cloud Scheduler ロールは、プロジェクト内のすべてのジョブに適用されます。
特定のジョブを表示、変更、実行できるプリンシパルを制限するには、それらのジョブを別のプロジェクトに作成します。
個々の HTTP ターゲット ジョブが実行時に呼び出すことができるターゲット リソースを制限するには、そのターゲットに必要な権限のみを持つ専用のユーザー管理のサービス アカウントを使用してジョブを構成します。ジョブを作成または更新するプリンシパルには、そのサービス アカウントに対する
iam.serviceAccounts.actAs権限も必要です。この権限は、サービス アカウント ユーザーのロール(roles/iam.serviceAccountUser)を使用して個々のサービス アカウントに付与できます。