Google Cloud Certificate Connector を使用する

コネクタを使用すると、オンプレミスの認証局(CA)から発行されたデバイス証明書を配布して、ChromeOS デバイスから組織の Wi-Fi ネットワーク、内部アプリ、内部ウェブサイトへのユーザー アクセスを制御できます。Google Cloud Certificate Connector は Windows サービスであり、CAサーバーからユーザーのデバイスに証明書と認証鍵を安全に配布します。

ChromeOS デバイスの場合、証明書の秘密鍵はデバイスで生成されます。対応する公開鍵は Google のサーバーに一時的に保存され、証明書のインストール後に削除されます。

システム要件

  • バージョン 138 以降の ChromeOS デバイス。
  • 請求先アカウントが設定されている Google Cloud プロジェクト(GCP)。

始める前に

  • SCEP を使用して証明書のデプロイを設定するには、組織で Microsoft Active Directory 証明書サービスを管理するための専門知識と権限が必要です。次に進む前に、関連する専門知識を持つ人が組織内にいることをご確認ください。
  • 証明書のサブジェクト名で Active Directory のユーザー名を使用する必要がある場合は、Active Directory および Google Directory を Google Cloud Directory Sync(GCDS)と同期する必要があります。必要に応じて、GCDS を設定します。
  • ChromeOS 証明書登録用に Windows Network Device Enrollment Service(NDES)サーバー、Google 管理コンソール、GCP を構成するには、SCEP に基づく ChromeOS 用の証明書登録を構成するをご覧ください。

ステップ 1: Google Cloud Certificate Connector をダウンロードする

注: モバイル デバイス用に Google Cloud Certificate Connector をすでに設定している場合は、このステップをスキップしてステップ 3: Google Cloud Certificate Connector を構成するに進みます。

CA サーバー、またはサーバーにアクセスできる Windows マシンで、次の手順を実施します。組織に複数のサーバーがある場合は、そのすべてのサーバーで同じ証明書コネクタ エージェントを使用できます。

インストール ファイルをダウンロードしてインストールする手順は次のとおりです。

注: Google Cloud Certificate Connector とそのコンポーネントは、組織用の証明書を最初に設定するときに一度だけダウンロードします。証明書と 証明書プロファイルでは、1 つの証明書コネクタを共有できます。

  1. 管理者アカウントで Google 管理コンソール にログインします。

    管理者アカウントを使用していない場合は、管理コンソールにアクセスできません。

  2. [デバイス] > [ネットワーク] にアクセスします。

    共有デバイス設定の管理者権限が必要です。

  3. [証明書] 次に [認証局の接続] 次に [コネクタをダウンロード] をクリックします。
  4. [ダウンロード] をクリックします。
  5. 管理者として証明書コネクタ インストーラを実行します。

重要: デフォルトでは、インストーラによってサービスが登録され、ログインに LocalService アカウントが使用されます。サービスが登録されると、ソフトウェアはインストール済みとマークされます。その後、インストーラはサービスの開始を試みます。初めてコネクタをインストールする場合は、必要な構成ファイルが見つからないためサービスが開始されません。これらの構成ファイルを取得するには、この記事の残りの手順に沿って操作します。

ステップ 2: Pub/Sub サービス アカウント キーをダウンロードする

  1. Google Cloud プロジェクト(GCP)から、[サービス アカウント] に移動します。
  2. Google Cloud Certificate Connector 用に作成されたサービス アカウントをクリックします。
  3. [Keys] に移動します。
  4. [鍵を追加​​] 次に [新しい鍵を作成] 次に [JSON] 次に [作成] をクリックします。
  5. ダウンロードした JSON ファイルをコネクタのインストール ディレクトリに移動します。

ステップ 3: Google Cloud Certificate Connector を構成する

  1. (省略可)管理者として設定ツール(C:\Program Files\Google Cloud Certificate Connector\Config Tool.exe)を実行し、デフォルトの LocalService アカウント以外のアカウント名でサービスを再登録します。
  2. インストール中に作成された Google Cloud Certificate Connector フォルダ(C:\Program Files\Google Cloud Certificate Connector)に、新しいファイル adapter_config.json を作成し、必要な構成を入力します。構成パラメータの一覧については、Google Cloud Certificate Connector - 構成パラメータをご覧ください。
    注: 下位互換性をサポートするため、コネクタは以前の構成ファイル config.json で動作します。adapter_config.json ファイルが存在しない場合、以前の構成ファイルが自動的に検索されます。
  3. Google Cloud Certificate Connector サービスを起動します。
    1. Windows サービスを開きます。
    2. [Google Cloud Certificate Connector] を選択します。
    3. [開始] をクリックします。ステータスが [実行中] に変わることを確認します。マシンを再起動すると、サービスは自動的に再起動します。

新しいサービス アカウント キーをダウンロードするか、構成ファイルを編集する場合は、サービスを再起動して変更を有効にします。

Google Cloud Certificate Connector を使用した証明書認証の仕組み

Google Cloud Certificate Connector は、CAサーバーと Google との間に専用の接続を確立する Windows サービスです。証明書コネクタは、組織が管理する構成ファイルと鍵ファイルによって構成、保護されます。

証明書プロファイルを使用してユーザーとデバイスに証明書を割り当てます。プロファイルを適用するには、組織部門を選択し、その組織部門にプロファイルを追加します。プロファイルには、証明書を発行する認証局が含まれています。ChromeOS デバイスを登録すると、設定済みのポリシーがデバイスに送信されます。デバイス証明書をデプロイする場合は、ユーザーのログイン前にデバイスに証明書がインストールされます。ユーザー証明書をデプロイする場合は、ユーザーのログイン後にデバイスに証明書がインストールされます。デバイスをすでに登録済みの場合、またはユーザー プロファイルがすでに存在する場合は、デバイスまたはユーザーが管理コンソールから更新済みポリシーを受け取ると証明書がインストールされます。

Google Cloud Certificate Connector - 構成パラメータ

定義

すべて開く  |  すべて閉じる

Google Cloud Certificate Connector で受け入れられる構成オブジェクトの定義は次のとおりです。

新しい構成

adapter_config.json ファイルには、このオブジェクトの単一の構成が含まれていることが想定されており、JSON ファイルの最上位のオブジェクトです。使用できるキーと対応する値は次のとおりです。

キー 必須 / オプション 値の型
legacy_configuration adapter_configuration が指定されている場合は省略可

以前の構成

指定された場合、コネクタは、この構成に含まれる Pub/Sub サブスクリプション ID に関連付けられたリクエストに以前のプロトコルを使用します。利用可能な機能は、この構成で提供される機能に限定されます。指定されたサブスクリプション ID は、アダプタ構成または以前の構成の(両方ではなく)いずれかに存在する必要があります。

adapter_configuration legacy_configuration が指定されている場合は省略可

アダプタの構成

指定された場合、コネクタは、この構成に含まれる Pub/Sub サブスクリプション ID に関連付けられたリクエストに新しいプロトコルを使用し、この構成で指定された属性を使用してコネクタ自体を構成します。

profile_configurations 省略可 []プロファイルの構成
ca_configurations adapter_configuration または profile_configurations が指定されている場合は必須 []CA 構成
以前の構成

ここでは、コネクタでサポートされている以前の構成について説明しています。この構成タイプは、現在のユーザーのために下位互換性を維持する目的で引き続きサポートされます。

現在のコネクタは、この構成を認識し、legacy_configuration に含まれる指定された subscription_id からのリクエストを、Certificate Provisioning API を使用せずに、以前のプロトコルを使用して処理します。

コネクタは、Pub/Sub 通信のサービス アカウントを認証するためのキーファイル(key.json)を見つけることを想定しています。これは変更されていない動作です。

キー 必須 / オプション 値の型
request_subscription 必須

文字列

これは、コネクタがリクエストをリッスンするサブスクリプション ID の名前です。

response_topic 必須

文字列

これは、コネクタが発行された証明書を送信する先のトピックの名前です。

max_scep_queries_per_second 省略可

float

コネクタは、このパラメータを使用して、CA サーバーにトラフィックを送信するペースを制御します。この値が見つからない場合は、デフォルト値の 2 が使用されます。

poll_period 省略可

文字列

このパラメータは廃止されました。解析はされますが、Google Cloud Certificate Connector の内部では使用されません。

アダプタの構成

この構成のパラメータは、コネクタ自体の属性です。次のフィールドがあります。

キー 必須 / オプション 値の型
instance_id 省略可

文字列

コネクタが使用する固有識別子。コネクタはこの ID で識別できます。同じプロジェクト内のすべてのコネクタで一意である必要があります。存在しない場合、コネクタは識別に使用するランダムな GUID を生成します。

request_subscriptions 必須

[]文字列

コネクタがリッスンする完全修飾サブスクリプション名。サブスクリプションは projects/<projectid>/subscriptions/<id> の形式にする必要があります。このリスト内のすべてのサブスクリプションは、同じプロジェクトに属している必要があります。

key_filename 必須

文字列

コネクタが認証に使用するキーファイルのファイル名。キーファイルは、コネクタ実行可能ファイルと同じディレクトリに配置する必要があります。コネクタは、このキーファイルを使用して、新しいフローで使用される Google サービスを認証します。このフローは、request_subscription_ids 属性で指定されたサブスクリプションをリッスンし、CertificateProvisioningAPI を呼び出します。

proxy_mode 省略可

文字列

この属性は、コネクタがトラフィックのルーティングに使用するプロキシモードを記述します。現在、使用可能なモードは次のとおりです。

  • system: システムレベルで構成されたものを使用します。このモードのコネクタは、次の順序でプロキシ設定を探します。
    • ユーザー向けに構成された IE 設定。ここでいうユーザーとは、コネクタ サービスがログインするように構成されているサービス アカウントです。
    • マシンレベルの設定(WinHTTP)
    • HKU\<user-id>\Software\Microsoft\
      Windows\CurrentVersion\
      Internet Settings\
      のユーザーレベルのレジストリ(ProxyServer など)
  • direct: コネクタは、プロキシ設定を無視して直接接続します。
  • fixed_servers: 指定されている場合、コネクタは proxy_serverproxy_bypass_list にある静的な値をすべてのリクエストに使用します。

proxy_mode が指定されていない場合は、デフォルトとして system が使用されます。

proxy_server fixed_servers として fixed_servers が使用されている場合は必須です。それ以外の場合は無視されます。 文字列
proxy_bypass_list 省略可

文字列

fixed_servers として fixed_servers が使用されている場合に使用されます。省略すると、空のバイパスリストが使用されます。

log_level 省略可

文字列

これは、コネクタが出力するログのレベルを表します。指定できる値は、debuginfowarnerror です。コネクタは、指定されたレベル以上のイベントを出力します。省略した場合、デフォルトとして info が使用されます。

max_number_of_ongoing_requests 省略可

int

コネクタは、同時に処理できるリクエストの数が制限されています。デフォルトは 500 です。この上限に達すると、登録が完了するかタイムアウトしてスポットに空きができるまで、新しいリクエストは受け付けられません。応答しないクライアント デバイスまたは CA は、登録をブロックし、解決されるまでスポットを占有します。上限を増やすと、メモリ使用量が増加します。

プロファイルの構成

Google 管理コンソールで汎用プロファイル(汎用 CA 接続を使用するプロファイル)を使用する場合にのみ必要です。次の構成は、発行される証明書の属性の概要を示しています。

キー 必須 / オプション 値の型
profile_config_id 必須

文字列

構成の固有識別子。コネクタは、一致する証明書のプロビジョニング プロファイル構成リファレンス ID を持つ証明書プロファイルにこの構成を使用します。

subject_name subject_alt_names が指定されていない場合は必須

構造体

  • サブジェクトの完全識別名。次の属性があります。少なくとも 1 つの属性を指定する必要があります。
    • common_name: 文字列(省略可)
    • organization: 文字列(省略可)
    • organizational_unit: []文字列(省略可)
    • locality: 文字列(省略可)
    • state: 文字列(省略可)
    • country: 文字列、省略可
subject_alt_names

subject_name が指定されていない場合は必須。

[]subject_alt_name

これは、2 つの必須キーで構成されるオブジェクトです。最初のキー type は、「USER_PRINCIPLE」、「RFC822」、「DNS」、「URI」のいずれかになります。2 番目のキーは name で、選択したタイプと同等の文字列値を保持する必要があります。

コネクタは、このパラメータを使用して、CA サーバーにトラフィックを送信するペースを制御します。この値が見つからない場合は、デフォルト値の 2 が使用されます。

: subject_namesubject_alt_names の値は、プレースホルダにすることができます。プレースホルダは、ユーザーとデバイスの属性に基づいて値に置き換えられます(利用可能な場合)。プレースホルダには次のいずれかを指定できます。

  • ${USER_EMAIL} - ユーザーのメールアドレス全体。
  • ${USER_EMAIL_NAME} - メールアドレスの「@」より前の部分。
  • ${USER_ID} - ${USER_EMAIL_NAME} と同じです。
  • ${USER_EMAIL_DOMAIN} - メールアドレスの「@」より後の部分。
  • ${USER_DOMAIN} - ${USER_EMAIL_DOMAIN} と同じです。
  • ${DEVICE_SERIAL_NUMBER} - デバイスのシリアル番号。
  • ${DEVICE_DIRECTORY_ID} - デバイスのディレクトリ ID。管理コンソールの [ChromeOS] > [デバイス] タブにある Directory API ID と同じです。
key_usages キーの用途を 1 つ以上指定する必要があります。

[]文字列

各用途は単一の鍵用途を指定します。指定できる値は、「KEY_ENCIPHERMENT」、「SIGNING」です。

extended_key_usages 省略可

[]文字列

各用途は単一の鍵用途を指定します。指定できる値は、「CLIENT_AUTH」、「SERVER_AUTH」です。

template_name 省略可

文字列

CA にリクエストするテンプレート名。

ここで指定する名前は、CA のテンプレート名(表示名ではない)と一致している必要があります。

signature_algorithm 必須

文字列

秘密鍵を保持しているクライアント デバイスが、証明書署名リクエスト(CSR)の署名に使用することを要求される署名アルゴリズム。ここで指定する値は、管理コンソールで選択したキータイプと互換性がある必要があります。現在、鍵タイプごとに 1 つの署名アルゴリズムのみが提供されています。指定できる値は、「RSA_SHA256」、「ECDSA_SHA256」です。

CA 構成

この構成では、CA との通信で使用されるパラメータが記述されます。

キー 必須 / オプション 値の型
type 必須

文字列

CA 接続のタイプ。現時点でサポートされているのは SCEP のみです。

ca_connection_config_id 必須

文字列

構成の固有識別子。コネクタは、一致する認証局の接続構成 ID の証明書プロビジョニング プロセスを受信すると、CA 通信にこの構成を使用します。

ca_endpoint_url 必須

文字列

コネクタが証明書をリクエストするためにアクセスする CA サーバーの URL。

max_scep_queries_per_second 省略可

float

コネクタは、このパラメータを使用して、CA サーバーにトラフィックを送信するペースを制御します。この値が見つからない場合は、デフォルト値の 2 が使用されます。

challenge_filename 省略可

文字列

これは、CA からの証明書リクエストの静的チャレンジを含むファイルを指定します。

コネクタのサービス アカウントには、このファイルに対する読み取り権限が必要です。

CA ごとに構成できるのは、challenge_filename または dynamic_challenge のいずれか 1 つだけです。

dynamic_challenge 省略可

動的チャレンジ構成

1 つの CA 構成で設定できるのは、challenge_filename または dynamic_challenge のいずれか 1 つのみです。

動的チャレンジ構成

この構成では、外部エンドポイントから動的チャレンジを取得して抽出する際に使用するパラメータが記述されます。

キー 必須 / オプション 値の型
challenge_endpoint_url 必須

文字列

コネクタがチャレンジをリクエストするために使用するエンドポイントの URL。

number_of_challenge_fetchers 省略可

int

チャレンジ エンドポイントからチャレンジを取得するために同時に動作するフェッチャーの数。この数は、エンドポイントがチャレンジを使い果たすことなく発行できるチャレンジの数よりも常に小さくする必要があります。デフォルト値は 2 です。

retry_interval_minutes 省略可

float

チャレンジ フェッチャーが取得に失敗してから、新しいチャレンジの取得を再度試みるまでの待機時間(分単位)。値は 0.016(約 1 秒)未満にすることはできません。デフォルト値は 1 分です。

challenge_validity_minutes 省略可

int

チャレンジが有効な時間(分単位)。デフォルト値は 60 です。

challenge_page_parser 省略可

チャレンジ パーサーの構成

指定しない場合は、デフォルト値が使用されます。デフォルト値は、MS AD/CS 管理ページの動作に基づいています。

kerberos 省略可

Kerberos の設定

指定されていない場合、コネクタはチャレンジ エンドポイントにアクセスする際に認証要件がないことを想定します。

チャレンジ パーサーの構成

この構成では、チャレンジ エンドポイントから返されたページのチャレンジを解析して抽出する際に使用するオプションについて説明します。

キー 必須 / オプション 値の型
convert_html_to_utf8 省略可

ブール値

チャレンジ エンドポイントから取得した HTML を UTF-8 に変換するかどうかを示すフラグ。デフォルト値は true です。

is_challenge_space_wrapped 省略可

ブール値

パスワードがスペースでラップされているかどうかを示すフラグ。デフォルト値は true です。

challenge_xpath 省略可

文字列

チャレンジ エンドポイントから返された HTML ページのチャレンジを指す XPath 式。デフォルト値は「//*[@id="locPageFont"]/p[4]/b」です。

out_of_challenges_xpath 省略可

文字列

チャレンジ サーバーで登録パスワードがなくなったことを示す要素の XPath(見つかった場合)。この要素は、特定のエラーページにのみ表示されるようにします。デフォルト値は「//*[@id="locPageFont"]/ul/li[3]」です。

Kerberos の設定

これは、チャレンジ エンドポイントとの Kerberos ベースの通信に関するコネクタの構成を記述します。

キー 必須 / オプション 値の型
config_filename 必須

文字列

Kerberos 構成ファイルのファイル名。

keytab_filename 必須

文字列

Keytab ファイルのファイル名。

レルム 必須

文字列

コネクタが使用するレルム名。これは、Kerberos 構成ファイル内のレルムのエントリと一致する必要があります。

ユーザー名 必須

文字列

コネクタが Kerberos 認証に使用する Windows サービス アカウント(SA)の名前。これは、keytab ファイルが生成される SA と一致している必要があります。

server_spn 必須

文字列

コネクタがサービス チケットをリクエストするチャレンジ エンドポイントのサービス プリンシパル名(SPN)。空の文字列("")が指定された場合、コネクタはチャレンジ エンドポイント URL から SPN を推測します。

enable_fast 省略可

文字列

クライアントが Flexible Authentication Secure Tunneling(FAST)アルゴリズムを使用するかどうかを示すフラグ。このオプションは、まずサーバーマシンで有効にする必要があります。デフォルト値は false です。

すべて開く  |  すべて閉じる

Google Cloud Certificate Connector で受け入れられる構成オブジェクトの例を次に示します。

例 1: 動的 SCEP を使用した新しい構成と以前の構成
{
  "adapter_configuration": {
    "request_subscriptions": [
      "projects/project-2/subscriptions/request-subscription-C02keao",
      "projects/project-2/subscriptions/request-subscription-A2Oqeo"
    ],
    "key_filename": "adapter_key.json"
  },
  "profile_configurations": [
    {
      "profile_config_id": "profile_1",
      "subject_name": {
        "common_name": "Common Name 1",
        "organization": "Company 1",
        "organizational_unit": ["Org Unit 1"]
      },
      "subject_alt_names": [
        {
          "type": "RFC822",
          "name": "${USER_EMAIL}"
        }
      ],
      "key_usages": ["SIGNING", "KEY_ENCIPHERMENT"],
      "template_name": "SCEPTemplate",
      "signature_algorithm" : "RSA_SHA256"
    },
    {
      "profile_config_id": "profile_2",
      "subject_name": {
        "common_name": "Common Name 2",
        "organization": "Company 2",
        "organizational_unit": ["Org Unit 2"]
      },
      "subject_alt_names": [
        {
          "type": "RFC822",
          "name": "${USER_EMAIL}"
        }
      ],
      "key_usages": ["SIGNING", "KEY_ENCIPHERMENT"],
      "template_name": "SCEPTemplate2",
      "signature_algorithm" : "RSA_SHA256"
    }
  ],
  "ca_configurations": [
    {
      "type": "SCEP",
      "ca_connection_config_id": "NDES_CA_CONFIG_1",
      "ca_endpoint_url": "http://cert-test-ad-new/certsrv/mscep/",
      "challenge_filename": "challenge-file.txt"
    },
    {
      "type": "SCEP",
      "ca_connection_config_id": "dynamic_ca_config",
      "ca_endpoint_url": "https://dynamic-ca.example.org/certsrv/mscep/",
      "dynamic_challenge": {
        "challenge_endpoint_url": "http://dynamic-ca.example.org/certsrv/mscep_admin",
        "challenge_validity_minutes": 30,
        "kerberos": {
          "config_filename": "kerberos.conf",
          "keytab_filename": "scepsvc.keytab",
          "realm": "EXAMPLE.ORG",
          "username": "scepsvc",
          "server_spn": ""
        }
      }
    }
  ],
  "legacy_configuration": {
    "response_topic": "projects/mdm-certificate/topics/response-C02gxaaci",
    "request_subscription": "projects/mdm-certificate/subscriptions/request-subscription-C02gxaaci"
  }
}
例 2: プロファイルなしの新しい構成(汎用以外の設定):
{
  "adapter_configuration": {
    "request_subscriptions": [
      "projects/project-2/subscriptions/request-subscription-C02keao"
    ],
    "key_filename": "adapter_key.json",
    "instance_id": "instance_12345"
  },
  "ca_configurations": [
    {
      "type": "SCEP",
      "ca_connection_config_id": "NDES_CA_CONFIG_1",
      "ca_endpoint_url": "http://cert-test-ad-new/certsrv/mscep/"
    }
  ]
}
例 3: 以前の構成のみ
{
  "legacy_configuration": {
    "response_topic": "projects/mdm-certificate/topics/response-C02gxaaci",
    "request_subscription": "projects/mdm-certificate/subscriptions/request-subscription-C02gxaaci"
  }
}

既知の問題と制限事項

デバイスにインストールした後の証明書を取り消すことはできません。

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

このページには、AI 技術を使用して翻訳されたコンテンツが含まれている場合があります。AI 翻訳には誤りが含まれている可能性があります。

この情報は役に立ちましたか?

改善できる点がありましたらお聞かせください。

さらにサポートが必要な場合

次の手順をお試しください。

検索
検索をクリア
検索を終了
メインメニュー
9176057827164562612
true
ヘルプセンターを検索
false
true
true
true
true
true
410864
false
false
false
false
false