CACがWindows ADからユーザー情報とコンピューター情報を取得するときにLDAPS(LDAP over SSL)を使ってアクセスします。
Windows ADでLDAPSを使えるようにするためには、証明書をインストールする必要があります。
ここでは、自己署名証明書(オレオレ証明書)を作成して、LDAPSを有効にする方法を説明します。
なお、WindowsCAサーバーがすでにある場合は、LDAPSが使えるようになっていますので、自己署名証明書を用意する必要はありません。
また、別のアプリケーションを使用するためにすでに証明書がインストールされてLDAPSが使える環境であれば、ここでの作業は必要ありません。
この記事はTeradici社の以下の記事を参考に書かれています。
原文を読みたい方は以下からどうぞ。
証明書の作成
自己署名証明書は、Linux等でも作成可能ですが、ここではWindowsのPower shellを使って自己署名証明書を作成してインストールします。
説明のために以下の設定を使用します。
実際にインストールする場合は、お使いの環境に合わせて設定してください。
記事中、「.local」を使用していますが、環境によっては名前解決に不具合が生じますので、新規でADを導入する場合は会社のサブドメインとして登録することをお勧めします。
例:会社のドメインが「corp.contoso.com」であれば「ad.corp.contoso.com」などにする。
すでにドメインが構築されている環境では、ドメイン名およびサーバー名をお使いの環境の物に読み替えて進めてください。
・ドメイン名 pcoip.local
・ADサーバーのコンピューター名 ad2019
Power Shellwを管理者モードで開きます。
2.最初に以下のコマンドを使って自己署名証明書を作成します。c:\user\xxx>はもともと表示されているので入力する必要はありません。
c:\user\xxx>$domain_name = “pcoip.local”
ドメイン名をdomain_nameという変数に代入します。
c:\user\xxx>$dns_name = $env:computername + ‘.’ + $domain_name;
$env:computernameから取得したコンピューター名を$domain_name;と結合し、dns_nameに代入します。dns_nameの中身はAD2019.pcoip.local となっています。
内容の確認は 「echo $dns_name」でできます。
c:\user\xxx>$mycert=New-SelfSignedCertificate -DnsName $dns_name -CertStoreLocation cert:/LocalMachine/My -NotAfter (Get-Date).AddYears(5)
注意:上記コマンドは2行になっていますが、実際には改行していません。連続して入力してください。自己署名証明書を作成し, -CertStoreLocation で指定された場所に配置されます。 この例の場合は、ローカルマシンの個人フォルダに配置されます。 -NotAfter (Get-Date).AddYears(5)で証明書の有効期限を指定(ここでは5年)します。指定しない場合はデフォルトで1年です
3.certlm.mscを起動して、個人フォルダに証明書が配置されているのを確認します。
証明書が正しく追加されていたら次へと進みます。
証明書のインストール
自己署名証明書をインストールして、LDAPSを有効にします。インストールは、作成した自己署名証明書を、NTDS サービスの個人用証明書ストアにコピーします。
Powershellを管理者権限で起動して,以下のコマンドを実行します。
c:\user\xxx>$thumbprint=($mycert.Thumbprint | Out-String).Trim();
サーバー証明書を、$thumbprintにコピーします。
c:\user\xxx>$certStoreLoc=’HKLM:/Software/Microsoft/Cryptography/Services/NTDS/SystemCertificates/My/Certificates’
c:\user\xxx>if (!(Test-Path $certStoreLoc)){
>> New-Item $certStoreLoc -Force;
>> };
署名書ストアに対応するレジストリにを$certStoreLocに代入します。
「if~」で指定したブロックでレジストリがあるか探し、無い場合は新しく作成します。「>>」は改行すると表示されますので入力の必要はありません。
c:\user\xxx>Copy-Item -Path HKLM:/Software/Microsoft/SystemCertificates/My/Certificates/$thumbprint -Destination $certStoreLoc;
証明書をコピーします
証明書が正しく配置されたか確認する。
管理コンソール(mmc.exe)を起動します。
「ファイル」「スナップ印の削除と追加」を開き「証明書」を選んで「追加」をクリックします。「サービスアカウント」を選択して次へをクリックします。
「ローカルコンピューター」を選んで次へをクリックします。
「Active Directory Domain Service」を選択して完了です。
「NDIS¥個人」「証明書」に作成した証明書がコピーされていることを確認してください。
コマンドを使わずにコピーする場合は、「certlm.msc」を起動し、最初に作成した証明書をエクスポートして、それを「NDIS¥個人」「証明書」インポートします。
Cloud Access Connectorからアクセスするためのユーザの作成
CACがLDAP経由でユーザー名とコンピューター名を取得するためには、対象となるコンテナに対してアクセス権のあるユーザーを作成する必要があります。
ここではPOC用に以下のユーザー名とグループ名を使用しますが、本番環境では管理者と相談し適切なアクセス権を持ったユーザーとグループを作成してください。
グループ名 camgroup
ユーザー名 camadmin (camgroup, domain adminsに所属)
以上でCACインストールのための自己署名証明書のインストールの完了です。