アクセス ポリシーを管理する

このページでは、既存のアクセス ポリシーを管理する方法を説明します。以下の操作を行います。

アクセス ポリシーの名前と etag を取得する

コンソール

Google Cloud コンソールは、アクセス ポリシーの管理をサポートしていません。アクセス ポリシーを管理する場合は、gcloud コマンドライン ツールまたは API を使用する必要があります。

gcloud

アクセス ポリシーの名前を取得するには、list コマンドを使用します。アクセス ポリシー名は、gcloud コマンドライン ツールのすべてのアクセスレベル コマンドに必要です。

gcloud access-context-manager policies list \
    --organization ORGANIZATION_ID

ここで

  • ORGANIZATION_ID は組織の数値 ID です。

次のような出力が表示されます。

NAME           ORGANIZATION  TITLE        ETAG
1034095178592  511928527926  Corp Policy  10bc3c76ca809ab2

API

アクセス ポリシーの名前を取得するには、accessPolicies.list を呼び出します。

GET https://accesscontextmanager.googleapis.com/v1/accessPolicies

リクエストの本文

リクエストの本文は空にする必要があります。

レスポンスの本文

成功すると、レスポンスの本文は次のようになります。

{
  "accessPolicies": [
    {
      object(AccessPolicy)
    }
  ],
  "nextPageToken": string
}

ここで

gcloud コマンドライン ツールのデフォルトのアクセス ポリシーを設定する

gcloud コマンドライン ツールを使用する場合は、デフォルトのアクセス ポリシーを設定できます。デフォルト ポリシーを設定すると、Access Context Manager コマンドを使用するたびにポリシーを指定する必要がなくなります。

デフォルト アクセス ポリシーを設定するには、config コマンドを使用します。

gcloud config set access_context_manager/policy POLICY_NAME

ここで

  • POLICY_NAME は、アクセス ポリシーの数値名です。

アクセス ポリシーを委任する

コンソール

Google Cloud コンソールは、アクセス ポリシーの管理をサポートしていません。アクセス ポリシーを管理する場合は、gcloud コマンドライン ツールまたは API を使用する必要があります。

gcloud

プリンシパルとロールをスコープ アクセス ポリシーにバインドして管理を委任するには、add-iam-policy-binding コマンドを使用します。

gcloud access-context-manager policies add-iam-policy-binding \
[POLICY] --member=PRINCIPAL --role=ROLE

ここで

  • POLICY は、ポリシーの ID または完全修飾 ID です。

  • PRINCIPAL は、バインディングを追加するプリンシパルです。user|group|serviceAccount:email または domain:domain の形式で指定します。

  • ROLE は、プリンシパルに割り当てるロール名です。ロール名は、事前定義ロールの完全なパス(roles/accesscontextmanager.policyEditor など)またはカスタムロールのロール ID(organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyEditor など)です。

API

スコープ アクセス ポリシーの管理を委任するには、次の操作を行います。

  1. リクエストの本文を作成します。

    {
    "policy": "IAM_POLICY",
    }

    ここで

    • IAM_POLICY はバインディングのコレクションです。バインディングは、1 つ以上のメンバー(またはプリンシパル)を 1 つのロールにバインドします。プリンシパルは、ユーザー アカウント、サービス アカウント、Google グループ、ドメインです。ロールは権限の名前付きリストです。各ロールは、IAM 事前定義ロールまたはユーザー作成のカスタムロールです。
  2. accessPolicies.setIamPolicy を呼び出して、アクセス ポリシーを委任します。

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
    

レスポンスの本文

成功した場合、レスポンスの本文には policy のインスタンスが含まれます。

アクセス ポリシーについて説明する

コンソール

Google Cloud コンソールは、アクセス ポリシーの管理をサポートしていません。アクセス ポリシーを管理する場合は、gcloud コマンドライン ツールまたは API を使用する必要があります。

gcloud

アクセス ポリシーを説明するには、describe コマンドを使用します。

gcloud access-context-manager policies describe POLICY_NAME

ここで

  • POLICY_NAME はポリシーの数値名です。

次の出力が表示されます。

name: accessPolicies/1034095178592
parent: organizations/511928527926
title: Corp Policy

API

アクセス ポリシーを説明するには、accessPolicies.get を呼び出します

GET https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME

ここで

  • POLICY_NAME はポリシーの数値名です。

リクエストの本文

リクエストの本文は空にする必要があります。

レスポンスの本文

成功した場合、レスポンスの本文には AccessPolicy オブジェクトが含まれます。

アクセス ポリシーを更新する

コンソール

Google Cloud コンソールは、アクセス ポリシーの管理をサポートしていません。アクセス ポリシーを管理する場合は、gcloud コマンドライン ツールまたは API を使用する必要があります。

gcloud

アクセス ポリシーを更新するには、update コマンドを使用します。現在、ポリシーのタイトルのみを変更できます。

gcloud access-context-manager policies update POLICY_NAME \
    --title=POLICY_TITLE

ここで

  • POLICY_NAME はポリシーの数値名です。

  • POLICY_TITLE は、人が読める形式のポリシー タイトルです。

次の出力が表示されます。

Waiting for PATCH operation [accessPolicies/POLICY_NAME/update/1542234231134882]...done.

API

現在、アクセス ポリシーのタイトルのみを変更できます。

ポリシーを更新するには:

  1. リクエストの本文を作成します。

    {
     "parent": "ORGANIZATION_ID",
     "title": "POLICY_TITLE"
    }

    ここで

    • ORGANIZATION_ID は組織の数値 ID です。

    • POLICY_TITLE は、人が読める形式のポリシー タイトルです。

  2. accessPolicies.patch を呼び出します。

    PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/UPDATE_MASK
    

    ここで

    • POLICY_NAME はポリシーの数値名です。

    • UPDATE_MASK は、更新対象である値を表す文字列です。例: title

    レスポンスの本文

    成功した場合は、呼び出しのレスポンス本文に Operation リソースが含まれ、これにより PATCH オペレーションの詳細がわかります。

アクセス ポリシーを削除する

コンソール

現在、Google Cloud コンソールはアクセス ポリシーの管理をサポートしていません。アクセス ポリシーを管理する場合は、gcloud コマンドライン ツールまたは API を使用する必要があります。

gcloud

アクセス ポリシーを削除するには:

  1. delete コマンドを使用します。

    gcloud access-context-manager policies delete POLICY_NAME

    ここで

    • POLICY_NAME はポリシーの数値名です。
  2. アクセス ポリシーを削除することを確認します。

    例:

    You are about to delete policy [POLICY_NAME]
    
    Do you want to continue (Y/n)?
    

    次の出力が表示されます。

    Deleted policy [1034095178592].
    

API

アクセス ポリシーを削除するには、accessPolicies.delete を呼び出します。

DELETE https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME

ここで

  • POLICY_NAME はポリシーの数値名です。

リクエストの本文

リクエストの本文は空にする必要があります。

レスポンスの本文

成功した場合は、呼び出しのレスポンス本文に Operation リソースが含まれ、これにより DELETE オペレーションの詳細がわかります。

次のステップ