アクセスレベルの管理

このページでは、既存のアクセスレベルを管理する方法について説明します。次のことが可能です。

始める前に

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

    または

    ポリシーの名前を入手する。ポリシー名は、gcloud コマンドライン ツールを使用して API 呼び出しを行うコマンドに必要です。デフォルトのアクセス ポリシーを設定する場合は、gcloud コマンドライン ツールのポリシーを指定する必要はありません。

  • アクセスレベルを管理できる、組織レベルの Identity and Access Management(IAM)の役割を持っていることを確認してください。管理者に、次のいずれかの役割の付与、または同じ権限を持つカスタム役割の割り当てを依頼します。

アクセスレベルを一覧表示する

Console

すべてのアクセスレベルを一覧表示するには、Google Cloud コンソールの [Access Context Manager] ページを開き、プロンプトが表示されたら組織を選択します。組織のアクセスレベルは、各アクセスレベルの構成に関する詳細を含めて、ページ上のグリッドに表示されます。

[Access Context Manager] ページを開く

gcloud

すべてのアクセスレベルを一覧表示するには、list コマンドを使用します。

gcloud access-context-manager levels list \
  [--policy=POLICY_NAME]

ここで

出力は、以下のようになります。

NAME             TITLE                  LEVEL_TYPE
Device_Trust     Device_Trust Extended  Basic
Service_Group_A  Service_Group_A        Basic

API

ポリシーのすべてのアクセスレベルを一覧表示するには、accessLevels.list を呼び出します。

GET https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels

ここで

  • POLICY_NAME は組織のアクセス ポリシーの名前です。

リクエストの本文

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

オプション パラメータ

必要に応じて、次のクエリ パラメータを 1 つ以上含めます。

パラメータ
pageSize

number

デフォルトでは、accessLevels.list によって返されるアクセスレベルのリストはページ分けされます。各ページは 100 のアクセスレベルに制限されています。

このパラメータを使用して、ページごとに返されるアクセスレベルの数を変更できます。

pageToken

string

呼び出しによって返されたアクセスレベルの数がページサイズを超えた場合、レスポンスの本文にページトークンが含まれます。

このパラメータを後続の呼び出しで使用して、結果の次のページを取得できます。

accessLevelFormat

enum(LevelFormat)

通常、アクセスレベルは、BasicLevel または CustomLevel として定義されているとおりに返されます。

このパラメータに値 CEL を指定して、Cloud Common Expression Language で BasicLevelsCustomLevels として返すことができます。

レスポンスの本文

成功した場合、呼び出しのレスポンス本文に、アクセスレベルを一覧表示する AccessLevels オブジェクトと nextPageToken 文字列が含まれています。nextPageToken は、返されるアクセスレベルの数がページサイズを超えた場合にのみ値を持ちます。それ以外の場合、nextPageToken は空の文字列として返されます。

アクセスレベルを一覧表示する(形式)

gcloud コマンドライン ツールを使用すると、YAML または JSON 形式でアクセスレベルのリストを取得できます。

アクセスレベルの整形されたリストを取得するには、list コマンドを使用します。

gcloud access-context-manager levels list \
  --format=FORMAT \
  [--policy=POLICY_NAME]

ここで

  • FORMAT は次のいずれかの値です。

    • list(YAML 形式)

    • json(JSON 形式)

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

YAML 出力は、以下のようになります。

- basic: {'conditions': [{'ipSubnetworks': ['8.8.0/24']}]}
  description: Level for corp access.
  name: accessPolicies/165717541651/accessLevels/corp_level
  title: Corp Level
- basic: {'combiningFunction': 'OR', 'conditions': [{'ipSubnetworks': ['8.8.0/24']}]}
  description: Level for net access.
  name: accessPolicies/165717541651/accessLevels/net_level
  title: Net Level

JSON 出力は、以下のようになります。

[
  {
    "basic": {
      "conditions": [
        {
          "ipSubnetworks": [
            "8.8.0/24"
          ]
        }
      ]
    },
    "description": "Level for corp access.",
    "name": "accessPolicies/165717541651/accessLevels/corp_level",
    "title": "Corp Level"
  },
  {
    "basic": {
      "combiningFunction": "OR",
      "conditions": [
        {
          "ipSubnetworks": [
            "8.8.0/24"
          ]
        }
      ]
    },
    "description": "Level for net access.",
    "name": "accessPolicies/165717541651/accessLevels/net_level",
    "title": "Net Level"
  }
]

アクセスレベルを説明する

Console

Google Cloud コンソールを使用してアクセスレベルを一覧表示する手順をご覧ください。アクセスレベルを一覧表示すると、表示されるグリッドに詳細が表示されます。

gcloud

アクセスレベルの一覧表示では、名前、タイトル、レベルの種類のみが表示されます。レベルの実際の動作に関する詳細情報を取得するには、describe コマンドを使用します。

gcloud access-context-manager levels describe LEVEL_NAME \
    [--policy=POLICY_NAME]

ここで

  • LEVEL_NAME は、説明するアクセスレベルの名前です。

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

このコマンドでは、レベルに関する情報を YAML 形式で印刷します。たとえば、レベルによって特定のオペレーティング システム バージョンへのアクセスが制限されている場合、出力は次のようになります。

basic:
  conditions:
  - devicePolicy:
      allowedEncryptionStatuses:
      - ENCRYPTED
      osConstraints:
      - minimumVersion: 10.13.6
        osType: DESKTOP_MAC
      - minimumVersion: 10.0.18219
        osType: DESKTOP_WINDOWS
      - minimumVersion: 68.0.3440
        osType: DESKTOP_CHROME_OS
      requireScreenlock: true
name: accessPolicies/330193482019/accessLevels/Device_Trust
title: Device_Trust Extended

API

アクセスレベルの一覧表示では、レベルの名前、タイトル、種類のみが表示されます。 アクセスレベルに関する詳細情報を取得するには、accessLevels.get を呼び出します。

GET https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME

ここで

  • POLICY_NAME は組織のアクセス ポリシーの名前です。

  • LEVEL_NAME は、説明するアクセスレベルの名前です。

リクエストの本文

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

オプション パラメータ

必要に応じて、accessLevelFormat クエリ パラメータを含めます。通常、アクセスレベルは、BasicLevel または CustomLevel として定義されているとおりに返されます。

このパラメータに値 CEL を指定して、Cloud Common Expression Language で BasicLevelsCustomLevels として返すことができます。

レスポンスの本文

成功した場合、呼び出しのレスポンス本文に、アクセスレベルで行われる内容、最後にレベルが更新されたのはいつかなどについての詳細を含めて AccessLevel リソースが含まれています。

アクセスレベルを更新する

このセクションでは、個々のアクセスレベルを更新する方法について説明します。1 つのオペレーションで組織のすべてのアクセスレベルを更新するには、アクセスレベルの一括変更をご覧ください。

Console

アクセスレベルを更新するには、次の手順を行います。

  1. Google Cloud コンソールで [Access Context Manager] ページを開きます。

    [Access Context Manager] ページを開く

  2. プロンプトが表示されたら、組織を選択します。

  3. グリッドで、更新するアクセスレベルの名前をクリックします。

  4. [アクセスレベルの編集] ウィンドウで、アクセスレベルを変更します。

    追加または変更できる属性の完全なリストについては、アクセスレベルの属性をお読みください。

  5. [保存] をクリックします。

    既存の条件の更新や削除だけでなく、新しい条件を追加したり、既存の条件に新しい属性を追加したりできます。

gcloud

アクセスレベルを更新するには、update コマンドを使用します。

ベーシック アクセスレベル:

gcloud access-context-manager levels update LEVEL_NAME \
    --basic-level-spec=FILE \
    [--policy=POLICY_NAME]

カスタム アクセスレベル:

gcloud access-context-manager levels update LEVEL_NAME \
    --custom-level-spec=FILE \
    [--policy=POLICY_NAME]

ここで

  • LEVEL_NAME は、更新するアクセスレベルの名前です。

  • FILE は、アクセスレベルの条件を定義する(ベーシック アクセスレベルの場合)、または単一のブール値に解決される CEL 式を定義する(カスタム アクセスレベルの場合)、.yaml ファイルの名前です。

    ベーシック アクセスレベル条件で使用できる属性の完全なリストについては、アクセスレベルの属性をお読みください。

  • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

  • 以下のオプションを 1 つ以上指定できます。

    オプション
    combine-function

    このオプションはベーシック アクセスレベルでのみ使用します。

    条件を組み合わせる方法を決定します。

    有効な値: ANDOR

    description

    アクセスレベルの詳細な説明。

    title

    アクセスレベルの短いタイトル。アクセスレベルのタイトルは Google Cloud コンソールに表示されます。

    gcloud 向けフラグを含めることが可能です。

コマンドの例

gcloud access-context-manager levels update Device_Trust \
    --basic-level-spec=corpdevspec.yaml \
    --combine-function=OR \
    --description='Access level that conforms to updated corporate spec.' \
    --title='Device_Trust Extended' \
    --policy=1034095178592

API

アクセスレベルを更新するには、accessLevels.patch を呼び出します。

PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME?updateMask=FIELDS

ここで

  • POLICY_NAME は組織のアクセス ポリシーの名前です。

  • LEVEL_NAME は、説明するアクセスレベルの名前です。

  • FIELDS は、更新中の完全修飾されたフィールド名のカンマ区切りリストです。

リクエストの本文

リクエストの本文には、アクセスレベルに加える変更を指定する AccessLevel リソースを含める必要があります。

レスポンスの本文

成功した場合、呼び出しのレスポンス本文に PATCH 操作に関する詳細を提供する Operation リソースが含まれます。

アクセスレベルを削除する

Console

アクセスレベルを削除するには、次の手順を行います。

  1. Google Cloud コンソールで [Access Context Manager] ページを開きます。

    [Access Context Manager] ページを開く

  2. プロンプトが表示されたら、組織を選択します。

  3. グリッドで、削除するアクセスレベルの行のボタンをクリックします。

  4. [削除] をクリックします。

  5. 表示されるダイアログ ボックスで、アクセスレベルを削除することを確認します。

gcloud

アクセスレベルを削除するには、次の手順を行います。

  1. アクセスレベルを削除するには、delete コマンドを使用します。

    gcloud access-context-manager levels delete LEVEL_NAME \
        [--policy=POLICY_NAME]
    

    ここで

    • LEVEL_NAME は、削除するアクセスレベルの名前です。

    • POLICY_NAME は組織のアクセス ポリシーの名前です。この値は、デフォルトのアクセス ポリシーを設定していない場合にのみ必要です。

  2. アクセスレベルを削除することを確認します。

    例:

    You are about to delete level Device_Trust
    
    Do you want to continue (Y/n)?
    
    
    You should see output similar to the following:
    
    
    Waiting for operation [accessPolicies/330193482019/accessLevels/Device_Trust/delete/1531171874311645] to complete...done.
    Deleted level [Device_Trust].
    

API

アクセスレベルを削除するには、accessLevels.delete を呼び出します。

DELETE https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME

ここで

  • POLICY_NAME は組織のアクセス ポリシーの名前です。

  • LEVEL_NAME は、説明するアクセスレベルの名前です。

リクエストの本文

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

レスポンスの本文

成功した場合、呼び出しのレスポンス本文に削除オペレーションに関する詳細を説明する Operation リソースが含まれています。