このページでは、Managed Service for Microsoft Active Directory(マネージド Microsoft AD)で LDAP over SSL/TLS(LDAPS)を有効にして、LDAP トラフィックの機密性と安全性を高める方法について説明します。デフォルトでは、マネージド Microsoft AD とクライアント アプリケーション間の通信は、単純な LDAP バインドでは暗号化されません。
LDAPS を有効にするには、証明書が必要です。このページでは、必要な証明書の仕様と証明書の検証およびモニタリングの方法についても説明します。
証明書をリクエスト
Public Certificate Authority(CA)、Enterprise CA、Google Cloud Certificate Authority Service から証明書をリクエストするか、自己署名証明書を使用できます。自己署名証明書を使用する場合は、次のセクションの PowerShell コマンドにリンクされた Microsoft のドキュメントに従ってください。
Windows、OpenSSL、MakeCert では、New-SelfSignedCertificate
コマンドを使用して自己署名証明書を作成できます。
証明書の要件
証明書は以下の要件を満たしている必要があります。
- 次の表は、自己署名証明書を作成するための要件の概要と、
New-SelfSignedCertificate
コマンドで使用される関連パラメータを示しています。パラメータやフィールドの名前は、証明書の作成方法によって異なる場合があります。
パラメータ | 説明 |
---|---|
Subject (サブジェクト名) |
アップグレードまたは復元プロセス中にサービスの可用性を維持するため、マネージド Microsoft AD ドメインのワイルドカードが前に付いた名前にする必要があります。これは、ドメイン コントローラーがアップグレードや復元のプロセスの中で変更されるランダムな名前を使用するためです。たとえば、ドメイン名が ad.mycompany.com の場合、サブジェクト名は CN=*.ad.mycompany.com にする必要があります。 |
DnsName (DNS 名またはサブジェクトの代替名) |
次のもののみを含める必要があります。"CN=*.ad.mycompany.com","CN=.ad.mycompany.com"
|
KeySpec |
デジタル署名と鍵交換の両方に使用できることを示す 1 に設定する必要があります。
|
KeyLength |
最小鍵サイズは、暗号アルゴリズムによって異なります。 |
KeyUsage |
「デジタル署名」と「鍵による暗号化」を含める必要があります。 |
TextExtension または EnhancedKeyUsageExtension |
サーバー認証には OID=1.3.6.1.5.5.7.3.1 が必要です。
|
NotBefore |
証明書の有効になる時間。LDAPS を有効にする場合は、証明書が有効である必要があります。 |
NotAfter |
証明書が有効でなくなる時間。LDAPS を有効にする場合は、証明書が有効である必要があります。. |
KeyAlgorithm (署名アルゴリズム) |
SHA-1、MD2、MD5 などの弱い署名アルゴリズムはサポートされていません。 |
発行チェーン: 証明書チェーン全体をアップロードして、有効にする必要があります。チェーンは線形でなければならず、複数のチェーンを含めることはできません。
証明書の形式: 形式は Public-Key Cryptography Standards(PKCS)#12 に準拠している必要があります。PFX ファイルを使用する必要があります。
Public CA または Enterprise CA からリクエストする
Public CA または Enterprise CA から証明書をリクエストするには、こちらの手順を行ってください。
リクエストが生成されたものと同じ VM で証明書を受け入れます。
証明書を PKCS #12 形式でエクスポートする
証明書を PKCS #12 形式(PFX ファイルとして)でエクスポートするには、次の手順を行います。
Windows では、Microsoft 管理コンソール(MMC)で証明書に移動します。
[ローカル コンピュータ証明書] を展開し、[個人用] > [証明書] に移動します。
作成した証明書を右クリックして LDAPS を有効にし、[すべてのタスク] > [エクスポート] を選択します。
表示される [証明書のエクスポート ウィザード] ダイアログで、[次へ] をクリックします。
[秘密鍵をエクスポート] ページで、[はい] を選択して秘密鍵をエクスポートします。
アプリケーションの [エクスポート ファイル フォーマット] ページで、[Personal Information Exchange - PKCS #12(.PFX)] を選択し、可能であれば、認証パスにすべての証明書を含めます。[次へ] をクリックします。
[セキュリティ] ページで [パスワード] チェックボックスをオンにして、証明書を保護するための強力なパスワードを入力します。[Next] をクリックします。 このパスワードは、Managed Microsoft AD ドメインで LDAPS を構成するときに必要です。
[File to Export] ページで、エクスポートする PFX ファイルの宛先の名前とパスを入力します。[次へ] をクリックします。
[完了] をクリックします。
PKCS #12 形式の秘密鍵を使用して自己署名証明書を PFX ファイルとしてエクスポートするには、Export-PfxCertificate
コマンドを使用し、自己署名証明書を PEM ファイルとしてエクスポートします。Export-Certificate
コマンドを使用します。
クライアント コンピュータへの発行元チェーンを配信する
LDAPS が機能するためには、すべてのクライアント コンピュータが LDAPS 証明書の発行元を信頼する必要があります。よく知られている Public CA の場合、クライアント コンピュータによって発行元チェーンがすでに信頼されている場合があります。チェーンが信頼されていない場合は、次の手順で発行元チェーンをエクスポートします。
Windows では、Microsoft 管理コンソール(MMC)で証明書に移動します。
[ローカル コンピュータ証明書] を展開し、[個人用] > [証明書] に移動します。LDAPS 証明書をダブルクリックします。
[証明書] ウィンドウで、[証明書パス] タブをクリックします。
[証明書のパス] タブで、パスのルート証明書を選択します。
[証明書を表示] をクリックします。
[詳細] タブをクリックし、[ファイルにコピー] をクリックします。
表示される [証明書のエクスポート ウィザード] ダイアログで、[Base-64 encoded X.509] を選択して [次へ] をクリックします。
証明書チェーンのファイル名と場所を選択し、[完了] をクリックします。
LDAPS 接続を確立するクライアント コンピュータに証明書をコピーするには、[証明書のインポート ウィザード] ダイアログを使用して、「ローカルマシン」ストアに証明書をインポートします。また、Windows のグループ ポリシーを使用してクライアント コンピュータに発行元の証明書チェーンを配布することもできます。
自己署名証明書をローカルマシンの信頼できるルートストアにインポートするには、Import-Certificate
コマンドを使用します。
Managed Microsoft AD ドメインで LDAPS を有効にする
Managed Microsoft AD ドメインで LDAPS を有効にする前に、以下を行います。
次のいずれかの IAM ロールがあることを確認します。
- Google Cloud Managed Identities 管理者(
roles/managedidentities.admin
) - Google Cloud Managed Identities ドメイン管理者(
roles/managedidentities.domainAdmin
)
マネージド Microsoft AD の IAM ロールの詳細については、アクセス制御をご覧ください。
- Google Cloud Managed Identities 管理者(
Managed Microsoft AD ドメインで LDAPS を有効にするには、次の手順を行います。
コンソール
- Google Cloud コンソールで、[マネージド Microsoft AD] ページに移動します。
[Managed Microsoft AD] に移動 - [ドメイン] ページで、インスタンスのリストから LDAPS を有効にするドメインを選択します。
- [ドメインの詳細] ページの [LDAPS] セクションで、[LDAPS を構成] をクリックします。
- [LDAPS を構成] ペインで、PKCS #12 形式で証明書をエクスポートするために使用した PFX ファイルの場所とパスワードを入力し、[LDAPS を構成] をクリックします。
gcloud
次の gcloud CLI コマンドを実行します。
gcloud active-directory domains update-ldaps-settings DOMAIN_NAME \ --certificate-pfx-file=PFX_FILENAME \ --certificate-password=PASSWORD
以下を置き換えます。
- DOMAIN_NAME: マネージド Microsoft AD ドメインの完全なリソース名。完全なリソース名の形式:
projects/PROJECT_ID/locations/global/domains/DOMAIN_NAME
。 - PFX_FILENAME: LDAPS の構成に使用する証明書チェーンを指定する PKCS #12 形式の PFX ファイル。
- PASSWORD: PKCS #12 証明書の暗号化に使用するパスワード。パスワードを指定しない場合、コマンドの実行中にパスワードの入力を求められます。
この操作は、完了するまでに最大 20 分かかります。証明書を更新するには、更新された PFX ファイルでこれらの手順を繰り返します。
LDAPS を検証する
LDAPS バインドを実行して、LDAPS が有効になっていることを確認できます。このプロセスでは、LDP.exe
を使用します。これは、VM をドメインに参加させる際にインストールする RSAT ツールの 1 つです。
ドメインに参加している Google Cloud Windows VM で、PowerShell で次の手順を行います。
PowerShell で
LDP.exe
を起動し、[Connection] > [Connect] に移動します。[Connect] ダイアログで、次の手順を行います。
- [サーバー] フィールドにドメイン名を入力します。
- [ポート] フィールドに、「
636
」と入力します。 - [SSL] チェックボックスをオンにします。
- [OK] をクリックします。
LDAPS が正しく有効になっている場合、接続は成功します。
証明書をモニタリングする
証明書チェーンの有効期間(TTL)は、Cloud Monitoring で確認できます。cert_ttl
指標は、有効期限が最も早いチェーン内の証明書の残りの有効日数を示します。
コンソール
Metrics Explorer を使用してモニタリング対象リソースの指標を表示するには、次の操作を行います。
-
Google Cloud コンソールで、leaderboard[Metrics Explorer] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。
- [指標] 要素の [指標を選択] メニューを展開してフィルタバーに「
LDAPS Certificate TTL
」と入力し、サブメニューを使用して特定のリソースタイプと指標を選択します。- [アクティブなリソース] メニューで、[Microsoft Active Directory ドメイン] を選択します。
- [有効な指標カテゴリ] メニューで、[Microsoft_ad] を選択します。
- [有効な指標] メニューで、[LDAPS Certificate TTL] を選択します。
- [適用] をクリックします。
表示から時系列を削除するには、[フィルタ] 要素を使用します。
時系列を結合するには、[集計] 要素のメニューを使用します。たとえば、ゾーンに基づいて VM の CPU 使用率を表示するには、最初のメニューを [平均] に設定し、2 番目のメニューを [ゾーン] に設定します。
[集計] 要素の最初のメニューが [未集計] に設定されている場合は、すべての時系列が表示されます。[集計] 要素のデフォルト設定は、選択した指標タイプによって決まります。
- 割り当てと、1 日に 1 つのサンプルを報告するその他の指標については、次の操作を行います。
- [表示] ペインで、[ウィジェット タイプ] を [積み上げ棒グラフ] に設定します。
- 期間は少なくとも 1 週間に設定します。
[ドメインの詳細] ページの [LDAPS] セクションで [モニタリング] をクリックして、[Metrics Explorer] に移動することもできます。
Query Editor を使用して、こうした指標を見つけることもできます。
[指標] タブで [Query Editor] を選択します。
Query Editor のテキスト フィールドに、次の MQL クエリを入力し、[クエリを実行] を選択します。
fetch microsoft_ad_domain | metric 'managedidentities.googleapis.com/microsoft_ad/domain/ldaps/cert_ttl' | group_by 1m, [value_cert_ttl_mean: mean(value.cert_ttl)] | every 1m | group_by [resource.fqdn], [value_cert_ttl_mean_aggregate: aggregate(value_cert_ttl_mean)]
LDAPS を無効にする
LDAPS を無効にするには、次の手順を行います。
コンソール
- Google Cloud コンソールで、[マネージド Microsoft AD] ページに移動します。
[マネージド Microsoft AD] に移動 - [ドメイン] ページで、証明書を無効にするインスタンスのリストからドメインを選択します。
- [ドメインの詳細] ページの [LDAPS] セクションで、[無効にする] をクリックします。
gcloud
次の gcloud CLI コマンドを実行します。
gcloud active-directory domains update-ldaps-settings DOMAIN_NAME \ --clear-ldaps-certificate
DOMAIN_NAME は、マネージド Microsoft AD ドメインの完全なリソース名に置き換えます。完全なリソース名の形式: projects/PROJECT_ID/locations/global/domains/DOMAIN_NAME
。
この操作は、完了するまでに最大 20 分かかります。注: LDAPS を再度有効にするには、証明書を再アップロードする必要があります。