デバイスに基づいたアクセスレベルの作成

このページでは、Access Context Manager を使用してデバイスに基づいたアクセスレベルを作成する方法について説明します。

Identity-Aware Proxy(IAP)で保護されたリソースにアクセスレベルを適用する方法については、コンテキストアウェア アクセスのドキュメントをご覧ください。

概要

アクセスレベルは、発生源に基づいてリクエストに割り当てられた属性のセットです。デバイスタイプなどの情報を使用して、付与するアクセスレベルを指定できます。たとえば、暗号化されたドライブのあるデバイスには「High_Trust」レベルを割り当て、画面ロックのみが設定されたデバイスには「Medium_Trust」を割り当てます。

Endpoint Verification を設定すると、アクセスレベルによってデバイス情報が収集、参照されます。

アクセスレベルは、IAP で保護されたリソースに Identity and Access Management(IAM)条件として追加すると適用されます。 このプロセスは、アプリとリソースを保護するためのコンテキスト アウェア アクセスの一部です。

詳細については、Access Context Manager の概要をご覧ください。

始める前に

  • 次のいずれかの役割が付与されている必要があります。

    • Access Context Manager 管理者
    • Access Context Manager 編集者
    • Access Context Manager 読み取り
  • Endpoint Verification を設定します。

アクセスレベルの作成

次の手順では、デバイスに基づいたアクセスレベルを作成します。

この例では、暗号化されたデバイス ストレージがある場合にのみユーザーがリソースにアクセスできるよう、アクセスレベルを作成するとします。

コンソール

  1. Cloud Console で [Access Context Manager] ページに移動します。

    [Access Context Manager] ページに移動

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

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

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

  5. [ストレージの暗号化] プルダウンをクリックし、[暗号化あり] を選択します。このルールは、従業員のデバイスで Endpoint Verification が設定された場合にのみ機能します。

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

gcloud

  1. デバイス ポリシー属性が含まれるアクセスレベルの .yaml ファイルを作成します。

    この例では、暗号化されたデバイス ストレージを使用するユーザーのみにアクセスを許可するために、.yaml ファイルに次のように入力します。

    - devicePolicy:
        allowedEncryptionStatuses
          - ENCRYPTED
    

    デバイス ポリシーのアクセスレベル属性とその YAML 形式の一覧については、デバイス ポリシー属性をご覧ください。使用可能なすべての属性を含む包括的な YAML ファイルについては、こちらのアクセスレベル YAML ファイルの例をご覧ください。

    devicePolicy ルールは、従業員のデバイスでエンドポイントの確認が設定された場合にのみ機能します。

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

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

    gcloud access-context-manager levels create NAME \
       --title TITLE \
       --basic-level-spec CONDITIONS.yaml \
       --policy=POLICY_NAME
    

    ここで

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

    • TITLE は人が読める形式のタイトルです。タイトルはポリシーに固有のものでなければなりません。

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

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

    Create request issued for: NAME
    Waiting for operation [accessPolicies/POLICY_NAME/accessLevels/NAME/create/1521594488380943] to complete...done.
    Created level NAME.
    

API

  1. AccessLevel リソースを作成するためのリクエスト本文を作成します。

    この例では、暗号化されたデバイス ストレージを使用するユーザーのみにアクセスを許可するために、.yaml ファイルに次のように入力します。

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
         "devicePolicy": [
           "allowedEncryptionStatuses": [
             "ENCRYPTED"
           ]
         ]
         }
       ]
     }
    }
    

    ここで

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

    • TITLE は人が読める形式のタイトルです。タイトルはポリシーに固有のものでなければなりません。

    デバイス ポリシーのアクセスレベル属性とその YAML 形式の一覧については、デバイス ポリシー属性をご覧ください。使用可能なすべての属性を含む包括的な YAML ファイルについては、こちらのアクセスレベル YAML ファイルの例をご覧ください。

  2. accessLevels.create を呼び出してアクセスレベルを作成します。

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

    ここで

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

アクセスレベルの適用

アクセスレベルを作成したら、IAP で保護されたリソースにそのアクセスレベルを適用して有効にする必要があります。これは、Google Cloud リソースをコンテキストアウェアにする手順の一部です。

  1. IAP でリソースを保護する

  2. リソースにアクセスレベルを適用する