エンタープライズ証明書を使用した証明書ベースのアクセスを有効にする

このページでは、エンタープライズ証明書を使用して証明書ベースのアクセス(CBA)を有効にする方法について説明します。

公開鍵基盤(PKI)がない場合は、Endpoint Verification でプロビジョニングされた証明書を使用できます。

ゼロトラスト アクセスモデルの重要な要件は、承認されたデバイスのみにアクセスを許可することです。コンテキストアウェア アクセス CBA は、デバイスの安全なキーストアに保存されている証明書とその秘密鍵を使用して、デバイスが承認されているかどうかを判断します。この機能を有効にするには、次の手順を行います。

始める前に

Cloud de Confiance プロジェクトの CBA アクセスレベルを作成したことを確認します。アクセスレベルを作成する必要がある場合は、証明書ベースのアクセス用のアクセスレベルを作成するをご覧ください。

次のいずれかの方法で、 Cloud de Confiance リソースに CBA を適用していることを確認します。

Cloud de Confiance リソースに CBA を適用した場合、Cloud de Confiance リソースにアクセスするには、承認済みユーザーが有効なデバイス証明書も提示しなければならなくなります

トラスト アンカーをアップロードする

コンテキストアウェア アクセスでデバイスのエンタープライズ証明書を収集して検証できるようにするには、デバイス証明書の発行に使用するトラスト アンカーをアップロードする必要があります。トラスト アンカーは、自己署名のルート CA 証明書および関連する中間証明書と下位証明書です。トラスト アンカーをアップロードするには、次の手順を行います。

  1. Google 管理コンソールで、[デバイス] > [ネットワーク] > [証明書] に移動し、トラスト アンカーをアップロードする組織部門を選択します。選択した組織部門に、アクセス権を付与するユーザーが含まれていることを確認してください。

  2. [証明書を追加] を選択し、ルート証明書の名前を入力します。

  3. [アップロード] をクリックして証明書をアップロードします。

  4. [エンドポイントの確認を有効にする] を選択して、[追加] をクリックします。

アップロードする証明書は、企業デバイスにインストールされているクライアント証明書の発行元である CA 証明書である必要があります。CA 証明書と対応するクライアント証明書が会社にない場合は、 Cloud de Confiance by S3NS Certificate Authority Serviceで作成できます。クライアント証明書をネイティブ キーストアにインストールする手順は、オペレーティング システムごとに異なり、このドキュメントの対象外です。

エンタープライズ証明書を使用するようにユーザーの Chrome ブラウザを構成する

Endpoint Verification を設定するの手順に沿って、組織内のすべてのユーザーに Chrome 用の Endpoint Verification 拡張機能をインストールします。この拡張機能は、 証明書のメタデータを Cloud de Confianceのバックエンドと同期します。

ブラウザ拡張機能を設定したら、AutoSelectCertificateForURLs Chrome ポリシーを構成して、Endpoint Verification が Chrome でデバイス証明書を検索して収集できるようにします。

  1. Chrome ブラウザ クラウド管理がユーザーの Chrome ブラウザを管理していることを確認します。

  2. 管理コンソールで、AutoSelectCertificateForUrls ポリシーを追加します。

    1. [デバイス] > [ Google Chrome] > [設定] > [ユーザーとブラウザの設定] > [クライアント証明書] に移動します。

    2. 適切な組織部門を選択します。

    3. ポリシーを追加します。

      次の例では、AutoSelectCertificateForUrls ポリシーを追加します。

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"CERT_ISSUER"}}}
      {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":"CERT_ISSUER"}}}
      {"pattern":"https://storage.mtls.cloud.google.com","filter":{"ISSUER":{"CN":"CERT_ISSUER"}}}
      

      この例では、CERT_ISSUER は CA 証明書の共通名です。

この構成後、ユーザーは console-secure.cloud.google.com で Chrome ブラウザを使用して、保護された Cloud de Confiance リソースにアクセスできます。

ポリシーの構成を確認する(省略可)

  1. Chrome ブラウザで chrome://policy と入力します。

  2. [Chrome ポリシー] に AutoSelectCertificateForUrls が表示されていることを確認します。

  3. [適用先] の値が [マシン] であることを確認します。ChromeOS では、[適用先] の値は [現在のユーザー] です。

  4. ポリシーのステータス競合 がないことを確認します。 ステータスが競合している場合、Chrome ポリシー管理の概要をご覧ください。

コマンドライン ツールを構成してエンタープライズ証明書を使用する

組織内のユーザーがコマンドラインから Cloud de Confiance リソースにアクセスする必要がある場合は、次の手順に従って、コマンドライン ツールでエンタープライズ証明書を使用して CBA を有効にしなければなりません。

サポートされているコマンドライン ツールは次のとおりです。

  • Google Cloud CLI

  • Terraform CLI(ヘルパー コンポーネントのインストールと構成には gcloud CLI が必要です)。

デバイス証明書はネイティブ キーストアに保存されるため、Google Cloud CLI は Enterprise Certificate Proxy(ECP)と呼ばれるオープンソース コンポーネントとバンドルされ、鍵管理 API とやり取りします。

Windows システムを使用している場合は、Visual Studio C++ ランタイム ライブラリがインストールされている必要があります

サポートされているオペレーティング システムとそれぞれの組み込みキーストアは次のとおりです。

  • キーチェーン搭載の macOS

  • CryptoAPI 搭載の Microsoft Windows

  • PKCS #11 搭載の Linux

ECP には、キーストアで証明書を検索するために必要なメタデータ情報を構成する必要があります。

Google Cloud CLI を使用して ECP をインストールして構成する

  1. Google Cloud CLI をインストールして CBA を有効にしますbundled python オプションを有効にしてインストールします。

  2. macOS と Linux の場合は、install.sh スクリプトをダウンロードして実行します。

    $ ./google-cloud-sdk/install.sh
    
  3. Google Cloud CLI を使用して ECP ヘルパー コンポーネントをインストールします。

    gcloud components install enterprise-certificate-proxy
    
  4. Google Cloud CLI を使用して ECP 証明書の構成を初期化します。

Linux

$ gcloud auth enterprise-certificate-config create linux
  --label=<CERT_LABEL> --module=<PKCS11_MODULE_PATH> --slot=<SLOT_ID>

例:

$ gcloud auth enterprise-certificate-config create linux
  --label="Google Endpoint Verification" --module=/usr/lib/x86_64-linux-gnu/pkcs11/libcredentialkit_pkcs11.so.0 --slot=0x1234567

macOS

$ gcloud auth enterprise-certificate-config create macos
  --issuer=<CERT_ISSUER>

例:

$ gcloud auth enterprise-certificate-config create macos
  --issuer="Google Endpoint Verification"

Windows

$ gcloud auth enterprise-certificate-config create windows
  --issuer=<CERT_ISSUER> --provider=<PROVIDER> --store=<STORE>

例:

$ gcloud auth enterprise-certificate-config create windows
  --issuer="Google Endpoint Verification" --provider=current_user --store=MY

ECP 構成は手動で構成することもできます。この構成は、ユーザーのデバイスの次の場所に JSON ファイルとして保存されます。

  • Linux / macOS: ~/.config/gcloud/certificate_config.json

  • Windows: %APPDATA%\gcloud\certificate_config.json

構成とスキーマのその他の例については、GitHub の ECP ドキュメントをご覧ください。

Linux

{
  "cert_configs": {
    "pkcs11": {
      "label": "<CERT_LABEL>",
      "slot": "<SLOT_ID>",
      "module": "<PKCS11_MODULE_PATH>"
    }
  },
  "libs": {
    "ecp": "/usr/lib/google-cloud-sdk/bin/ecp",
    "ecp_client": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libecp.so",
    "tls_offload": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libtls_offload.so"
  }
}

macOS

{
  "cert_configs": {
      "macos_keychain": {
        "issuer": "<CERT_ISSUER>"
      }
  },
  "libs": {
    "ecp": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/bin/ecp",
    "ecp_client": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libecp.dylib",
    "tls_offload": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dylib"
  }
}

Windows

{
  "cert_configs": {
    "windows_store": {
      "store": "MY",
      "provider": "current_user",
      "issuer": "<CERT_ISSUER>"
    }
  },
  "libs": {
    "ecp": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin/ecp.exe",
    "ecp_client": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libecp.dll",
    "tls_offload": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dll"
  }
}

この構成後、ユーザーは CBA フラグを有効にしてコマンドライン ツールを使用して、保護された Cloud de Confiance リソース にアクセスできます。

Google Cloud CLI で CBA を有効にするには、次のコマンドを実行して context_aware/use_client_certificate プロパティを true に設定します。

$ gcloud config set context_aware/use_client_certificate true

Terraform を含む他のすべてのコマンドライン ツールで CBA を有効にするには、環境変数 GOOGLE_API_USE_CLIENT_CERTIFICATEtrue に設定します。

次のステップ