【権限管理】IAMのアクセス管理を調査するにはPolicy Analyzerでしょ # GoogleCloudセキュリティ

Policy Analyzerは、権限の棚卸しに使用できる機能です。セキュアにアクセス管理を行う場合には、必須の機能かも知れません。
2024.01.15

1. Policy Analyzerとは

役割

Policy Analyzerを一言で表すと、IAMポリシーを評価し、どのプリンシパルが、どのGoogle Cloud リソースに対して、どのようなアクセス権を付与されているか、を調べることができる機能です。

使い方

公式サイトに紹介されているPolicy Analyzerの使い方を簡単にまとめてみます。

  • IAM サービス アカウントへのアクセス権の棚卸しも可能(付与されているユーザー特定)
    • 個人を特定できる情報(PII)が含まれるこの BigQueryデータセットを読み取ることができるユーザーを特定するなど
  • Googleグループに対して、どのリソースに対して、どのようなロールと権限が付与されているかを特定する
  • AプロジェクトでユーザーAが削除できるのはどのGCE(VM)インスタンスかを特定する
  • 午後7時にあるCloud Storage バケットにアクセスできるのはどのユーザーかを特定する
  • 上記のように、ある条件下で、誰が(ユーザーA)どのリソース(GCE)に対して、何が(削除)実行できるかを特定するのに役立ちます。

2.必要な権限

分析に必要な権限を取得するには、対象となるプロジェクトフォルダ、または組織に対して、次のロールが必要になります。
(検証環境や個人環境の場合には、オーナーロール編集者ロールでも構いません→包含されています)

  • Cloud Asset 閲覧者(roles/cloudasset.viewer)
  • カスタムロールでポリシーを分析するにはロール閲覧者(roles/iam.roleViewer)
  • CLIを使用してポリシーを分析するにはService Usage ユーザー(roles/serviceusage.serviceUsageConsumer)

Policy Analyzerで分析を実行する

ここからは、実際にPolicy Analyzerを使用して分析するデモをお見せします。

Policy Analyzerのコンソール画面へ移動

  • [ポリシーの分析]セクションで、[カスタムクエリを作成]をクリックします。

クエリの条件の指定

  • [クエリのスコープの選択]で、調査したいスコープを選択します
  • パラメータ1にて、[プリンシパル]を選択し、IAMユーザーを選択します

  • [パラメータを追加]を押下し、[権限]を選択します
  • 赤点線枠の[選択]を押下すると、調査したい権限をフィルタするポップアップが表示されます

  • 今回は[Compute 管理者]に含まれる権限を調査したいので、フィルタリングしていきます

  • 下記の権限を選択していきます
    • compute.disk.create、compute.disk.list、compute.disk.delete、compute.disk.get

  • 下記のように、権限4つが追加されたことを確認し、[続行]を押下します

  • 今回は[クエリに一致するリソース内のリソースを一覧表示します]にチェックします
    • こちらをオンにすると、指定したリソースに属するすべての該当リソースが、クエリ結果に含まれるようになります
  • [Analyze]を選択し、[クエリを実行]を押下します

分析結果の表示

  • 画面が遷移し、下記画像のようにクエリで指定した条件の元で、結果が表示されます
  • [バインディングを表示]押下すると、そのロールを持つユーザーをJSON形式で確認できます

【バインディングを表示で確認】

まとめ

今回は機能紹介も含めて、Policy Analyzerのデモを行いました。
基礎的な方法の解説になりましたので、今後は特定の時間にのみアクセス権を付与する場合やプリンシパルがどのリソースに対し特定のロールまたは権限を持つかなどの調査もできるので、機会があればブログにまとめたいと思います。

健康的な余談

タンパク質は体重×1gは毎日摂取しよう

私が元トレーナーなので、趣味でたまにブログの最後に、健康の雑学を入れます。

国から推奨されている、1日のタンパク質摂取の基準値体重×0.8gですが、個人的には体重が変動してもわかりやすいように1gを推しています。
体内にはアミノ酸プールという、タンパク質を使い回す場所があるのですが、それプラス外部からの摂取を合わせて1日に必要なタンパク質の量を考えます。

なぜ1g必要なの??と思うかも知れませんが、体のほぼ全てのものには、材料としてタンパク質が使われているため、不足すると健康の悪化(ホルモン分泌や免疫低下など)や美容の低減(肌や爪、髪など)につながるのです。

70kgの方なら、最低でも70g/日は意識して、タンパク質を体内に取り込みましょう。