ベーシック アクセスレベルの作成

このページでは、ベーシック アクセスレベルの作成方法ついて説明します。カスタム アクセスレベルを作成して Google Cloud コンソールで詳細モードを使用するには、カスタム アクセスレベルの作成をご覧ください。

このページでは、アクセスレベルの具体的な実装方法について説明します。次の例をご覧ください。

始める前に

ベーシック アクセスレベルを作成する

コンソール

ベーシック アクセスレベルを作成するには:

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

    [Access Context Manager] ページを開く

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

  3. [Access Context Manager] ページの上部にある [新規] をクリックします。

  4. [新しいアクセスレベル] パネルで、次の操作を行います。

    1. [アクセスレベルのタイトル] フィールドに、アクセスレベルのタイトルを入力します。 タイトルは最大 50 文字です。先頭は英字にしてください。その後には、数字、英字、アンダースコア、スペースのみ使用できます。

    2. [条件] セクションで、追加する属性のタイプの追加ボタンをクリックし、その属性に適用する値を指定します。

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

      たとえば、ネットワーク内のどこからリクエストが発信されているかをアクセスレベルで考慮する場合は、[IP サブネットワーク] 属性を選択します。

      同じ条件に複数の属性を追加するには、この手順を繰り返します。 条件に複数の属性を設定した場合は、それらすべての属性を満たしているアクセス リクエストのみが対象になります。

      アクセスレベル条件には、それぞれの属性タイプを 1 つずつ指定できます。[Device Policy] 属性などの一部の属性では、追加オプションも設定できます。

      アクセスレベルでは、ユーザー ID に基づく条件がサポートされています。ただし、条件に ID を追加するには、gcloud CLI または API を使用してアクセスレベルを作成または更新する必要があります。

    3. [条件が満たされている場合に返す] オプションを使用して、リクエストが指定された属性をすべて満たすことを条件とするかどうか(TRUE)、またはリクエストがこれらの属性以外を満たす必要があるかどうか(FALSE)を設定します。

      たとえば、ネットワークの特定の IP アドレス範囲からのリクエストを拒否する場合は、IP サブネットワーク属性を使用して IP アドレス範囲を指定し、条件を FALSE に設定します。

    4. 必要に応じて、[ADD ANOTHER CONDITION] をクリックしてアクセスレベルに条件を追加してから、前の 2 つの手順を繰り返します。

      たとえば、より広い IP アドレス範囲内の IP アドレスのサブセットへのアクセスを拒否する場合は、新しい条件を作成し、IP サブネットワーク属性にサブセット IP アドレス範囲を指定して、FALSE を返すように条件を設定します。

      同じアクセスレベルに複数の条件を追加するには、この手順を繰り返します。

    5. 複数の条件を作成した場合は、[Combine condition with] を使用して、アクセスレベルで 1 つの条件のみ(OR)、またはすべての条件(AND)を満たすリクエストが必要かどうかを指定します。

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

gcloud

始める前に

gcloud コマンドライン ツールを使用してアクセスレベルを作成するには、gcloud access-context-manager levels create コマンドを使用します。

gcloud access-context-manager levels create LEVEL_NAME OPTIONS \
    --policy=POLICY

ここで

  • LEVEL_NAME はアクセスレベルの一意の名前です。先頭は英字にしてください。その後には英字、数字、アンダースコアのみ使用できます。名前は、最大 50 文字です。

  • OPTIONS は必須オプションです。次の表に示す複数のオプションから構成されます。

    オプション
    basic-level-spec

    アクセスレベルの 1 つ以上の条件を指定する YAML ファイル

    title

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

    combine-function

    (省略可)条件を組み合わせる方法を指定します。

    有効な値: ANDOR

    description

    (省略可)アクセスレベルの詳細な説明。

  • POLICY は、組織のアクセス ポリシーの ID です。デフォルトのポリシーが設定されている場合、このパラメータは省略できます。

必要に応じて、gcloud の各フラグを含めることもできます。

basic-level-spec YAML ファイル

gcloud コマンドライン ツールを使用してアクセスレベルを作成するときは、basic-level-spec オプションに YAML ファイルを指定する必要があります。YAML ファイルは、アクセスレベルの 1 つ以上の条件を定義します。条件には少なくとも 1 つの属性を含める必要があります。条件に複数の属性が含まれる場合、AND 演算(すべてが true であること)または NAND 演算(true を含めないこと)として組み合わせてることができます。これは、条件に negate 属性が含まれているかどうかによって異なります。

YAML ファイルに含めることが可能な属性の完全なリストについては、アクセスレベルの属性をお読みください。

アクセスレベルと YAML の詳細については、アクセスレベルの YAML の例をご覧ください。

コマンドの例

gcloud access-context-manager levels create Device_Trust \
    --basic-level-spec=corpdevspec.yaml \
    --combine-function=AND \
    --description='Access level that conforms to corporate spec.' \
    --title='Device_Trust Extended' \
    --policy=1521580097614100

API

始める前に

アクセスレベルを作成するには、accessLevels.create を呼び出します。

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

ここで

  • POLICY は、組織のアクセス ポリシーの ID です。

リクエストの本文

リクエスト本文には、新しいアクセスレベルに必要な条件を指定する AccessLevel リソースを含める必要があります。 それぞれの Condition に、AND 演算(すべて true であること)または NAND 演算(true を含めないこと)として評価される属性が 1 つ以上含まれます。これは、negate フィールドが true に設定されているかどうかによって異なります。結果の評価により、条件が満たされているかどうかが判別されます。

レスポンスの本文

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

実装の例

次の例では、組織がアクセスレベルを実装する際に採用できる、いくつかの実用的な手法について説明します。こうした例では、組織がすでにアクセス ポリシーを実施していることを想定しています。

企業ネットワークへのアクセスを制限する

この例では、指定された範囲の IP アドレス(企業ネットワーク内のアドレスなど)からのアクセスのみを許可するアクセスレベル条件の作成方法について説明します。

アクセスが許可される IP アドレスの範囲を制限することで、組織の内外にいる攻撃者がデータを入手することを困難にします。

この例では、sensitive-data という名前のプロジェクトの Cloud Logging サービスに、内部監査者のグループがアクセスできるようなアクセスレベルを作成すると仮定します。監査者用のすべてのデバイスには、203.0.113.0 から 203.0.113.127 の範囲にあるサブネット上の IP が割り当てられています。監査者が使用しているデバイス以外は、そのサブネットに割り当てられません。

プライベート IP アドレス範囲(192.168.0.0/16172.16.0.0/12 など)を使用する場合は、追加情報と VPC Service Controls を使用した実装例について、内部 IP アドレスから保護されたリソースへのアクセスを許可するをご覧ください。

コンソール

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

    [Access Context Manager] ページを開く

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

  3. [Access Context Manager] ページの上部にある [新規] をクリックします。

  4. [新しいアクセスレベル] パネルの [条件] セクションで、[属性を追加]、[IP サブネットワーク] の順にクリックします。

  5. [IP サブネットワーク] ボックスで、[パブリック IP] または [プライベート IP] を選択します。

    • [パブリック IP] を選択した場合は、CIDR ブロックとしてフォーマットされた 1 つ以上の IPv4 または IPv6 の範囲を入力します。

      この例では、アクセス権を監査者だけに制限するために、[IP サブネットワーク] ボックスに「203.0.113.0/25」と入力します。

    • [プライベート IP] を選択した場合は、[VPC ネットワークを選択] をクリックします。VPC ネットワークは、[インポート オプション] リストで使用可能な 3 つのオプションのいずれかを使用して指定できます。

      • オプション 1:

        1. [組織内の VPC ネットワークを閲覧する] を選択し、VPC ネットワークを選択します。

        2. [選択した VPC ネットワークを追加] をクリックします。

        3. [IP サブネットを選択] をクリックし、サブネットを選択します。

        4. [IP サブネットを追加] をクリックします。

      • オプション 2:

        1. [VPC ネットワーク アドレスを手動で入力する] を選択し、1 つ以上の VPC ネットワークを入力します。

        2. [VPC ネットワークを追加] をクリックします。

        3. [IP サブネットを選択] をクリックし、サブネットを選択します。

        4. [IP サブネットを追加] をクリックします。

      • オプション 3:

        1. CSV ファイルのアップロード(既存のネットワークの上書き)を選択します。

          CSV ファイルを使用して VPC ネットワークとサブネットをアクセスレベルに追加すると、Access Context Manager は、以前に選択した VPC ネットワークとサブネットを上書きします。

        2. [参照] をクリックして、CSV ファイルをアップロードします。CSV ファイルで、VPC ネットワークとサブネットを次の形式で指定する必要があります。

          VPC_NETWORK_NAME_1       | IP_RANGE_1       | IP_RANGE_2       | ...
          VPC_NETWORK_NAME_2       | .                | .                | ...
          .                        | .                | .                | ...
          .                        | .                | .                | ...
          
        3. [ネットワークをインポート] をクリックします。

          Access Context Manager は、CSV ファイルを使用して、[VPC ネットワーク アドレス] ボックスと [IP サブネットワーク] ボックスに VPC ネットワーク名とサブネット情報をそれぞれ入力します。

      VPC ネットワーク名とプライベート IP アドレスの形式については、アクセスレベルで内部 IP アドレスを使用するをご覧ください。

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

gcloud

  1. CIDRブロックとしてフォーマットされた 1 つ以上の IPv4 または IPv6 の範囲が含まれるアクセスレベルの YAML ファイルを作成します。

    この例では、アクセス権を監査者だけに制限するために、YAML ファイルに次のように入力します。

    - ipSubnetworks:
      - 203.0.113.0/25
    

    プライベート IP アドレスを使用する場合は、YAML ファイルに次の情報を入力する必要があります。

    - vpcNetworkSources:
      - vpcSubnetwork:
          network: VPC_NETWORK_NAME
          vpcIpSubnetworks:
          - IP_RANGE
    

    VPC_NETWORK_NAMEIP_RANGE は、アクセスレベルで内部 IP アドレスを使用するセクションで説明されている値に置き換えます。

  2. ファイルを保存します。この例では、ファイルの名前は CONDITIONS.yaml です。

  3. アクセスレベルを作成します。

    gcloud access-context-manager levels create NAME