LDAPS の使用

デフォルトでは、Managed Service for Microsoft Active Directory とクライアント アプリケーション間の通信は、単純な LDAP バインドでは暗号化されません。LDAP over SSL(LDAPS)を使用すると、LDAP トラフィックの機密性と安全性を高めることができます。

このトピックでは、Managed Service for Microsoft Active Directory で LDAP over SSL(LDAPS)を有効または無効にする方法について説明します。このトピックでは、必要な証明書の仕様と、その証明書を検証およびモニタリングする方法についても説明します。

証明書のリクエスト

証明書は、Public 認証局(CA)、Enterprise CA、Google Cloud Certificate Authority Service からリクエストするか、自己署名証明書を使用できます。Windows、OpenSSL または MakeCert で、New-SelfSignedCertificate コマンドを使用して自己署名証明書を作成できます。

証明書の要件

証明書は次の要件を満たしている必要があります。

  • サブジェクト名Managed Microsoft AD ドメインのワイルドカード接頭辞名である必要があります。たとえば、ドメイン名が ad.mycompany.com の場合、サブジェクト名は CN=*.ad.mycompany.com にする必要があります。

  • サブジェクト代替名(DNS 名または SAN)。次のもののみを含める必要があります。

    • Managed Microsoft AD ドメインのワイルドカード名
    • Managed Microsoft AD のドメイン名。例: "CN=*.ad.mycompany.com","CN=.ad.mycompany.com"
  • KeySpec。"1" に設定する必要があります。これは、デジタル署名と鍵交換の両方に使用できることを示します。

  • KeyLength。最小鍵サイズは、暗号アルゴリズムによって異なります。

    • RSA: 2048 ビット以上
    • ECDSA: 256 ビット以上
    • ED25519: 512 ビット(固定長)
  • KeyUsage。「デジタル署名」と「鍵の暗号化」を含める必要があります。

  • EnhancedKeyUsageExtension。サーバー認証用には OID=1.3.6.1.5.5.7.3.1 が必要です。

  • NotBefore。証明書の有効になる時間。LDAPS を有効にする場合は、証明書が有効である必要があります。

  • NotAfter。証明書が有効でなくなる時間。LDAPS を有効にする場合は、証明書が有効である必要があります。

  • 発行チェーン。証明書チェーン全体をアップロードし、有効にする必要があります。チェーンは線形でなければならず、複数のチェーンを含めることはできません。

  • 署名アルゴリズム。SHA-1、MD2、MD5 などの弱い署名アルゴリズムはサポートされていません。

  • 証明書形式。形式は、公開鍵暗号標準(PKCS)#12 に準拠している必要があります。PFX ファイルを使用する必要があります。

Public CA または Enterprise CA からのリクエスト

Public CA または Enterprise CA から証明書をリクエストするには、こちらの手順に従ってください。

必ず、リクエストが生成された VM 上で証明書を受け入れてください。

証明書の PKCS #12 形式でのエクスポート

証明書を PKCS #12 形式でエクスポートするには、次の手順を行い、PFX ファイルとしてエクスポートします。

  1. Windows の場合、Microsoft Management Console(MMC)で証明書に移動します

  2. [ローカル コンピュータの証明書] を展開し、[パーソナル > 証明書] に移動します。

  3. 作成した証明書を右クリックして LDAP を有効にし、[すべてのタスク] > [エクスポート] の順に選択します。

  4. 証明書エクスポート ウィザードで、[次へ] を選択します。

  5. [秘密鍵のエクスポート] ページで、[はい] を選択して秘密鍵をエクスポートします。

  6. エクスポート ファイル フォーマットページで、Personal Information Exchange - PKCS #12(.PFX)を選択し、可能であれば、認証パスにすべての証明書を含め、[次へ] を選択します。

  7. [セキュリティ] ページで、[パスワード] を選択し、証明書を保護するために強力なパスワードを入力します。このパスワードは、Managed Microsoft AD ドメインで LDAPS を構成するときに必要です。[次へ] を選択します。

  8. [エクスポートするファイル] ページで、エクスポートする PFX ファイルの宛先の名前とパスを指定してから、[次へ] を選択します。

  9. 証明書のエクスポート ウィザードで、[完了] をクリックします。

クライアント コンピュータへの発行者チェーンのエクスポート

LDAPS が機能するためには、すべてのクライアント コンピュータが LDAPS 証明書の発行元を信頼する必要があります。著名なPublic CA の場合、クライアント コンピュータがすでにカード発行会社のチェーンを信頼している可能性があります。チェーンが信頼されていない場合、発行者チェーンをエクスポートするには、次の手順を行います。

  1. Windows の場合、Microsoft Management Console(MMC)で証明書に移動します

  2. [ローカル コンピュータの証明書] を展開し、[パーソナル > 証明書] に移動します。LDAPS 証明書をダブルクリックします。

  3. [証明書] ページで、[証明書のパス] タブを選択します。

  4. [証明書のパス] タブで、パスのルート証明書を選択します。

  5. [証明書を表示] を選択し、[詳細] タブを選択します。

  6. [詳細] タブで、[ファイルにコピー] を選択します。

  7. 証明書のエクスポート ウィザードで、[Base-64 encoded X.509] を選択し、[次へ] を選択します。

  8. 証明書チェーンのファイル名と場所を選択し、[完了] を選択します。

  9. LDAPS 接続を確立しているクライアント マシンに証明書をコピーするには、証明書のインポート ウィザードを使用して「ローカルマシン」ストアに証明書をインポートします。また、発行元の証明書チェーンをクライアント マシンに配信することもできます。Windows では、グループ ポリシーを使用することでこの操作を行えます。

Managed Microsoft AD ドメインで LDAPS を有効にする

Managed Microsoft AD ドメインで LDAPS を有効にするには、次の手順を行います。

  1. アカウントに managedidentities.domains.updateLDAPSSettings 権限が付与されていることを確認します。この権限は、個別に付与することも、roles/managedidentities.admin または roles/managedidentities.domainAdmin の IAM 役割を付与することもできます。詳しくは、Managed Microsoft AD の IAM ロールをご覧ください。

  2. 次の手順を実行します。

    コンソール

    1. Cloud Console の [Managed Microsoft AD] ページに移動します。
      [Managed Microsoft AD] ページに移動
    2. [Managed Microsoft AD] ページのインスタンス一覧で、LDAPS を有効にするドメインを選択します。
    3. ドメインの詳細ページの [LDAPS] で、[LDAPS の構成] を選択します。
    4. [LDAPS の構成] ペインで、PKCS #12 形式で証明書をエクスポートしたときに作成した PFX ファイルの場所とパスワードを指定します。次に [LDAPS の構成] を選択します。

    gcloud

    次の gcloud ツールコマンドを実行します。

    gcloud active-directory domains update-ldaps-settings DOMAIN_NAME \
        --certificate-pfx-file=PFX_FILENAME \
        --certificate-password=PASSWORD
    

LDAPS の確認

LDAPS バインドを実行することで、LDAPS が有効になっていることを確認できます。このプロセスでは、VM をドメインに参加させるときにインストールする RSAT ツールの 1 つである LDP.exe を使用します。

ドメインに参加している Google Cloud Windows VM で、PowerShell の次の手順を実行します。

  1. PowerShell で LDP.exe を起動し、[Connection] > [Connect] に移動します。

  2. [Connect] ダイアログで、次の手順を行います。

    1. [Server] をドメイン名に設定します。
    2. [Port] を 636 に設定します。
    3. [SSL] を選択します。
    4. [OK] をクリックします。

    LDAPS が正しく有効になっている場合、接続は成功します。

証明書のモニタリング

証明書チェーンの有効期間(TTL)は、Cloud Monitoring で確認できます。cert_ttl 指標には、チェーン内の有効期限が短い有効な証明書の日数が表示されます。

Metrics Explorer を使用してモニタリング対象リソースの指標を表示する手順は次のとおりです。

  1. Google Cloud Console で、[Monitoring] ページに移動します。

    [Monitoring] に移動

  2. [Monitoring] のナビゲーション パネルで、 [Metrics Explorer] をクリックします。
  3. [Configuration] タブを選択し、[Resource type] と [Metric] を入力または選択します。次の情報を使用して、フィールドに入力します。
    1. [Resource] には、[Microsoft Active Directory Domain] を選択または入力します。
    2. [Metric] には、メニューから選択するか LDAPS Certificate TTL を入力します。
  4. (省略可)データの表示方法を構成するには、[Filter]、[Group By]、[Aggregator] の各メニューを使用します。 たとえば、リソースラベルや指標ラベルごとにグループ化できます。詳しくは、指標の選択をご覧ください。

Query Editor を使用して、こうした指標を見つけることもできます。

  1. [指標] タブで [Query Editor] を選択します。

  2. 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 を無効にするには、次の手順を行います。LDAPS を再度有効にするには、証明書を再アップロードする必要があります。

コンソール

  1. Cloud Console の [Managed Microsoft AD] ページに移動します。
    [Managed Microsoft AD] ページに移動
  2. [Managed Microsoft AD] ページのインスタンスのリストで、証明書を無効にするドメインを選択します。
  3. ドメインの詳細ページの [LDAPS] で証明書を選択し、[無効にする] を選択します。

gcloud

次の gcloud ツールコマンドを実行します。

gcloud active-directory domains update-ldaps-settings DOMAIN \
     --clear-ldaps-certificate