ネットワークや内部ウェブリソースによっては、デジタル証明書を使用して認証を受けることをユーザーに求めるものがあります。クライアント証明書を使用することにより、ChromeOS デバイスのユーザーはこうした種類のネットワークやリソースにアクセスできます。
組織のネットワークと内部リソースのセキュリティを強化するために、従業員や生徒のデバイスでのユーザー認証にクライアント側のデジタル証明書が使用されています。たとえば、LAN へのアクセスに EAP-TLS(802.1x)認証、内部ウェブリソースへのアクセスに TLS / SSL 相互認証が使用されます。
デバイスにクライアント証明書を設定するには、次のような手順を踏む必要があります。
- 安全な方法でデバイス上でキーペアを生成する。
- 公開鍵をその他の認証情報とともに認証局(CA)に送信して証明書を取得する。
- デバイスに証明書を読み込む。
サポートされる登録プロトコル(SCEP や EST など)は認証局によって異なります。また、証明書の付与に関しては、それぞれの組織に固有のワークフロー、確認項目、規則が存在します。
クライアント証明書は ChromeOS デバイスの Chrome Trusted Platform Module(TPM)で保護されています。これにより、秘密鍵がデバイス外に漏洩するのを防いでいます。
クライアント証明書の管理とプロビジョニング
Google Cloud Certificate Connector を使用すると、Simple Certificate Enrollment Protocol(SCEP)サーバーからユーザーのデバイスに証明書と認証鍵を安全に配布できます。詳しくは、Google Cloud Certificate Connector の使用についての記事をご覧いただくか、SCEP を使用した ChromeOS 用証明書登録の設定についてまとめられたガイドをご確認ください。
Chrome バージョン 37 以降の ChromeOS デバイスでは、パートナー(認証局やインフラストラクチャ管理ベンダーなど)やお客様が、chrome.enterprise.platformKeys API を使用して拡張機能を記述し、クライアント証明書をプロビジョニングできます。拡張機能を使用することで、さまざまな認証局や登録プロトコル、あらゆる形式のウェブベースのワークフローに対応できます。Microsoft Active Directory 証明書サービスをご利用のお客様は、Google の企業登録ツールを使用して、Chrome デバイスの証明書をリクエストしてインストールできます。詳しくは、証明書登録(ChromeOS 用)拡張機能の使用をご覧ください。
chrome.enterprise.platformKeys API ユーザー トークンを使用する場合(ID は「ユーザー」)、拡張機能で取得されるクライアント証明書は、ユーザーとデバイスの組み合わせに対して固有のものになります。つまり、同じデバイスの 2 人目のユーザーには、1 人目とは異なる証明書が発行されます。ユーザーが別のデバイスにログインすると、認証局から別の証明書が発行されます。クライアント証明書は TPM で保護されるため、証明書が盗まれたり、別のデバイスにインストールされたり、別のユーザーに乗っ取られたりする危険はありません。デバイスからユーザーを削除すると、その証明書も削除されます。
サードパーティ製の拡張機能を使用してクライアント証明書をプロビジョニングするには:
- Chrome サービスがあることを確認します。詳しくは、Chrome サービスのオプションをご覧ください。
管理コンソールでは、組織のすべての ChromeOS デバイスに対して、ユーザー、デバイス、アプリのデプロイと管理を簡単に行えます。
- chrome.enterprise.platformKeys API を使用して登録用の拡張機能を取得します。この拡張機能により、登録ワークフローが実装され、認証局との機能連携が行われます。
Chrome ウェブストアで、ご利用の認証局用の拡張機能を探します。認証局用の拡張機能がない場合は、ご自身で作成するか、コンサルタントやベンダーに作成を依頼できます。詳しくは、デベロッパー ガイドをご覧ください。
- 拡張機能を自動インストールします。ポリシーによって自動インストールされた拡張機能でのみ chrome.enterprise.platformKeys API を利用できます。詳しくは、アプリと拡張機能を自動的にインストールするをご覧ください。
- ゲスト ネットワークや登録ネットワークのユーザーが接続でき、認証局と通信できるようにネットワークが設定されていることを確認します。
ほとんどの場合、ゲスト ネットワークや登録ネットワークには特権アクセスがないため、エクストラネットの閲覧と、証明書登録を目的とした認証局との通信にのみ使用されます。証明書の登録手続きは、このネットワークを使用して開始できます。管理するすべての ChromeOS デバイスで、ゲスト ネットワークまたは登録ネットワークを事前に設定できます。詳しくは、ネットワークを管理するをご覧ください。
- 各 ChromeOS デバイスがドメインに登録されていることを確認します。デバイスが登録されているドメイン内のユーザーのみが、そのデバイスの証明書を利用できます。ChromeOS デバイスを登録するをご覧ください。
その他の情報
管理者は、ユーザー証明書とデバイス証明書のプロビジョニング フローを設定できます。
ユーザー証明書は管理対象ユーザーのセッションにバインドされます。この証明書は、ウェブサイト、ネットワーク、サードパーティ製アプリケーションに対するユーザーレベルの認証に使用できます。
デバイス証明書は管理対象デバイスにバインドされます。この証明書は、以下のような複数の場所で公開されます。
- 関連するユーザー セッション(デバイスと同じドメインで管理されるユーザーの場合)。
- Chrome のログイン画面。証明書は、サードパーティ製 SAML アプリのログインフローの一部としてネットワークに公開されます。
注: シングル サインオン クライアント証明書のポリシーを設定している場合、デバイス証明書はサードパーティ製 SAML アプリのログインフローでのみ公開されます。 - 管理対象ゲスト セッションのデバイスとキオスクモードのデバイス。証明書は、ウェブサイト、ネットワーク、サードパーティ製アプリに公開されます。
また、これらの証明書は、chrome.platformKeys API 経由で VPN クライアントなどの拡張機能に使われることがあります。証明書へのアクセスは、アカウントが管理対象かどうかに応じてさまざまな方法で許可されます。詳しくは、拡張機能とクライアント証明書のアクセスモデルについての記事をご覧ください。
ゲスト ネットワークまたは登録ネットワークのユーザーが、有効な証明書がない状態で EAP-TLS(802.1X)ネットワークへの接続を初めて試みると、拡張機能が自動インストール済みの場合は、一連の手順(認証を含む)を踏んでから認証局が発行した証明書をインストールするよう案内されます。証明書をインストールしたら、EAP-TLS(802.1x)ネットワークを選択して正常に接続できます。
注: Google Cloud Certificate Connector を使って証明書をデプロイすることを選択した場合、証明書はバックグラウンドで自動的にデプロイされます。ゲスト ネットワークまたは登録ネットワークでデバイスが Google サーバーに接続できる場合は、EAP-TLS(802.1x)ネットワークへの接続を試みたときに証明書が即座に利用可能になります。
TLS / SSL 相互認証を必要とする内部ウェブページにアクセスすると、証明書が必要であることを示すメッセージが表示されます。この場合、ユーザーは自動インストールされた拡張機能を手動で起動し、EAP-TLS ネットワークに接続する場合と同様の手順を行った後、ブラウザを更新すると内部ウェブページにアクセスできます。
拡張機能で chrome.platformKeys API を使用して、プラットフォームで管理されているクライアント証明書にアクセスすることができます。Android アプリでは KeyChain API を使用します。証明書の使用の可否を決めるアクセス許可モデルは、ユーザー アカウントが管理対象か管理対象外かによって異なります。デバイスが登録済みかどうかに関係なく、以下のようになります。
管理対象外のアカウントユーザーが管理対象外のアカウント(個人アカウントなど)を使ってログインすると、デバイスに手動で読み込んだ証明書はそのユーザーの所有物となり、ユーザーの管理下におかれます。この場合、ユーザーは chrome.platformKeys を使用して特定の証明書にアクセスする権限を特定の拡張機能に付与することができます。他の制限はありません。
管理対象のアカウントユーザーが管理対象のアカウント(職場のアカウントなど)を使ってログインした場合、社内で使用する証明書へのアクセス権の付与は管理者が行うことになります。管理者は、クライアント証明書の使用を許可する拡張機能と Android アプリを指定することでアクセス権を管理します。
特定のユーザー群や登録済みの Chrome ブラウザ群に対して設定を行うには、それらのユーザー アカウントまたはブラウザを 1 つのグループまたは 1 つの組織部門に配置します。グループに追加できるのはユーザー アカウントのみです。詳しくは、グループと組織部門を追加するをご覧ください。
クライアント証明書の使用を許可する拡張機能と Android アプリを指定するには:
-
-
管理コンソールで、メニュー アイコン [デバイス] [Chrome] [アプリと拡張機能] [ユーザーとブラウザ] に移動します。
Chrome ブラウザ クラウド管理に登録済みの場合は、メニュー アイコン [Chrome ブラウザ] [アプリと拡張機能] [ユーザーとブラウザ] に移動します。
- (ユーザーのみ)グループに設定を適用するには、次の操作を行います。
- [グループ] を選択します。
- 設定を適用するグループを選択します。
- (省略可)設定を部門やチームに適用するには、横で組織部門を選択します。手順を見る
-
(省略可)管理コンソールで拡張機能や Android アプリをまだ管理していない場合は、次の手順を踏みます。
-
追加アイコン にカーソルを合わせて、次のいずれかを選択します。
-
Chrome ウェブストアから追加
-
Google Play から追加
-
-
拡張機能または Android アプリを見つけて、[選択] をクリックします。プロンプトが表示されたら、組織に代わってアプリの権限を許可します。
-
-
管理する拡張機能または Android アプリをリストで見つけてクリックします。
-
右側のパネルで、[証明書の管理] にある [鍵へのアクセスを許可する] を有効にします。
注: 拡張機能を選択したのに設定が表示されない場合は、その拡張機能で証明書がサポートされていません。Android アプリを選択したのに設定が表示されない場合は、そのアプリから証明書の管理 API へのアクセスがまだ承認されていません。こちらからお問い合わせいただき、承認をリクエストしてください。 - [保存] をクリックします。
企業向け証明書へのアクセスを許可するようにユーザーが求められることはなく、chrome.enterprise.platformKeys API を使用して読み込まれた証明書のみを社内で使用できるようになります。拡張機能が複数の証明書にアクセスできる場合、ユーザーは証明書を選択するよう求められることがあります。管理対象のアカウントの場合、他の方法(手動など)で生成または読み込まれた証明書は API で利用できません。
管理対象の Android アプリでは、KeyChain API 経由で企業向け証明書を選択するようユーザーが求められることはありません。企業向け証明書が提供されている場合は、ユーザーに代わってシステムが常にその証明書を選択します。KeyChain はバックグラウンドで利用可能なすべての証明書を Android アプリに通知します。アプリ内でダイアログをユーザーに直接表示するかどうかをアプリで指定できます。
Android アプリに関する考慮事項
- ユーザー証明書は Chrome バージョン 89 以降でサポートされています。
- デバイス証明書は Chrome バージョン 93 以降でサポートされています。
- 一部の Android アプリにはアクセスが承認されていません。特定の Android アプリについて承認をリクエストするには、こちらからお問い合わせください。