Back

必要な権限 (GCP)

Google CloudOld PlanNew PlanLegacyUsage

概要

GCPでWafCharmを利用するために必要な権限とその設定手順を記載します。

必要な権限

Cloud Armor への read / write 権限と Logging 機能へのアクセス権限が必要です。

  • compute.backendServices.list
  • compute.securityPolicies.list
  • compute.securityPolicies.get
  • compute.securityPolicies.update
  • ログ閲覧者(GCP のデフォルトロール)
  • ログフィールド アクセス者(GCP のデフォルトロール)
  • ログ表示アクセス者(GCP のデフォルトロール)

カスタムロール

以下の2つは、Listするための権限として必要です。 カスタムロールを作成した後、サービスアカウントへ付与します。

  • compute.backendServices.list
  • compute.securityPolicies.list

以下の2つは、Updateするための権限として必要です。 カスタムロールを作成した後、サービスアカウントへ付与します。

  • compute.securityPolicies.get
  • compute.securityPolicies.update

デフォルトロール

以下の3つは、GCPがデフォルトで提供しているロールです。 Logging機能への権限として必要となります。

デフォルトで存在するロールのため、サービスアカウントへ直接付与します。

  • ログ閲覧者(GCP のデフォルトロール)
  • ログフィールド アクセス者(GCP のデフォルトロール)
  • ログ表示アクセス者(GCP のデフォルトロール)

全体の流れ

  1. List権限用のカスタムロールを作成する
  2. Get/Update権限用のカスタムロールを作成する
  3. サービスアカウントを作成する
  4. 先ほど作成したカスタムロール2つと、上記のGCPのデフォルトロール3つをサービスアカウントへ付与する
  5. (任意)「Get/Update権限のカスタムロール」にIAMの条件を追加する
  6. (任意)「ログ表示アクセス者」にIAMの条件を追加する
  7. サービスアカウントのキーをJSON形式で取得する

手順

  1. Google Cloudを開く
  2. [IAMと管理]を開く
  3. 左のメニューにて[ロール]をクリックする
  4. [ロールを作成]をクリックする
  5. タイトルを入力する

    わかりやすいタイトルを入力することを推奨します。

  6. [権限を追加]をクリックする
  7. [フィルタ]に以下のList権限2点を入力し、選択する
    • compute.backendServices.list
    • compute.securityPolicies.list
  8. [追加]をクリックする

    以下のスクリーンショットのようにList権限が2つ追加された状態になります。

  9. [作成]をクリックする
  10. 同様の手順で別のロールを作成する

    ※ロールのタイトルはList権限とは異なる内容にします。

  11. 以下の権限2点を選択する
    • compute.securityPolicies.get
    • compute.securityPolicies.update
  12. [追加]をクリックする

    以下のスクリーンショットのように権限が2つ追加された状態になります。

  13. [作成]をクリックする
  14. [IAMと管理]を開く
  15. 左のメニューにて[サービス アカウント]をクリックする
  16. [サービス アカウントを作成]をクリックする
  17. サービスアカウント名を入力し、[作成して続行]をクリックする
  18. [ロールを選択]および[別のロールを追加]を用いて、以下のロールを付与する
    • 先ほど作成したList権限のカスタムロール
    • 先ほど作成したUpdate権限のカスタムロール
    • ログ閲覧者(GCP のデフォルトロール)
    • ログフィールド アクセス者(GCP のデフォルトロール)
    • ログ表示アクセス者(GCP のデフォルトロール)

    カスタムロールは、[ロールを選択]をクリックした後[カスタム]を選択し、それぞれのカスタムロールを追加します。

    GCPのデフォルトロールは、以下のスクリーンショットの通りフィルタに名前を入力し追加します。

    すべてのロールを追加すると、以下のスクリーンショットのようにそれぞれのロールが選択された状態になります。

  19. 「Get/Update権限のカスタムロール」の右側にある[IAMの条件を追加]をクリックし、IAMの条件を保存する

    ※本手順は必須ではありません。条件の指定が不要な場合には、スキップして手順21から再開してください。

    条件のタイトルを入力し、以下の項目を設定します。

    • 条件タイプ: 名前
    • オペレーター: =
    • 値:projects/PROJECT_NAME/global/securityPolicies/SECURITY_POLICY_NAME

      ※PROJECT_NAMEとSECURITY_POLICY_NAMEは対象のリソースにあわせて変更してください。

  20. 「ログ表示アクセス者」の右側にある[IAMの条件を追加]をクリックし、上記と同じようにIAMの条件を保存する

    ※本手順は必須ではありません。条件の指定が不要な場合には、スキップして手順21から再開してください。

    条件のタイトルを入力し、以下の項目を設定します。

    • 条件タイプ: 名前
    • オペレーター: =
    • 値:projects/PROJECT_NAME/locations/REGION/buckets/BUCKET_NAME/views/_AllLogs

      ※PROJECT_NAME, REGION, BUCKET_NAMEは対象のリソースにあわせて変更してください。

    手順19、20でIAMの条件を追加すると、以下のスクリーンショットのように「Get/Update権限のカスタムロール」と「ログ表示アクセス者」の隣にIAMの条件の名前が表示されます。

  21. [完了]をクリックする
  22. [サービス アカウント]画面を開く
  23. 先ほど作成したサービスアカウントの名前をクリックする
  24. [キー]をクリックする
  25. [鍵を追加]から[新しい鍵を作成]をクリックする
  26. [JSON]を選択し、[作成]をクリックする

    JSONファイルが自動的にダウンロードされます。重要な情報になりますので、大切に保管してください。このJSON形式のキーは、後ほどSecurity Policy Configの設定手順で使用します。