要旨
Google Cloud に 特権アクセス制御 (PAM) が Preview で登場しました!
アクセス管理を得意とするしろうささんとしては、早速試してみたいと思います!
この記事は速報記事です。
GA 後は内容が変更となる可能性があるため、注意をお願いします。
特権アクセス制御 (PAM) とは
IAM (Identity and Access Management) はアクセス権の管理として広く利用されていますが、PAM (Privileged Access Management) は、まだ広く利用されていないと認識しています。
PAM とは、特権アクセスを管理するための仕組みです。
特権というと、ふわっとしていますが、一般的には 『root』や『administrator』など、システムを管理する最上位の権限が該当します。
特権アカウントは、
- 運用のため、複数の管理者により ID やパスワードが共有される場合がある。
- 普段の運用では、このアカウントを使用しない。
- 一時的に利用して、その後は利用できないように安全に管理する必要がある。
- 利用のためには、管理者の承認などの承認フローが必要となる。
- 証跡を確実に保存して、監査可能である必要性がある。
このような特徴をもった、特別なアカウントとなります。
これらのニーズを満たすための機能が特権アクセス制御 (PAM) となります。
Google Cloud の PAM
Google Cloud の PAM も、特権を共有する機能や、理由の確認、一時的に昇格する権限のセット、特権利用リクエストの承認機能など、必要な機能を一通り備えているように見えます。
ここでは、実際に設定して、どのようなことが出来るか見てみたいと思います。
本機能は Preview 段階のため、操作方法が変更になる可能性があります。
そのため、設定方法などは、公式ドキュメント をご参照ください。
コンソール画面
PAM の機能を有効にした後に、このようなコンソールが表示されました。
こちらに対して、PAM に関する各種設定を行います。
PAM の初期設定
利用資格を下記の様に設定しました。
利用資格詳細の『ロール』で付与する権限を指定するのですが、『オーナー』や『閲覧者』といった基本ロールを付与することは出来ないようです。
オーナー権限を管理する場合は、本機能外での管理が必要になりそうだなと考えました。
また、setIamPolicy などの強力な権限を有するロールを付与してしまうと、PAM の権限を追加で付与したり、カスタムロールを付与出来てしまうため注意してください。
Caution: Be careful when including the following types of roles in an entitlement:
Roles with permissions to grant and revoke IAM roles (that is, roles with permission names that end in setIamPolicy).
Roles with the iam.roles.update permission, which lets users modify custom roles.
PAM に関する追加の権限付与
『リクエスト元のプリンシパル』や『承認者のプリンシパル』に設定されたユーザーには、Cloud IAM で追加のアクセス権がいくつか必要となります。
詳細は公式ドキュメントの Required permissions を参照してください。
検証の環境では、フォルダ単位で PAM を構成しました。
その場合であれば、『フォルダ閲覧者』の権限で問題ないようです。
権限付与依頼
特権を利用するユーザー(リクエスト元に設定されたユーザー)で、権限付与依頼を試してみたいと思います。
リクエスト元に設定されたユーザーには、以下のようなメールが届きます。
メールから『Request grant』にアクセスすると、『権限付与をリクエスト』という追加の画面が出るようになりました。
『権限付与をリクエスト』を選択すると、リクエスト画面が表示されます。
こちらに、必要事項を記載してリクエストしてみます。
権限付与承認
承認者に対して、以下のようなメールが届きました。
このメールから、『Approve or deny grant』を選択して承認を行います。
『Approve or deny grant』 を選択後、コンソールが開きますので『承認』を選択してみます。
これで、権限付与の承認が完了しました。
権限付与の確認とアクセス
権限付与が承認されると、以下のようなメールがリクエスト元に到達し、アクセスが可能となります。
許可された時間内において、Google Cloud コンソールの操作が可能となります。
権限付与の取り消し
一度付与した権限を取り消してみます。
PAM の 『権限付与』より付与されている権限が確認できます。
ここから、『Remove grant』を選択することで権限を剥奪することが出来ます。
これを選択することにより権限剥奪ができますが、Google Cloud のキャッシュ仕様か実際に剥奪されるため数分のタイムラグが有りました。
承認の履歴
PAM の 『監査ログ』より、特権の利用履歴が確認できました。
また、個々のアクションを選択することにより、内容の詳細を確認することも可能です。
これにより、特権の履歴管理は問題なく出来ることが確認できました。
まとめ
これまで、特権アクセス制御 (PAM) を検討する場合、Google Cloud 外の仕組みが必要でした。
今回の Preview 機能により、Google Cloud だけで完結出来るようになったのは、管理上かなり優位だと考えます。
しかし、現状の PAM は、オーナーなどの強力な権限を管理することは出来ないため、その部分は 3rd Party ソリューションとの組み合わせが必要であると考えました。
特権管理は、内部不正に対する強力な防御策です。
組織の情報や、お客様の情報を保護するため、特権アクセス制御 (PAM) を是非検討してください。