2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

unerryAdvent Calendar 2024

Day 16

Google Cloud PAMという新機能で一時的な権限付与を運用する

Last updated at Posted at 2024-12-15

はじめに

私の担当プロジェクトではこれまで開発者に本番環境の編集権限が常時割り当てられていました。

そこで本番環境のリソースを誤って編集してしまう事象を予防する為に、PAMという新サービス※を用いて権限管理の方法を見直しました。

このPAMを用いた権限管理の実例とその感想を、当記事でご紹介しようと思います。

※2024年9月 GA

PAMとは

Privileged Access Manager(PAM)を使用すると、特定のプリンシパルのジャストインタイムの一時的な権限昇格を管理し、監査ログを表示して、誰が何にいつアクセスしたかを確認できます。

たとえば、Privileged Access Manager を使用すると、次のことができます。

  • デベロッパーに本番環境への一時的なアクセス権を付与して、トラブルシューティングやデプロイを行う。

引用元

具体的なPAMの利用方法も上記のガイドに記載されています。

実際にやってみた権限管理の方針

  • 開発者が所属するGoogleグループに編集者ロールを割り当てていたが、閲覧者ロール+αに変更
  • 本番環境プロジェクトのPAMでリソース編集用の利用資格を作成しておく
    • リクエスト元 : 開発者グループ
    • 承認者 : 承認なしでアクセスを有効化
    • ロール : 任意(残念ながら編集者ロールなどの基本ロールを割り当てることはできません)+特権アクセスマネージャー管理者
    • 通知先 : Slackチャンネルのメールアドレスを指定
  • 利用資格を使った作業が終わった後は権限付与を取り消す
    • 取り消すために特権アクセスマネージャー管理者ロールを利用資格に追加している
  • 権限を絞ったことで作業に支障が出ないようにProjectIAM管理者ロールの利用資格も作成しておく

image.png

感想

本番環境のリソースを参照だけしたいときに、誤ってボタンを押下して更新してしまう怖さが無くなりました。
一時的な権限を得たときはそれがSlackに通知され監査ログにも残るので、透明性を確保できるようになっていると感じます。

管理者でないと権限付与を取り消せなかったり取り消したことがSlackに通知されない※などの若干の使いづらさはあるのですが欲していた機能ではあったので、これからの改善も期待しています。

※権限付与リクエスト時に別途メールアドレスを入力すれば通知されます(が権限付与通知も増えるので元の設定と合わせて2回通知されます。)

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?