コンテキストアウェア アクセスレベルを作成する

コンテキストアウェア アクセスレベルは、ユーザーまたはデバイスのコンテキスト(状況)を定義する条件と値とを組み合わせたものです。これらのアクセスレベルによって、アプリにアクセスできるユーザーの要件が定義されます。

たとえば、Gmail へのアクセスに関するアクセスレベルを作成し、特定の範囲の IP アドレスから接続していることと、デバイスが暗号化されていることをユーザーの条件として定義できます。

注: アクセスレベルを作成する前に、Endpoint Verification を導入し、コンテキストアウェア アクセスを有効にする必要があります。詳しくは、コンテキストアウェア アクセスを実装するの「Endpoint Verification を設定し、コンテキストアウェア アクセスを有効にする」をご覧ください。

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

アクセスレベルは、管理者が定義する 1 つ以上の条件で構成されます。ユーザーがアプリにアクセスするには、そうした条件を満たす必要があります。アクセスレベルの条件には、デバイス ポリシーや IP サブネットなどの属性を指定できるほか、別のアクセスレベルを含めることもできます。

アクセスレベルは、基本と詳細の 2 種類のモードで作成できます。基本モードでは、定義済みの属性のリストが表示されるので、そこから適切な属性を選択します。インターフェースに表示されない属性を使用する必要がある場合は、代わりに詳細モードでカスタム アクセスレベルを作成します。

注: アクセスレベルを変更すると、その内容はすぐに反映されます。アクセスレベルの変更がすぐにユーザーに影響を与えることにご注意ください。変更内容が意図したとおりのものであることを確認します。

アクセスレベルを定義する - 基本モード

  1. [アクセスレベル] を選択します。
    定義済みのアクセスレベルのリストが表示されます。アクセスレベルは、Google Workspace と Google Cloud の間でリソースとして共有されるため、自分が作成していないアクセスレベルがリストに表示される場合もあります。アクセスレベルを作成したチームがわかるように、アクセスレベルの名前の一部にプラットフォームを入れておくことをおすすめします。
  2. 右上の [アクセスレベルを作成] を選択します。
    デフォルトでは基本モードが選択されています。1 つ以上の条件を追加してアクセスレベルを定義した後、1 つ以上の属性を指定して各条件を定義します。

    : Google Workspace のみを使用しているお客様には、コンテキストアウェア アクセスレベルを追加または変更する場合に、Google Cloud Platform(GCP)のインターフェースを使用しないことをおすすめします。コンテキストアウェア アクセスのインターフェース以外の方法でアクセスレベルを追加または変更すると、「Google Workspace でサポートされていない属性が使用されているため、ユーザーがブロックされる可能性があります」というエラー メッセージが表示されることがあります。

  3. アクセスレベルの名前を追加し、必要に応じて説明を入力します。
  4. 追加するアクセスレベルの各条件に対して、条件を満たすユーザーと条件に該当しないユーザーのどちらにアクセスを許可するのかを指定します。
    • 属性に該当する - 条件に記載されているすべての属性に該当するユーザーにアクセスを許可します。
    • 属性に該当しない - 条件に記載されているいずれの属性にも該当しないユーザーにアクセスを許可します。このオプションは条件とは逆の状態を指定するもので、IP サブネット属性で最もよく使用されます。たとえば、IP サブネットの属性と「以下の条件を満たしていない場合」を指定した場合、指定した範囲外の IP アドレスからアクセスするユーザーのみが条件と一致することになります。
  5. [属性を追加] をクリックして、アクセスレベルの条件に 1 つ以上の属性を追加します。以下の属性を追加できます。
    • IP サブネット(パブリック) - IPv4 もしくは IPv6 アドレス、または CIDR のブロック表記のルーティング プレフィックス。
      • この属性は、プライベート IP アドレス(ユーザーのホーム ネットワークを含む)をサポートしていません。
      • 静的 IP アドレスに対応しています。
      • 動的 IP アドレスを使用するには、アクセスレベルに静的 IP サブネットを定義する必要があります。動的 IP アドレスの範囲がわかっており、アクセスレベルで定義された静的 IP アドレスがその範囲に対応している場合は、アクセスが許可されます。定義された静的 IP サブネットに動的 IP アドレスが含まれない場合は、アクセスが拒否されます。
    • IP サブネット(プライベート) - Virtual Private Cloud(VPC)環境のプライベート IP サブネットを含むコンテキスト認識型アクセス ポリシーを定義できます。VPC を使用している組織の場合、この属性により、Workspace サービスへの安全なアクセスと、定義されたコンテキストアウェア アクセス ポリシーの遵守が保証されます。これは、VPC インフラストラクチャを介してサービスにアクセスするユーザーや、プライベート IP に依存する Apps Script にとって特に重要です。
      • この属性を使用するには、Google Cloud ネットワーク リソースを一覧表示するための Google Cloud コンソールの権限と、適切な Identity and Access Management(IAM)ロール(compute.networks.listcompute.subnetworks.list など)が必要です。
      • この属性は、マネージド VPC 環境内のプライベート IP サブネット専用です。ユーザーのホーム ネットワークや VPC 以外のプライベート範囲にあるような、一般的なプライベート IP アドレスには適用されません。
      • この属性を構成するには、アクセスレベル ビルダーで [IP サブネット(プライベート)] を選択します。Google Cloud コンソール プロジェクト、関連付けられた VPC ネットワーク、必要に応じて特定の VPC IP サブネット範囲を追加できます。これらのアクセスレベルを Google Cloud コンソールで設定する必要はありません。
      • ユーザー アクセスを評価する際は、Google サーバーにトラフィックを送信する VPC(リクエストの送信元 VPC とは限りません)が使用されます。
      • 管理コンソールでは現在、VPC 名と対応するサブネットの自由形式のテキスト編集がサポートされています。
      • VPC Service Controls を使用して Google Cloud リソースのセキュリティ境界を作成する場合、IP サブネット(プライベート)属性を使用する際に次の制限が適用されます。
        • 内部 IP アドレスは、ベーシック アクセスレベルでのみ有効にできます。詳細アクセスレベルでプライベート IP を使用するには、プライベート IP 条件のみを含むベーシック アクセスレベルを作成し、それを詳細アクセスレベルに含めます。
        • アクセスレベルの設定で、内部 IP アドレスをブロックしないでください。予期しない動作を引き起こす可能性があります。
        • 単一のアクセスレベルでパブリック IP 属性とプライベート IP 属性を組み合わせることはできません。両方が必要な場合は、それぞれに個別のアクセスレベルを作成し、3 つ目のアクセスレベルで結合します。
    • ロケーション - Google Workspace サービスにアクセスするユーザーが所在する国または地域。内部 IP アドレスを持つデバイスはグローバルに一意ではないため、サポートされません。
    • デバイス ポリシー(実装する必要のあるデバイス ポリシーのみを選択) -
      • 管理者の承認を必須とする(必須にする場合、デバイスを承認しておく必要があります)
      • 会社所有デバイスを必須とする
      • 画面がパスワードで保護されている

        : Windows OS の場合、この属性は、非アクティブ タイムアウト後にログイン画面が表示されるかどうかを確認します。これは、[ログインが必要] 設定(ログイン オプション)または [再開時にログイン画面を表示する] 設定(スクリーン セーバーの設定)のいずれかがオンになっている場合に true になります。パスワードが設定されているかどうかは確認しません。

      • デバイスの暗号化(サポート対象外、暗号化なし、暗号化あり)
    • デバイスの OS(ユーザーは管理者が選択したオペレーティング システムでのみ Google Workspace にアクセスできます。オペレーティング システムの最小バージョンを選択するか、すべてのバージョンを許可します。オペレーティング システムのバージョンには「メジャー.マイナー.パッチ」の形式を使用します) -
      • macOS
      • Windows
      • Linux
      • Chrome OS
      • iOS
      • Android
    • アクセスレベル - 既存のアクセスレベルの要件を満たしている必要があります。
  6. アクセスレベルに別の条件を追加するには、[条件を追加] をクリックして属性を追加します。
  7. ユーザーが満たす必要のある条件を指定します。
    • And - ユーザーは最初の条件と追加された条件を満たす必要があります。
    • Or - ユーザーはいずれか 1 つの条件を満たす必要があります。
  8. アクセスレベルの条件を追加したら、[保存] をクリックしてアクセスレベルの定義を保存します。
  9. アクセスレベルで何を行うかを選択します。
    • このアクセスレベルをアプリに割り当てます。
    • このアクセスレベルでデータ保護ルールを作成する。この操作を行うと、ルール作成ウィザードが起動します。データ保護ルールとコンテキストアウェア アクセスレベルの組み合わせについて詳しくは、こちらをご覧ください。

アクセスレベルの例 - 基本モードで作成

次の例は「corp_access」というアクセスレベルを示しています。Gmail に「corp_access」が適用されている場合、米国またはカナダにいるユーザーが暗号化された会社所有デバイスを使用した場合に限り Gmail にアクセスできます。

アクセスレベルの名前 corp_access
ユーザーのアクセス条件 条件に記載されているすべての属性を満たす
条件 1 の属性

デバイス ポリシー
デバイスの暗号化 = 暗号化あり
会社所有デバイス = 必須

条件 1 と条件 2 の組み合わせ方法 AND
ユーザーのアクセス条件 条件に記載されているすべての属性を満たす
条件 2 の属性

アクセス元の地域
国 = 米国、カナダ

その他の例については、基本モードでのコンテキストアウェア アクセスの例をご覧ください。

アクセスレベルを定義する - 詳細モード

このモードを使用すると、コンテキストアウェア アクセス インターフェースの条件作成ツールで作成できないアクセスレベルを作成できます。次に例を示します。

  • サードパーティと連携するためのベンダー条件を含むアクセスレベルを作成する必要がある。
  • 一部の詳細な属性に基本モードの条件インターフェースからではアクセスできない(証明書ベースの認証を使用する機能など)。

このモードでは、Common Expression Language(CEL)を使用して、編集ウィンドウでカスタム アクセスレベルを作成します。

詳細モードを使用してアクセスレベルを定義するには:

  1. [アクセスレベル] を選択します。
    定義済みのアクセスレベルのリストが表示されます。アクセスレベルは Google Workspace、Cloud Identity、Google Cloud 間でリソースとして共有されるため、自分が作成していないアクセスレベルがリストに掲載されている場合もあります。アクセスレベルを作成したチームがわかるように、アクセスレベルの名前の一部にプラットフォームを入れておくことをおすすめします。
  2. [アクセスレベルを作成] を選択します。
  3. [詳細モード] を選択します。
  4. アクセスレベルの名前を追加し、必要に応じて説明を入力します。
    アクセスレベルを定義するには、CEL 式を記述します。
  5. CEL 式エディタでカスタム アクセスレベルを作成します。
    この操作には CEL の使用経験が必要です。カスタム アクセスレベルの作成でサポートされる式のガイダンスと例については、カスタム アクセスレベルの仕様をご覧ください。
  6. [保存] をクリックします。
    式がコンパイルされ、構文エラーがあれば報告されます。
    • 構文エラーがない場合は、カスタム アクセスレベルが保存されるので、それをアプリに割り当てることができます。
    • 構文エラーがある場合は、作成した式に固有のコンパイラ エラー(英語表示のみ)とともに、[エラーを修正して続行] というメッセージが表示されます。エラーを修正して、再度保存できます。エラーのない保存済みのカスタム アクセスレベルは、アプリに割り当てることができます。

アクセスレベルの例 - 詳細モードで作成

次の例は、リクエストを承認するために以下の条件が満たされる必要があるアクセスレベルを示しています。

  • 送信元デバイスが暗号化されている。
  • 次のいずれか 1 つ以上に該当する。
    • リクエストの送信元は米国である。
    • リクエストの送信元のデバイスがドメイン管理者によって承認されている。

device.encryption_status == DeviceEncryptionStatus.ENCRYPTED && (origin.region_code in ["US"] || device.is_admin_approved_device)

その他の例については、詳細モードでのコンテキストアウェア アクセスの例をご覧ください。

次のステップ: アプリにアクセスレベルを割り当てる


Google、Google Workspace、および関連するマークとロゴは、Google LLC の商標です。その他すべての企業名および商品名は関連各社の商標です。