BeyondCorp Enterprise用いて、GCPへアクセスは会社所有デバイスのみに制限

2021/11/19に公開されました。
2021/11/19に更新されました。

Endpoint Verificationでデバイス情報を把握し、Access Context ManagerのアクセスルールでGCPリソースへアクセス制限の実現


author: kyou

BeyondCorp Enterprise とは

Googleはゼロトラストを社内で長年に取り込んで、2021年初にそのソリューションとして、「BeyondCorp Enterprise」のサービスを一般提供しました。 BeyondCorp Enterpriseは、以下4つのGoogle Cloudサービスの組み合わせて、セキュリティの向上につながるソリューションです。

  • Identity-Aware Proxy(IAP)によるGCPリソースの保護
    • App Engine、Compute Engine、Kubernetes Engine、オンプレミス環境で動くアプリケーションの保護
    • VMインスタンスへのSSH、RDP接続の保護
  • アクセスルールを定義するため、Access Context Manager(ACM)でアクセスレベルの作成
  • Identity and Access Management(IAM)条件の適用
    • ACMで作成したアクセスレベルをIAM条件に適用
  • Google Chrome拡張機能のEndpoint Verificationによるデバイス情報の収集

ここでは、Endpoint VerificationとACMを使って、会社所有デバイスのみがGCPへのアクセスと制限します。 また、無料版(ベースライン機能)でもGoogle Cloud のコンソールや API へのアクセスをアクセス元の IP アドレスで簡単に制限する方法はあります。

無料版(ベースライン機能)との違い

BeyondCorp Enterprise の料金のページに記載されていますが、 IPとロケーションで制限するなら、ベースライン機能でも対応できますが、デバイス属性を利用したいなら、下記の料金とGoogleが案内しています。

BeyondCorp Enterprise の料金は 1 ユーザーあたり月額$6(米ドル)です。

デバイスの管理

デバイス属性には、is_corp_owned_device(会社所有のデバイス)とis_admin_approved_device(承認したデバイス)のほか、ChromeとOSバージョンなどもあります。 OSやブラウザの脆弱性や悪用されるなどのニュースは絶えませんから、ChromeとOSのバージョンにも制限できて、よりセキュアな構成が求められる時に役立ちます。

これらを条件としてアクセスレベルを定義する前に、まず会社所有デバイスの登録手順を紹介します。 Google Worksapce管理コンソール(https://admin.google.com/)を開きます、左のメニューからデバイス->モバイルとエンドポイント->会社所有のインベントリの順で選択してから、 右上にある「+」アイコンをクリックします。

device-import

管理コンソールから会社所有のデバイスを登録するには、まずインポート用(CSV)テンプレートをダウンロードしてから、下記のように編集します。

Asset Tag は、会社がデバイスを追跡管理するのに使用する文字列で、省略可能です。

省略する場合はAsset Tagの列(前のカンマも)を削除する必要があります。

Serial Number (mandatory),Asset Tag
R84534UIF824-123-234,W123
U83452BDU424-232-694,W442

編集済みのCSVファイルをアップロードしてから、画面をリフレッシュすると、会社所有のデバイスで表示されました。

device-imported

会社所有のデバイスのほか、「デバイスの承認」を行うこともできます。管理対象のデバイスを承認、ブロック、ブロック解除、削除するChrome、Mac、Windows の Endpoint Verification デバイスの企業データへのアクセスを制御するでそれぞれ詳しく書かれていますので、注意すべき(個人的)なところをここで説明します。

管理者によるデバイスの承認

デフォルトがオフとなっていますが、オンにすると新しいデバイスでメンバーがログインしたら、管理者の承認が必要となります。

setting-device-approve

Endpoint Verification の自動インストール

Google Worksapce管理コンソールの左メンバーで、デバイス->Chrome->アプリと拡張機能->ユーザーとブラウザの順で選択してから、 右下の「+」ボタンから「Chromeアプリや拡張機能をIDで追加」をクリックします。

Endpoint Verificationの拡張機能IDは「callobklhcbilhphinckomhgkigmfocg」で、保存します。

endpoint-verification-auto-install-1

保存したら、次の画像のように、「鍵へのアクセスを許可する」、「企業向けアプリの真正性確認を許可する」と「自動インストール」を設定します。

endpoint-verification-auto-install-2

Google Cloud Console と Google Cloud APIs の保護

設定する手順はGoogle Cloud のコンソールや API へのアクセスをアクセス元の IP アドレスで簡単に制限する方法の「設定」章に詳しく記載していますが、ご参照ください。

1. 許可するアクセス元の定義
2. アクセス制限の対象とするユーザーの定義
3. 上記を使って実際にアクセス制限を有効化

設定流れの「許可するアクセス元の定義」でのアクセスレベルの設定はIPアドレスではなく、下記のようにデバイスポリシーを定義します。

access_level_definition

また、当然ですが、「アクセス制限の対象とするユーザーの定義」のグループに含まれていないユーザーはアクセス制限の対象外となります。

VPC Service Controls でアクセス制御

定義したアクセスレベルを次のようにVPCサービス境界に設定すれば、さらに細かな制限ができます。

vpc-sc-access-level

まとめ

BeyondCorp Enterpriseが誕生する前に、Identity-Aware ProxyとAccess Context Managerは既に存在しているサービスであり、さらにVPC Service Controlsはセキュリティ要件に対応する時に非常に重要な役割を担っています。ここで触れたのはBeyondCorp Enterprise(及びセキュリティ関連サービス)の氷山の一角です。読んでいただいた方々に少しでも役に立ったら幸いです。

また、Google Cloud のコンソールや API へのアクセスをアクセス元の IP アドレスで簡単に制限する方法記事のQAでは、組織・組織外のアカウントはBeyondCorp Enterpriseの適用対象となるかという内容もあります。ぜひご一読ください。

参考資料

※本記事は、ジーアイクラウド株式会社の見解を述べたものであり、必要な調査・検討は行っているものの必ずしもその正確性や真実性を保証するものではありません。

※リンクを利用する際には、必ず出典がGIC dryaki-blogであることを明記してください。
リンクの利用によりトラブルが発生した場合、リンクを設置した方ご自身の責任で対応してください。
ジーアイクラウド株式会社はユーザーによるリンクの利用につき、如何なる責任を負うものではありません。