【アップデート】IAM Privileged Access Managerで権限付与リクエストの事前スケジュールが可能に

【アップデート】IAM Privileged Access Managerで権限付与リクエストの事前スケジュールが可能に

2026.04.14

はじめに

こんにちは。
クラウド事業本部コンサルティング部の渡邉です。

2026年4月13日付の Google Cloud リリースノートにて、IAM Privileged Access Manager(PAM)で権限付与リクエストを最大7日先までスケジュールできる機能Previewとして発表されました。

https://docs.cloud.google.com/release-notes#April_13_2026

https://docs.cloud.google.com/iam/docs/pam-overview#grant-scheduling

この機能により、計画メンテナンスやオンコールシフトに合わせて事前に特権アクセスをスケジュールし、必要なタイミングで自動的にアクセス権が付与されるようになります。
本記事では、Privileged Access Managerの概要と、今回追加されたスケジュール権限付与機能の紹介、および実際に動作を確認するハンズオンを行います。

Privileged Access Manager(PAM)とは

Privileged Access Manager は、Google Cloud の Just-In-Time(JIT)特権アクセス管理サービスです。必要なときに必要な権限だけを、期限付きで付与する仕組みを提供します。

従来のアプローチでは、管理者が恒常的に高い権限を保持する「常時特権(standing privileges)」が一般的でしたが、これはセキュリティリスクを増大させます。PAM を使うことで、権限は必要なときだけ一時的に付与され、期間終了後に自動的に取り消されます。

Privileged Access Managerに関しては、以下のブログで詳細を解説しているのでご確認ください。

https://dev.classmethod.jp/articles/grant-temporary-elevated-access-with-pam/

PAM の基本概念

PAM は主に 2 つの概念で構成されています。

利用資格(Entitlement)

利用資格は、一時的な特権アクセスのテンプレートです。管理者が以下の属性を設定して作成します。

  • リクエスター: 権限付与をリクエストできるプリンシパルのセット
  • ロール: 一時的に付与するロール(IAM 条件の設定も可能)
  • 最大期間: 権限付与が有効な最大時間
  • 承認要否: 承認ワークフローの有無と承認者の設定
  • 正当化理由の要否: リクエスト時に理由の記入を求めるかどうか
  • 通知先: 重要なイベント(承認待ち、権限付与など)の通知先

権限付与

権限付与は、利用資格に対するアクセスリクエストです。リクエスターが権限付与をリクエストし、承認が必要な場合は承認者が承認すると、利用資格に定義されたロールが一時的に付与されます。権限付与期間が終了すると、ロールは自動的に取り消されます。

権限付与のライフサイクル

権限付与は以下のステータスを持ちます。

ステータス 説明
Activating 権限付与のアクティベーション処理中
Activation failed アクティベーション処理が失敗した
Active 権限付与が有効で、リクエスターにロールが付与されている
Approval awaited 承認者の判断待ち
Denied 承認者によって拒否された
Ended 権限付与期間が終了し、ロールが取り消された
Expired 24時間以内に承認されず期限切れ
Revoked 権限付与が取り消された
Revoking 取り消し処理中
Scheduled 承認済み・指定日時のアクティベーション待ち(スケジュール権限付与のみ)
Withdrawing 取り下げ処理中
Withdrawn リクエスターが権限付与を取り下げた

スケジュールされた権限付与(Scheduled Grants)とは

今回 Preview として追加された新機能です。従来の PAM では、権限付与をリクエストするとすぐに(または承認後すぐに)アクセス権が付与されていました。

スケジュールされた権限付与では、最大7日先までの権限付与リクエストを事前にスケジュールできます。指定した日時になると自動的に権限付与がアクティベートされ、一時的な特権アクセスが開始されます。

ユースケース

この機能は以下のシナリオで特に有用かと思います。
事前に計画されている作業などに関しては、スケジュールされた権限付与を利用することであらかじめ権限付与の証跡と承認を取ることができるので当日余裕をもって作業をすることができます。

ユースケース 説明
計画メンテナンス 深夜のメンテナンスウィンドウに合わせて事前にアクセスをスケジュール。当日慌てて権限リクエストする必要がなくなる
オンコールシフト オンコール当番の開始時刻に合わせて自動的に特権アクセスを付与。シフト終了時に自動取り消し
リリースデプロイ 計画されたリリース作業に合わせて、本番環境へのアクセスを事前にスケジュール
監査・コンプライアンス対応 定期的な監査作業に合わせて、必要な権限を事前に準備
承認ワークフローの効率化 事前にリクエスト → 承認のサイクルを完了しておき、作業当日はスムーズに開始

従来の即時権限付与との比較

項目 即時権限付与 スケジュール権限付与(Preview)
アクティベーション リクエスト(または承認)直後 指定した将来の日時
事前スケジュール 不可 最大7日先まで
承認フロー リクエスト後に承認 → 即アクティベート リクエスト後に承認 → 指定日時にアクティベート
ユースケース 緊急対応、ad-hoc な作業 計画メンテナンス、オンコール、定期作業

PAM の主な機能一覧

PAM は今回のスケジュール権限付与以外にも多くの機能を提供しています。
ステータスがPreviewの機能も多くあるので早めのGAが望まれます。

機能 ステータス 説明
利用資格・権限付与管理 GA 基本的な JIT 特権アクセス管理
監査ログ GA Cloud Audit Logs への記録
マルチレベル・マルチパーティ承認 Preview 最大2レベル、レベルごとに最大5承認者(SCC Enterprise/Premium が必要)
スコープカスタマイズ Preview リクエスターが利用資格内でスコープを絞り込み(SCC Enterprise/Premium が必要)
サービスアカウント承認 Preview サービスアカウントを承認者として設定可能
継承サポート Preview 組織・フォルダレベルの利用資格が子リソースから参照可能
通知カスタマイズ Preview リソース単位での通知設定のカスタマイズ
権限付与取り下げ Preview リクエスターによる権限付与の早期終了
スケジュール権限付与 Preview(New) 最大7日先までの権限付与リクエストの事前スケジュール

やってみた

実際に、以下のシナリオを想定してスケジュールされた権限付与を試してみます。

シナリオ

  • 夜間 21:00〜23:00 に計画メンテナンスが予定されているため、事前にCompute Admin 権限のスケジュール権限付与をリクエストし、当日スムーズに作業を開始できるか確認します。

前提条件

  • Google Cloud のプロジェクトが利用可能であること
  • 以下の API が有効化されていること
    • Privileged Access Manager API(privilegedaccessmanager.googleapis.com

必要な IAM ロール

操作 必要なロール
利用資格の作成・管理 roles/privilegedaccessmanager.admin および roles/resourcemanager.projectIamAdmin
権限付与のリクエスト 利用資格のリクエスターとして追加されていること(PAM 固有のロール不要)
権限付与の承認 利用資格の承認者として追加されていること(PAM 固有のロール不要)

API の有効化

Privileged Access Managerを利用するプロジェクトでAPIが有効化されていない場合は、事前に有効化しておいてください。

gcloud services enable privilegedaccessmanager.googleapis.com \
    --project=$PROJECT_ID

PAM の初期セットアップ

API を有効化しただけでは PAM は動作しません。PAM Service Agent に IAM ポリシーの操作権限を付与する初期セットアップが必要です。

  1. Google Cloud コンソールで IAM と管理 > Privileged Access Manager に移動
  2. 「PAM を設定」 をクリック
  3. 「ロールを付与」 をクリックして PAM Service Agent ロールを付与
  4. 「設定を完了」 をクリック

この手順により、PAM が一時的な権限付与・取り消しのためにプロジェクトの IAM ポリシーを操作できるようになります。

実施のコンソール画面を確認したい方は、下記のブログを参照ください。

https://dev.classmethod.jp/articles/grant-temporary-elevated-access-with-pam/#privileged-access-manager%25E3%2581%25AE%25E5%2588%25A9%25E7%2594%25A8%25E6%25BA%2596%25E5%2582%2599

利用資格の作成

スケジュール権限付与を試すための利用資格を作成します。ここでは承認ワークフローありで設定し、「事前に承認 → 指定日時にアクティベート」の流れを確認します。

  1. Google Cloud コンソールで IAM と管理 > Privileged Access Manager に移動

alt text

  1. 利用資格 タブで 作成 をクリック

alt text

  1. 以下の設定を行う
    • 名前: maintenance
    • ロール: roles/compute.admin(メンテナンス用に Compute 管理者権限を付与)
    • 最大期間: 4時間(メンテナンスウィンドウの長さに合わせて設定)
    • リクエスト元: 権限付与をリクエストするユーザーを追加
    • 正当化理由: 必須 に設定(理由の記録を残す)
    • 承認: 承認ワークフローを 有効 にして承認者を追加

alt text

  1. 作成 をクリックし、利用資格が無事作成されました。

alt text

スケジュール権限付与のリクエスト

ここが今回の新機能のポイントです。コンソールの権限付与リクエスト画面で、アクティベーション開始日時を未来の日時に設定できます。
権限をリクエストするGoogleアカウントへ切り替えて作業します。

現状は roles/compute.admin ロールを持っていないので、Compute Engineのコンソール画面に遷移しても閲覧できない状態です。

alt text

  1. Privileged Access Manager > 自分の資格 タブに移動
  2. 作成した利用資格の行にある 権限付与をリクエスト をクリック

alt text

  1. 以下を入力する
    • 権限付与の期間: 2時間(メンテナンス作業に必要な時間)
    • 理由: 定期メンテナンス作業(インスタンスの再起動・パッチ適用)
    • 付与をスケジュール(新機能): 夜間の 21:00 を指定する(最大7日先まで設定可能)

付与をスケジュールには、プレビューの文字が確認できます。
alt text

  1. 権限付与をリクエスト をクリック

alt text

リクエスト直後の権限付与のステータスは Approval awaited(承認待ち)になります。

alt text

権限付与の承認(承認ワークフロー)

  1. 承認者に承認リクエストの通知メールが届く

alt text

  1. Privileged Access Manager > 権限付与 > すべてのユーザーの権限付与 タブを開く
  2. 対象の権限付与をクリックして詳細を確認し、承認 をクリック

alt text

承認後、権限付与のステータスが Scheduled に遷移します。これがスケジュール権限付与の新しい状態で、「承認済み・指定日時のアクティベーション待ち」を意味します。

alt text

スケジュール権限付与の状態確認(gcloud CLI)

gcloud pam grants search コマンドで権限付与のステータスを確認します。

gcloud pam grants search \
    --entitlement=maintenance \
    --caller-relationship=had-approved \
    --location=global \
    --project=${GOOGLE_CLOUD_PROJECT}

承認後に SCHEDULED ステータスになっていることが確認できます。timelinescheduled.scheduledActivationTime に設定した開始日時が記録されています。

createTime: '2026-04-14T06:44:04.515571009Z'
justification:
  unstructuredJustification: 定期メンテナンス作業(インスタンスの再起動・パッチ適用)
name: projects/my-project/locations/global/entitlements/maintenance/grants/466e7d7c-bc3a-4cd7-ad5e-f6c091fa2071
privilegedAccess:
  gcpIamAccess:
    resource: //cloudresourcemanager.googleapis.com/projects/my-project
    resourceType: cloudresourcemanager.googleapis.com/Project
    roleBindings:
    - role: roles/compute.admin
requestedDuration: 7200s
requester: requester@example.com
state: SCHEDULED
timeline:
  events:
  - eventTime: '2026-04-14T06:44:04.834207126Z'
    requested:
      expireTime: '2026-04-14T12:00:06.932Z'
  - approved:
      actor: approver@example.com
      reason: 承認します。
    eventTime: '2026-04-14T06:47:44.293612165Z'
  - eventTime: '2026-04-14T06:47:44.293717537Z'
    scheduled:
      scheduledActivationTime: '2026-04-14T12:00:06.932Z'
updateTime: '2026-04-14T06:44:05.027351790Z'

指定した開始時刻(scheduledActivationTime)になると、ステータスが自動的に ACTIVE に遷移し、roles/compute.admin が付与されます。2時間後には ENDED に遷移してロールは自動的に取り消されます。

---
auditTrail:
  accessGrantTime: '2026-04-14T12:00:07.810018395Z'
createTime: '2026-04-14T06:44:04.515571009Z'
justification:
  unstructuredJustification: 定期メンテナンス作業(インスタンスの再起動・パッチ適用)
name: projects/my-project/locations/global/entitlements/maintenance/grants/466e7d7c-bc3a-4cd7-ad5e-f6c091fa2071
privilegedAccess:
  gcpIamAccess:
    resource: //cloudresourcemanager.googleapis.com/projects/my-project
    resourceType: cloudresourcemanager.googleapis.com/Project
    roleBindings:
    - role: roles/compute.admin
requestedDuration: 7200s
requester: requester@example.com
state: ACTIVE
timeline:
  events:
  - eventTime: '2026-04-14T06:44:04.834207126Z'
    requested:
      expireTime: '2026-04-14T12:00:06.932Z'
  - approved:
      actor: approver@example.com
      reason: 承認します。
    eventTime: '2026-04-14T06:47:44.293612165Z'
  - eventTime: '2026-04-14T06:47:44.293717537Z'
    scheduled:
      scheduledActivationTime: '2026-04-14T12:00:06.932Z'
  - activated: {}
    eventTime: '2026-04-14T12:00:07.810018395Z'
updateTime: '2026-04-14T06:44:05.027351790Z'

コンソール画面からも権限付与のステータスが Active に遷移したことが確認できました。

alt text

監査ログにも、実行元 PAM system が権限付与を有効化したログが記録されていました。

alt text

また、権限が付与されたことを知らせるメールも受信することができます。

alt text

権限が付与されている間は roles/compute.admin ロールを持っているので、Compute Engineのコンソール画面に遷移したら閲覧できる状態です。(21:02分作業時のスクリーンショット)

alt text

まとめ

今回のハンズオンで確認した通り、スケジュール権限付与機能(Preview)では以下の流れで事前に特権アクセスを準備できます。

  1. 利用資格に対して権限付与をリクエストする際に、開始日時を最大7日先まで指定できる
  2. 承認後のステータスが新しい Scheduled 状態になり、指定日時まで待機する
  3. 開始日時になると 自動的にロールが付与され、期間終了後に自動取り消しされる

これにより、以下のメリットが得られます。

  • 作業当日の手間ゼロ: メンテナンス前日に申請・承認を完了でき、作業当日は開始時刻を待つだけ
  • JIT の原則を維持: 事前にスケジュールしても、アクセス権は指定した時間帯だけに限定される
  • 承認フローの効率化: 承認者も余裕を持って判断でき、緊急対応のような圧力がかからない

スケジュール権限付与は現時点で Preview のため、本番環境での利用は慎重に検討してください。GA に向けた機能拡充が期待されます。

PAM は Google Cloud のゼロトラスト・最小権限戦略において重要な役割を果たすサービスです。今回紹介したスケジュール権限付与を活用することで、計画的な作業に対しても JIT アクセスの原則を維持した運用が実現できます。

本記事がどなたかのお役に立てれば幸いです。

以上、クラウド事業本部コンサルティング部の渡邉でした!

この記事をシェアする

関連記事