この
- ベンダーのドキュメントを
確認 する
この記事 で紹介 する LDAP クライアントのセキュア LDAP サービスへの接続 手順 は変更 される可能 性 があるため、あくまで参考 としてご利用 ください。クライアントをセキュア LDAP サービスに接続 する最新 の手順 については、このヘルプセンター記事 のほか、ご利用 のベンダーのドキュメントをご確認 ください。 始 める前 に
手順 を開始 する前 に、セキュア LDAP サービスへのクライアントの追加 、アクセス権限 の設定 、クライアント証明 書 とキーのダウンロード、アクセス認証 情報 の生成 (省略 可 )が完了 していることを確認 してください。接続 テスト
これらの手順 を開始 する前 に、必要 に応 じて ldapsearch、ADSI、ldp.exe といった平易 なツールを使用 して簡易 的 な接続 テストを実施 できます。これらのツールは、LDAP クライアントをサービスに接続 しようとしてエラーが発生 した場合 のトラブルシューティングにも利用 できます。テスト手順 については、セキュア LDAP の接続 テストをご覧 ください。設定 手順 を完了 する方法
この記事 の手順 に沿 って LDAP クライアントを接続 したら、Google管理 コンソールでサービスのステータスを [オン] に切 り替 えて LDAP クライアントの設定 を完了 する必要 があります。手順 については、5. LDAP クライアントをオンにするをご覧 ください。
この記事 の内容
この
基本 的 な設定 手順 - この記事 で個別 に説明 していない LDAP クライアント向 けの一般 的 な接続 手順 です。特定 の LDAP クライアントの設定 手順 -特定 の LDAP クライアント(Atlassian Jira、OpenVPN など)をセキュア LDAP サービスに接続 するための手順 です。手順 はクライアントの種類 によって異 なります。- Java アプリケーションの
設定 手順 - LDAP機能 を備 えた Java ベースのアプリケーションに関 する一般 的 な手順 です。 - (
省略 可 )stunnel をプロキシとして使用 する - ここで扱 う手順 には、デジタル証明 書 をサポートしていない LDAP クライアントを接続 する際 の考慮 事項 も含 まれています。
基本 的 な設定 手順
ここでは、LDAP クライアントをセキュア LDAP サービスに
LDAP クライアントをセキュア LDAP サービスに
- Cloud Directory を
使用 して、LDAP クライアントを LDAP サーバーとして設定 します。 - LDAP クライアントに
証明 書 をアップロードします。
セキュア LDAP サービスは、TLS クライアント証明 書 を主要 な認証 メカニズムとして使用 します。証明 書 を LDAP クライアントにアップロードする手順 を開始 するには、LDAP クライアントの認証 設定 またはディレクトリ設定 を開 いて、下 の表 に記載 された詳細 情報 を入力 します。注 : TLS証明 書 をアップロードする方法 とアップロード先 の詳細 については、ベンダーのドキュメントを参照 してください。
ホスト |
ldap.google.com |
ポート |
StartTLS を |
ベース DN |
DN example.com の |
ユーザー |
Google |
クライアント |
Google |
特定 の LDAP クライアントの設定 手順
ADSI エディター(Windows)
- ldp.exe(Windows)の
手順 1~11 を行 ってクライアント証明 書 をインストールします。 - [
操作 ] > [接続 先 ] に移動 します。 次 の接続 設定 を入力 します。
名前 :接続 の名前 を入力 します(例 : Google LDAP)。
接続 ポイント: [識別 名 または名前 付 けコンテキストを選択 または入力 する] を選択 します。
ドメイン名 を DN形式 で入力 します(例 : example.com の場合 は dc=example,dc=com)。
コンピュータ: [ドメインまたはサーバーを選択 または入力 する] を選択 し、次 のように入力 します。
ldap.google.com
SSL ベースの暗号 化 を使用 する: オン
- [
詳細 設定 ] をクリックし、次 の情報 を入力 します。
資格 情報 を指定 する: オン
ユーザー名 :管理 コンソールで生成 したアクセス認証 情報 のユーザー名
パスワード:管理 コンソールで生成 したアクセス認証 情報 のパスワード
ポート番号 : 636
プロトコル: LDAP
簡易 結合 認証 : オン
- [OK] をクリックし、
再度 [OK] をクリックします。 接続 に成功 すると、ベース DN の Active Directory の内容 が右側 のパネルに表示 されます。
Apache Directory Studio を
- [File] > [New…] をクリックします。
- [LDAP Browser] > [LDAP Connection] を
選択 します。 - [Next] をクリックします。
接続 パラメータを次 のように入力 します。
Connection name:名前 を選択 します(例 : Google LDAP)
Hostname: localhost
Port: 1389(または stunnel の待 ち受 けポート)
Encryption method: No encryption(注 : stunnel がリモートで実行 されている場合 は、stunnel とクライアントとの間 で暗号 化 を実施 することをおすすめします)
- [Next] をクリックします。
認証 パラメータを次 のように入力 します。
Authentication Method: Simple Authentication
Bind DN or user:管理 コンソールで生成 したアクセス認証 情報 のユーザー名
Bind password:管理 コンソールで生成 したアクセス認証 情報 のパスワード
- [Next] をクリックします。
- ベース DN を
入力 します。
これは DN形式 のドメイン名 です(example.com の場合 は dc=example,dc=com)。 - [Finish] をクリックします。
Atlassian Jira は、より
Atlassian Jira クライアントをセキュア LDAP サービスに
証明 書 とキーを Jira サーバーにコピーします(LDAP クライアントをセキュア LDAP サービスに追加 した際 に Google管理 コンソールで生成 される証明 書 です)。
例 :
$ scp ldap-client.key user@jira-server:
証明 書 とキーを Java キーストア形式 に変換 します。この操作 中 に、何 度 かパスワードを入力 することになります。作業 を簡素 化 するためには、安全 なパスワードを選 び、入力 を求 められたら毎回 同 じパスワードを使用 してください。
$ openssl pkcs12 -export -out jira-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key
$ sudo /opt/atlassian/jira/jre/bin/keytool -v -importkeystore -srckeystore jira-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore /opt/atlassian/jira/jira-ldap.jks -deststoretype JKS
新 たに作成 したキーストアを使用 するように Jira を設定 します。こちらの手順 に沿 ってオプションを追加 します。
“-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password”
Linux の場合 :- /opt/atlassian/jira/bin/setenv.sh を
編集 します。 - JVM_SUPPORT_RECOMMENDED_ARGS
設定 を探 します。 - "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=<パスワード>" を
追加 します。<パスワード> の部分 は上記 で選 んだパスワードに置 き換 えます。
- /opt/atlassian/jira/bin/setenv.sh を
- Jira を
再 起動 します。
$ /opt/atlassian/jira/bin/stop-jira.sh
$ /opt/atlassian/jira/bin/start-jira.sh
- Jira ウェブ インターフェースに
管理 者 としてログインします。- [Settings] > [User management] に
移動 します(設定 には、右 上 の歯車 アイコンからアクセスします)。 - [User Directories] をクリックします。
- [Add Directory] をクリックします。
- タイプは [LDAP] を
選択 します。 - [Next] をクリックします。
- [Settings] > [User management] に
次 のように入力 します。Name
Google Secure LDAP
Directory type
OpenLDAP
Hostname
ldap.google.com
Port
636
Use SSL
オン
Username
Google
管理 コンソールでユーザー名 とパスワードを生成 します。手順 については、アクセス認証 情報 を生成 するをご覧 ください。Password
Google
管理 コンソールでユーザー名 とパスワードを生成 します。手順 については、アクセス認証 情報 を生成 するをご覧 ください。Base DN
DN
形式 のドメイン名 (例 : example.com の場合 は dc=example,dc=com)Additional User DN
省略 可 。"ou=Users"Additional Group DN
省略 可 。"ou=Groups"LDAP Permissions
Read only
Advanced Settings
変更 なしUser Schema Settings >
User Name AttributegoogleUid
User Schema Settings >
User Name RDN Attributeuid
Group Schema Settings >
Group Object ClassgroupOfNames
Group Schema Settings >
Group Object Filter(objectClass=groupOfNames)
Membership Schema Settings >
Group Members Attributemember
Membership Schema Settings >
Use the User Membership Attributeオン - グループに
役割 を割 り当 てます。
ユーザーが Atlassian Jira にログインするには、Jira へのアクセスを許可 されたグループのメンバーである必要 があります。
グループに役割 を付与 するには:- [Settings] > [Applications] > [Application access] に
移動 します。 - [Select group] テキスト ボックスに、Jira へのアクセスを
許可 する Google グループの名前 を入力 します。
- [Settings] > [Applications] > [Application access] に
CloudBees Core をセキュア LDAP サービスに
- /etc/freeradius/3.0/ に FreeRADIUS をインストールして
設定 します。
FreeRADIUS をインストールしたら、freeradius-ldap プラグインをインストールして LDAP設定 を追加 できます。
$ sudo apt-get install freeradius freeradius-ldap
- LDAP クライアント キーのファイルを /etc/freeradius/3.0/certs/ldap-client.key に、
証明 書 のファイルを /etc/freeradius/3.0/certs/ldap-client.crt にそれぞれコピーします。
$ chown freeradius:freeradius
/etc/freeradius/3.0/certs/ldap-client.*
$ chmod 640 /etc/freeradius/3.0/certs/ldap-client.*
- LDAP モジュールを
有効 にします。
$ cd /etc/freeradius/3.0/mods-enabled/
$ ln -s ../mods-available/ldap ldap
- /etc/freeradius/3.0/mods-available/ldap を
編集 します。- ldap->server = 'ldaps://ldap.google.com:636'
- identity = アプリケーション
認証 情報 のユーザー名 - password = アプリケーション
認証 情報 のパスワード - base_dn = ‘dc=domain,dc=com’
- tls->start_tls = no
- tls->certificate_file = /etc/freeradius/3.0/certs/ldap-client.cer
- tls->private_key_file = /etc/freeradius/3.0/certs/ldap-client.key
- tls->require_cert = ‘allow’
- セクション 'ldap -> post-auth -> update' を
表 すパンくずリスト内 のすべてのフィールドをコメントアウトする
- /etc/freeradius/3.0/sites-available/default を
編集 します。
この編集 により FreeRadius クライアント接続 が変更 されます。デフォルトのクライアントを使用 していない場合 は、設定 したクライアント(inner-tunnel またはカスタム クライアント)を必 ず更新 してください。
- authorize セクションで、パスワード
認証 プロトコル(PAP)ステートメントの後 に次 のブロックを追加 します。
if (User-Password) {
update control {
Auth-Type := ldap
}
}
- authorize セクションで、LDAP の
前 にある「-」記号 を削除 して LDAP を有効 にします。
#
# The ldap module reads passwords from the LDAP database.
ldap
- authenticate セクションで、Auth-Type LDAP ブロックを
次 のように編集 します。
# Auth-Type LDAP {
ldap
# }
- authenticate セクションで、Auth-Type PAP ブロックを
次 のように編集 します。
Auth-Type PAP {
# pap
ldap
}
- authorize セクションで、パスワード
GitLab をセキュア LDAP サービスに
Itopia または Ubuntu をセキュア LDAP サービスに
- Ivanti ウェブサーバーで、テキスト エディタを
使用 して OpenLDAPAuthenticationConfiguration.xml または OpenLDAPSSLAuthenticationConfiguration.xml を開 きます。次 の両方 のフォルダでこれを行 います。
C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework、C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess(servicedesk はインスタンス名 です) - <Server> の
値 を ldap.google.com に更新 します。 - <Port> の
値 をポート 3268(StartTLS を有効 にしたクリアテキスト)と 3269(SSL / TLS ポート)に更新 します(デフォルトでは、クリアテキスト ポートが 389、SSL / TLS ポートが 636 です)。 - <TestDN> の
値 を DN形式 のドメイン名 に設定 します(例 : example.com の場合 は dc=example,dc=com)。 - ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config と ..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config の
両方 に、次 のいずれかの行 を追加 します。
<add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPLogon.OpenLDAPAuthenticationProvider" />
または
<add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
- Ivanti の Configuration Center で、
必要 なインスタンスを開 きます。 - Service Desk Framework アプリケーションの
横 にある [Edit] をクリックします。
Service Desk Framework の [Edit Application] ダイアログが表示 されます。 - [Configuration parameters] グループの [Logon policy] リストで [Explicit only] を
選択 し、[OK] をクリックします。 - Web Access アプリケーションの
横 にある [Edit] をクリックします。
Web Access の [Edit Application] ダイアログが表示 されます。 - [Configuration parameters] グループの [Logon policy] リストで [Explicit only] を
選択 し、[OK] をクリックします。
ログイン
LDAP サーバー認証 の例外 ログ
LDAP サーバー
LDAP サーバー
該当 する認証 設定 XML ファイルをテキスト エディタで開 きます。
DirectoryServiceAuthenticationConfiguration.xml、OpenLDAPAuthenticationConfiguration.xml、または OpenLDAPSSLAuthenticationConfiguration.xml以下 の行 を探 します。
<ShowExceptions>false</ShowExceptions>
次 のように変更 します。
<ShowExceptions>true</ShowExceptions>
変更 を保存 します。
証明 書 ファイルとキーファイルを 1 つの PKCS12形式 のファイルに変換 します。コマンド プロンプトで次 のように入力 します。
macOS または Linux の場合 は、次 のコマンドを使用 します。
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
出力 ファイルを暗号 化 するためのパスワードを入力 します。
Windows の
場合 は、次 のコマンドを使用 します。$ certutil -mergepfx ldap-client.crt ldap-client.p12
重要 : 2 つのファイル(<証明 書 ファイル>.crt と <証明 書 ファイル>.key)を同 じディレクトリに配置 する必要 があります。また、key と crt の両方 が同 じ名前 を持 っていることを確認 してください(拡張子 のみが異 なる)。この例 では、ldap-client.crt と ldap-client.key という名前 を使用 します。- [コントロール パネル] に
移動 します。 検索 ボックスで「証明 書 」を検索 して [ユーザー証明 書 の管理 ] をクリックします。- [
操作 ] > [すべてのタスク] > [インポート] に移動 します。 - [
現在 のユーザー] を選択 し、[次 へ] をクリックします。 - [
参照 ] をクリックします。 - ダイアログ ボックスの
右 下 にあるファイル形式 のプルダウン メニューから、[Personal Information Exchange (*.pfx;*.p12)] を選択 します。 手順 2 の ldap-client.p12 ファイルを選択 して [開 く] をクリックし、[次 へ] をクリックします。手順 2 で入力 したパスワードを入力 し、[次 へ] をクリックします。- [
個人 ]証明 書 ストアを選択 し、[次 へ] をクリックしてから [完了 ] をクリックします。 - Ldp.exe を
実行 します。 - [
接続 ] > [接続 ] をクリックします。 次 の接続 情報 を入力 します。
サーバー: ldap.google.com
ポート: 636
コネクションレス: オフ
SSL: オン
- [OK] をクリックします。
- [
表示 ]> [ツリー] を選択 します。 - ベース DN を
入力 します。これは DN形式 のドメイン名 です(例 : example.com の場合 は dc=example,dc=com)。 - [OK] をクリックします。
接続 に成功 すると、LDP.exe の右 パネルに Active Directory の内容 (ベース DN に存在 するすべての属性 など)が表示 されます。
Netgate または pfSense をセキュア LDAP サービスに
コマンドラインから LDAP ディレクトリにアクセスするには、OpenLDAP の ldapsearch コマンドを
クライアント
$ LDAPTLS_CERT=ldap-client.crt LDAPTLS_KEY=ldap-client.key ldapsearch -H ldaps://ldap.google.com -b dc=example,dc=com '(uid=jsmith)'
このコマンドを
証明 書 ファイルとキーファイルを 1 つの PKCS12形式 のファイルに変換 します。コマンド プロンプトで次 のように入力 します。
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
出力 ファイルを暗号 化 するためのパスワードを入力 します。
- メニューバーの
右 上 にある をクリックし、「Keychain Access」と入力 します。 - Keychain Access アプリケーションを
開 き、左側 の一覧 で [System] をクリックします。 左上 のメニューバーで [File] オプションをクリックし、[Import Items] を選択 します。生成 された ldap-client.p12 がある場所 を参照 し、ldap-client.p12 を選択 して [Open] をクリックします。
要求 された場合 は、パスワードを入力 します。
「LDAP Client」という名前 の証明 書 が System Keychain証明 書 一覧 に表示 されます。- LDAP Client
証明 書 の横 にある矢印 をクリックします。その下 に秘密 鍵 が表示 されます。秘密 鍵 をダブルクリックします。- ダイアログ ボックスで [Access Control] タブを
選択 し、左下 の + をクリックします。 -
開 いたウィンドウで Command+Shift+G キーを押 して新 しいウィンドウを開 き、既存 のテキストを /usr/bin/ldapsearch に置 き換 えます。 -
[Go] をクリックします。
ウィンドウが開 き、ldapsearch がハイライト表示 されています。 -
[Add] をクリックします。
-
[Save Changes] をクリックし、パスワードを
求 められたら入力 します。
これで、コマンドラインから OpenLDAP ldapsearch コマンドを使用 して LDAP ディレクトリにアクセスできるようになりました。
-
仮 に、以前 キーチェーンに読 み込 んだ ldap-client.p12 ファイルの名前 が LDAP Client、ドメインが example.com、ユーザー名 が jsmith だとすると、次 のように入力 します。
$ LDAPTLS_IDENTITY="LDAP Client" ldapsearch -H ldaps://ldap.google.com:636 -b dc=example,dc=com '(uid=jsmith)'
このコマンドを
必要 に応 じて、OpenVPN をインストールして設定 します。インストール済 みの場合 は、OpenVPN の設定 ページを開 きます。
VPN の一般 的 な設定 については、このヘルプ記事 には記載 していません。VPN の設定 が済 むと、LDAP経由 でユーザー認証 と承認 を追加 できます。具体 的 には、openvpn-auth-ldap プラグインをインストールします。
$ sudo apt-get install openvpn openvpn-auth-ldap
- LDAP クライアント キーのファイルを /etc/openvpn/ldap-client.key、
証明 書 のファイルを /etc/openvpn/ldap-client.crt にそれぞれコピーします。 - ファイル /etc/openvpn/auth-ldap.conf を
作成 し、次 の内容 を記述 します(ドメイン名 を example.com と仮定 します)。
<LDAP>
URL ldaps://ldap.google.com:636 #
Timeout 15
TLSEnable false
TLSCACertDir /etc/ssl/certs
TLSCertFile /etc/openvpn/ldap-client.crt
TLSKeyFile /etc/openvpn/ldap-client.key
</LDAP>
<Authorization>
BaseDN "dc=example,dc=com"
SearchFilter "(uid=%u)" #(またはユーザー向 けの独自 の LDAP フィルタを選択 )
RequireGroup false
</Authorization>
- OpenVPN
構成 ファイルを編集 します。ほとんどは /etc/openvpn/server.conf のようなファイル名 です。ファイルの一番 下 に、次 の記述 を追加 します。
plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth-ldap.conf
verify-client-cert optional
- OpenVPN サーバーを
再 起動 します。
$ sudo systemctl restart openvpn@server
- ユーザーのユーザー
名 とパスワードを使用 するように VPN クライアントを設定 します。たとえば、OpenVPN クライアントの設定 で、OpenVPN クライアント構成 ファイルの末尾 に auth-user-pass を追加 し、OpenVPN クライアントを起動 します。
$ openvpn --config /path/to/client.conf
- stunnel をプロキシとして
使用 する手順 を実施 します。
OpenVPN Access Server をセキュア LDAP サービスに
PaperCut をセキュア LDAP サービスに
Puppet Enterprise をセキュア LDAP サービスに
証明 書 ファイルとキーファイルを 1 つの PKCS12形式 のファイルに変換 します。コマンド プロンプトで次 のように入力 します。
macOS または Linux の場合 は、次 のコマンドを使用 します。
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
出力 ファイルを暗号 化 するためのパスワードを入力 します。
Windows の
場合 は、次 のコマンドを使用 します。$ certutil -mergepfx ldap-client.crt ldap-client.p12
重要 : 2 つのファイル(<証明 書 ファイル>.crt と <証明 書 ファイル>.key)を同 じディレクトリに配置 する必要 があります。また、key と crt の両方 が同 じ名前 を持 っていることを確認 してください(拡張子 のみが異 なる)。この例 では、ldap-client.crt と ldap-client.key という名前 を使用 します。- Softerra LDAP Browser で、キーペアをインストールします。
- [Tools] > [Certificate Manager] に
移動 します。 - [Import] をクリックします。
- [Next] をクリックします。
- [Browse] をクリックします。
- ダイアログ ボックスの
右 下 にあるファイル形式 のプルダウン リストから、[Personal Information Exchange (*.pfx;*.p12)] を選択 します。 上述 の手順 2 で生成 した ldap-client.p12 ファイルを選択 します。- [Open]、[Next] の
順 にクリックします。 上述 の手順 2 のパスワードを入力 し、[Next] をクリックします。証明 書 ストアとして [Personal] を選択 します。- [Next] をクリックします。
- [Finish] をクリックします。
- [Tools] > [Certificate Manager] に
- サーバー プロファイルを
追加 します。- [File] > [New] > [New Profile] に
移動 します。 - プロファイルの
名前 を入力 します(例 : Google LDAP)。 - [Next] をクリックします。
次 のように入力 します。
Host: ldap.google.com
Port: 636
Base DN: DN形式 のドメイン名 (例 : example.com の場合 は dc=example,dc=com)
Use secure connection (SSL): オン
- [Next] をクリックします。
- [External (SSL Certificate)] を
選択 します。 - [Next] をクリックします。
- [Finish] をクリックします。
- [File] > [New] > [New Profile] に
Sophos Mobile をセキュア LDAP サービスに
Splunk をセキュア LDAP サービスに
- LDAP クライアント キーのファイルを /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key、
証明 書 のファイルを /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt にそれぞれコピーします。
$ cat /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.key > /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
$ sudo chown $(splunkuser):$(splunkuser) /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*
$ sudo chmod 644 /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*
- ldap.conf ファイルを
編集 して、次 の設定 を追加 します。ssl start_tls
TLS_REQCERT never
TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem
TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem - ユーザーの /home/splunkadmin/.ldaprc ファイルに
次 の設定 を追加 します。
TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
- Splunk ウェブ UI を
使用 して LDAP ストラテジーを追加 します。次 の情報 を入力 して [保存 ] をクリックします。
|
Google Secure LDAP |
ホスト |
ldap.google.com |
ポート |
636 |
SSL |
オン |
|
1 |
バインド DN |
Google |
バインド DN パスワード |
Google |
ベース DN |
DN |
ユーザーベース フィルタ |
ユーザーをフィルタリングする、オブジェクト クラスのユーザーベース フィルタを |
ユーザー |
uid |
|
displayname |
メール |
|
グループ マッピング |
dn |
グループベース DN |
ドメイン |
|
|
グループ |
cn |
|
member |
SSSD は、より
Red Hat 8 または CentOS 8 の SSSD クライアントをセキュア LDAP サービスに
- SSSD クライアントをセキュア LDAP サービスに
追加 します。- Google
管理 コンソールから、[アプリ] > [LDAP] > [クライアントを追加 ] に移動 します。
個人 用 の Gmail アカウントではなく、企業 アカウントでログインしてください。 - クライアントの
詳細 を入力 し、[続行 ] をクリックします。 - アクセス
権限 を設定 します。
ユーザー認証 情報 の確認 - ドメイン全体
ユーザー情報 の読 み取 り - ドメイン全体
グループ情報 の読 み取 り -有効 - [LDAP クライアントの
追加 ] をクリックします。 生成 された証明 書 をダウンロードします。- [クライアントの
詳細 に進 む] をクリックします。 - サービスのステータスを [オン] に
変更 します。
- Google
依存 関係 をインストールします。
dnf install openldap-clients sssd-ldap
install -d --mode=700 --owner=sssd --group=root /etc/sssd/ldap
証明 書 の .zip ファイルを解凍 し、.crt ファイルと .key ファイルを /etc/sssd/ldap にコピーします。
- (
省略 可 )ldapsearch を使用 してテストします。LDAPTLS_REQCERT=never \
LDAPTLS_KEY=Google.key \
LDAPTLS_CERT=Google.crt \
ldapsearch -H ldaps://ldap.google.com:636/ \
-b dc=example,dc=com \
-D usertoverify@example.com \
-W \
'(mail=usertoverify@example.com)' \
mail dn
プロンプトが表示 されたら、ユーザーの Google パスワードを入力 します。
注 : ユーザーには、Google Workspace Enterprise または Cloud Identity Premium のライセンスが割 り当 てられている必要 があります。 /etc/sssd/sssd.conf
ファイルを作成 し、次 の内容 を記述 します。
[sssd]
services = nss, pam
domains = example.com[domain/example.com]
ldap_tls_cert = /etc/sssd/ldap/Google.crt
ldap_tls_key = /etc/sssd/ldap/Google.key
ldap_tls_reqcert = never
ldap_uri = ldaps://ldap.google.com
ldap_search_base = dc=example,dc=com
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307bis
ldap_user_uuid = entryUUID権限 と SELinux のラベルを更新 します。
chown 0:0 /etc/sssd/sssd.conf /etc/sssd/ldap/*
chmod 600 /etc/sssd/sssd.conf /etc/sssd/ldap/*
restorecon -FRv /etc/sssd
- SSSD を
再 起動 します。
systemctl restart sssd
次 をテストします。
ssh でサーバーに接続 :ssh -l user@example.com {ホスト
名 }
トラブルシューティング
- SSSD のバージョンを
確認 します(1.15.2以降 である必要 があります)。
# sssd --version
2.2.3
-
RHEL / CentOS(または SELinux が
適用 された任意 のディストリビューション)では、SSSD構成 ファイルおよび証明 書 ファイルとキーが ssd_conf_t ロールからアクセスできるディレクトリ内 に置 かれている必要 があります。# egrep "object_r:sssd_conf_t" /etc/selinux/targeted/contexts/files/file_contexts
/var/log/audit/audit.log に AVC
拒否 メッセージがないか確認 します。
- /etc/nsswitch.conf で passwd、shadow、group、netgroup の
各 エンティティに「sss」が追加 されていることを確認 します。
passwd: files sss
shadow: files sss
group: files sss
netgroup: files sss
ここで、LDAP ユーザーはローカル ファイルによってオーバーライドされます。
- /var/log/sssd.conf に
構成 エラーがないか確認 します。
例 :
[sssd] [sss_ini_add_snippets] (0x0020): Config merge error: File /etc/sssd/sssd.conf did not pass access check. Skipping.アクション: .conf ファイルに
対 して chmod 600 を実行 する必要 があります。例 :
[sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_groups_use_matching_rule_in_chain' is not allowed in section 'domain/{ドメイン}'. Check for typos.[sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_initgroups_use_matching_rule_in_chain' is not allowed in section 'domain/{ドメイン}'. Check for typos.
アクション: サポートされていない LDAP グループ
照合 拡張 機能 を sssd.conf から削除 します。 -
/var/log/sssd_{ドメイン}.log に LDAP/network/auth エラーがないか
確認 します。
例 :[sssd[be[example.com]]] [sss_ldap_init_sys_connect_done] (0x0020): ldap_install_tls failed: [Connect error] [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (self signed certificate)]
アクション: sssd.conf に「ldap_tls_reqcert = never」の
記述 を追加 する必要 があります。エラーの
詳細 度 を高 めるには、ssd.conf のドメイン セクションに「debug_level = 9」の記述 を追加 して、sssd を再 起動 します。
SSSD は、より
SSSD クライアントをセキュア LDAP サーバーに
- SSSD バージョン 1.15.2
以降 をインストールします。
$ sudo apt-get install sssd
- クライアント
証明 書 ファイルの名前 は /var/ldap-client.crt、クライアント キーファイルの名前 は /var/ldap-client.key、ドメインは example.com であると仮定 し、/etc/sssd/sssd.conf で設定 を次 のように編集 します。
[sssd]
services = nss, pam
domains = example.com[domain/example.com]
ldap_tls_cert = /var/ldap-client.crt
ldap_tls_key = /var/ldap-client.key
ldap_uri = ldaps://ldap.google.com
ldap_search_base = dc=example,dc=com
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307bis
ldap_user_uuid = entryUUID
ldap_groups_use_matching_rule_in_chain = true
ldap_initgroups_use_matching_rule_in_chain = true
-
構成 ファイルのオーナーと権限 を変更 します。
$ sudo chown root:root /etc/sssd/sssd.conf
$ sudo chmod 600 /etc/sssd/sssd.conf -
SSSD を
再 起動 します。
$ sudo service sssd restart
ヒント:
システム要件
- macOS は Catalina バージョン 10.15.4
以降 である必要 があります。 準備 フェーズの手順 1 を完了 するには、Google特権 管理 者 のユーザー ID が必要 です。- この
構成 を実行 するには、ローカルの管理 者 権限 が必要 です。
目次 :
準備 フェーズ
このセクションでは、セキュア LDAP サービスを
手順 1: Google 管理 コンソールで macOS を LDAP クライアントとして追加 する
手順 2: 証明 書 をシステム キーチェーンに読 み込 む
証明 書 とキーのファイル(手順 1 でダウンロードした ZIP ファイル)を macOS パソコンにコピーします。
ヒント: ZIP ファイルを解凍 して、証明 書 とキーのファイルを探 します。- キーペアをシステム キーチェーンに
読 み込 みます。-
キーと
証明 書 を PKCS 12(.p12)ファイルに変換 します。ターミナルで次 のコマンドを実行 します。
openssl pkcs12 -export -out ldap-client.p12 -in ldap-client.crt -inkey ldap-client.key
ヒント: .p12 ファイルの名前 を書 き留 めます。
パスワードを入力 するよう求 められます。.p12 ファイルを暗号 化 するためのパスワードを入力 します。 -
キーチェーン アクセス アプリケーションを
開 きます。 -
[システム] キーチェーンをクリックします。
-
[ファイル] > [
読 み込 む] をクリックします。 -
上 の手順 で作成 した ldap-client.p12 ファイルを選択 します。 -
システム キーチェーンの
変更 を許可 するための管理 者 パスワードの入力 を求 められた場合 は、パスワードを入力 します。 -
上 の手順 で作成 したパスワードを入力 して、.p12 ファイルを復号 化 します。注 :新 しい証明 書 と、それに関連 付 けのある秘密 鍵 が、キーのリストに表示 されます。「LDAP Client」という名前 が付 いている場合 があります。次 の手順 で使用 するので、証明 書 の名前 をメモします。
- この
記事 の「ldapsearch(macOS)」の項 の手順 6 に沿 って、以下 で指定 するアプリを追加 するための秘密 鍵 のアクセス制御 を設定 します。秘密 鍵 が [すべての項目 ] カテゴリに表示 されない場合 は、[自分 の証明 書 ] カテゴリに切 り替 え、対応 する証明 書 を展開 して、正 しい秘密 鍵 エントリを探 します。
手順 で指定 されている ldapsearch アプリは、トラブルシューティングが必要 な場合 にのみ使用 するもので、その他 の目的 で使用 することはありません。通常 は、macOS へのアクセス権 をユーザーに与 える前 に削除 します。
次 の 3 つのアプリをアクセス制御 リストに追加 する必要 があります。
/System/Library/CoreServices/Applications/Directory Utility
/usr/libexec/opendirectoryd
/usr/bin/dscl
-
-
/etc/openldap/ldap.conf ファイルに
行 を追加 します。このとき、「LDAP Client」が .p12 ファイルをインポートした後 の macOS Keychain Access に表示 される証明 書名 と完全 に一致 する必要 があります。この名前 は生成 された証明 書 の X.509 Subject Common Name からつけられます。
sudo bash -c 'echo -e "TLS_IDENTITY\tLDAP Client" >> /etc/openldap/ldap.conf'
手順 3: 認証 のためデバイスの参照 先 に Google ディレクトリを指定 する
ディレクトリ ユーティリティ アプリケーションを
- カギをクリックして
変更 を行 い、パスワードを入力 します。 - [LDAPv3] を
選択 し、鉛筆 アイコンをクリックして設定 を編集 します。 - [
新規 ] をクリックします。 - サーバー
名 に「ldap.google.com」と入力 し、[SSL を使 って暗号 化 ] をオンにして、[手動 ] をクリックします。 新 しいサーバー名 を選択 し、[編集 ] をクリックします。設定 名 として、「Google Secure LDAP」などのわかりやすい名前 を入力 します。- [SSL を
使 って暗号 化 ] をオンにし、ポートが 636 に設定 されていることを確認 します。 - [
検索 とマッピング] タブに移動 します。- [この LDAPv3 サーバーにアクセスするときに
使用 ] プルダウン リストから [RFC2307] を選択 します。 表示 されたウィンドウの [検索 ベースのサフィックス] に、ドメイン関連 の情報 を入力 します(ドメイン名 が zomato.com の場合 は「dc=zomato,dc=com
」など)。- [OK] をクリックします。
- [Users] レコードタイプで
属性 を設定 します。- [レコードのタイプと
属性 ] セクションで [Users] を選択 し、「+」ボタンをクリックします。 - ポップアップ ウィンドウで [
属性 のタイプ] を選択 し、[GeneratedUID] を選択 します。次 に、[OK] をクリックしてポップアップ ウィンドウを閉 じます。
[Users] を展開 すると、[GeneratedUID] が表示 されます。
- [GeneratedUID] をクリックし、
右側 のボックスで「+」アイコンをクリックします。 - テキスト ボックスに「apple-generateduid」と
入力 し、Enter キーを押 します。 - [Users] ノードの
下 にある [NFSSDirectory]属性 をクリックします。 右側 の画面 で、この属性 の値 を#/Users/$uid$
に更新 します。- [OK] をクリックし、パスワードを
入力 して、変更 を保存 します。
- [レコードのタイプと
- [この LDAPv3 サーバーにアクセスするときに
- [ディレクトリ ユーティリティ] ウィンドウで、
新 しい LDAP設定 を構成 します。- [
検索 ポリシー] タブに移動 します。 - カギをクリックして
変更 を行 い、画面 が表示 されたら現在 のユーザーのパスワードを入力 します。 - [
検索 ] プルダウン リストのオプションを [カスタムパス] に変更 します。 - [
認証 ] タブを開 き、「+」アイコンをクリックします。 - [ディレクトリ ドメイン] リストから [
/LDAPv3/ldap.google.com
] を選択 し、[追加 ] をクリックします。 - [
適用 ] ボタンをクリックし、画面 が表示 されたら管理 者 パスワードを入力 します。
- [
以下 の 4 つのコマンドを実行 して、DIGEST-MD5、CRAM-MD5、NTLM、GSSAPI SASL の各 認証 メカニズムを無効 にします。macOS では、Google セキュア LDAP サービスを使用 して認証 を行 う際 に簡易 結合 が使用 されます。
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string DIGEST-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string CRAM-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string NTLM" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string GSSAPI" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
再 起動 して OpenDirectory設定 を再 読 み込 みします。
手順 4: モバイル アカウントを作成 する(オフライン ログインを許可 する)
すべての Google Workspace ユーザーまたは Cloud Identity ユーザーは、
セキュア LDAP ユーザーのモバイル アカウントを
-
次 のコマンドを実行 して、セキュア LDAP サーバーに接続 し、ホームパスとモバイル アカウントを設定 します。
sudo /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -n $uid -v
ヒント: $uid の部分 を、ユーザーの Google アカウントに関連付 けられているメールアドレスのユーザー名 部分 に置 き換 えます。たとえば、jsmith@solarmora.com のユーザー名 部分 は jsmith です。 -
SecureToken
管理 ユーザー名 の入力 を求 められたら管理 ユーザー名 を入力 し、次 のプロンプトでパスワードを入力 します。これにより、$uid が FileVault に追加 されます。この処理 は、macOS ディスクが暗号 化 されている場合 に必要 です。
手順 5: (省略 可 )ログイン画面 を設定 する
- [システム
環境 設定 ] > [ユーザーとグループ] > [ログイン オプション](画面 左下 )に移動 します。 管理 者 の認証 情報 を入力 してカギを解除 します。- [ログイン
時 の表示 ] を [名前 とパスワード] に変更 します。
手順 6: デバイスを再 起動 してログインする
- デバイスがインターネットに
接続 されていることを確認 します。インターネットに接続 していないと、セキュア LDAP ユーザーのログインは機能 しません。
注 : インターネット接続 は初回 ログイン時 にのみ必要 です。それ以降 のログインはインターネット アクセスがなくても可能 です。 認証 にセキュア LDAP を使用 するよう設定 されているユーザー アカウントを使用 してデバイスにログインします。
導入 フェーズ
このセクションの
手順 1: Apple Configurator 2 を使用 して、証明 書 を含 む Mac プロファイルを作成 する
- セキュア LDAP による macOS
認証 を手動 で設定 したパソコンに、Apple Configurator 2 をインストールします。 - Apple Configurator 2 を
開 き、新 しいプロファイルを作成 します。次 に、[証明 書 ] セクションの [構成 ] をクリックして、以前 に生成 した .p12 ファイルを読 み込 みます。注 : この .p12 にパスワードが設定 されていることを確認 してください。このパスワードを証明 書 の [パスワード] セクションに入力 します。 - このプロファイルを
保存 します。 - (M1プロセッサ または M2 プロセッサを
使用 しているデバイスの場合 は、この手順 をスキップしてステップ 5 に進 みます。)任意 のテキスト エディタでこのプロファイルを開 き、最初 の <dict> タグ内 に次 の行 を追加 します。
<key>PayloadScope</key>
<string>System</string>
これは Apple Configurator が macOS のプロファイルにまだ対応 していないため、必要 となります。
- 2
番目 の <dict> タグ内 で、証明 書 のデータと並行 して次 の行 を追加 します。
<key>AllowAllAppsAccess</key>
<true/>
これにより、この証明 書 にすべてのアプリケーションからアクセスできるようになります。
手順 2: ディレクトリ構成 ファイル(plist)を xml に変換 する
この
- /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist をデスクトップなどにコピーします。
- このファイルを XML に
変換 して、任意 のテキスト エディタで確認 できるようにします。ターミナルで次 のコマンドを実行 します。
sudo plutil -convert xml1 <パス>/ldap.google.com.plist
ファイルへのアクセスは<パス>/ldap.google.com.plist
のように記述 します。
- XML ファイルを
開 けるように、上述 のファイルの権限 を変更 します。空 のファイルでないことを確認 してください。
手順 3: エンドユーザーのデバイスでの設定 を自動 化 する Python スクリプトを作成 する
Ldap_python_config.py
#!/usr/bin/python
from OpenDirectory import ODNode, ODSession, kODNodeTypeConfigure
from Foundation import NSMutableData, NSData
import os
import sys
# Reading plist
GOOGLELDAPCONFIGFILE = open(sys.argv[1], "r")
CONFIG = GOOGLELDAPCONFIGFILE.read()
GOOGLELDAPCONFIGFILE.close()
# Write the plist
od_session = ODSession.defaultSession()
od_conf_node, err = ODNode.nodeWithSession_type_error_(od_session, kODNodeTypeConfigure, None)
request = NSMutableData.dataWithBytes_length_(b'\x00'*32, 32)
request.appendData_(NSData.dataWithBytes_length_(str.encode(CONFIG), len(CONFIG)))
response, err = od_conf_node.customCall_sendData_error_(99991, request, None)
# Edit the default search path and append the new node to allow for login
os.system("dscl -q localhost -append /Search CSPSearchPath /LDAPv3/ldap.google.com")
os.system("bash -c 'echo -e \"TLS_IDENTITY\tLDAP Client\" >> /etc/openldap/ldap.conf' ")
手順 4: エンドユーザーのデバイスを自動 設定 する
手順 1 で作成 した Mac プロファイル ファイル、手順 2 で作成 した XML構成 ファイル、および手順 3 の Python スクリプトをコピーします。次 のコマンドを実行 します。:
sudo
python <
保存 した Python スクリプトのパス> <手順 2 で作成 した ldap.google.com.plist のパス>
証明 書 を macOS のシステム キーチェーンに読 み込 むには、手順 1 で作成 した Mac プロファイル ファイルをダブルクリックし、画面 が表示 されたら macOS のローカルの管理 者 認証 情報 を入力 します。準備 フェーズで設定 した .p12 パスワードの入力 を求 められます。- macOS パソコンを
再 起動 します。 準備 フェーズの手順 4 に沿 ってモバイル アカウントを作成 し、必要 に応 じて準備 フェーズの手順 5 に示 されている追加 設定 を行 います。
制限 事項 とガイドライン
- Google の
認証 情報 を使用 して macOS にログインするユーザーの場合 、Workspace アカウントのユーザー名 は macOS ユーザー プロフィールのユーザー ID と異 なる必要 があります。同 じ場合 、ログインはブロックされます。 - ユーザーが Google
認証 情報 を使用 して macOS へのログインを開始 したら、Google のウェブサイト(myaccount.google.com や Google管理 コンソールなど)でユーザー パスワードの管理 (再 設定 または復元 )を行 う必要 があります。サードパーティのソリューションを使用 してパスワード管理 を行 う場合 は、最新 のパスワードが Google に同期 されるようにしてください。 管理 者 が [次回 ログイン時 にパスワードの変更 を要求 する] の設定 を有効 にして新規 ユーザーの作成 または既存 のユーザー パスワードの再 設定 を行 った場合 、ユーザーは管理 者 によって設定 された仮 のパスワードを使 って Mac にログインすることができなくなります。
回避 策 : ユーザーは別 のデバイス(自分 のモバイル デバイスや他 のデスクトップ デバイスなど)を使用 して Google にログインし、永続 的 なパスワードを設定 してから、新 しいパスワードで macOS にログインする必要 があります。上記 の設定 を行 った後 の最初 のログイン時 に ldap.google.com にアクセスできるようにするため、Mac をインターネットに接続 する必要 があります。モバイル アカウントを設定 したのであれば、以降 のログインでインターネット アクセスは必要 ありません。- Google セキュア LDAP と macOS の
統合 は、macOS Catalina、Big Sur、Monterey でテストされています。
トラブルシューティング
セキュア LDAP サービスへの
odutil を
ターミナルで odutil show nodenames コマンドを
/LDAPv3/ldap.google.com
のステータスが online になっていることを
nc を
ターミナルで、nc -zv ldap.google.com 636
この
IPv4 を
デバイスで IPv4 を
- [システム
環境 設定 ] > [ネットワーク] > [Wi-Fi] > [詳細 ] に移動 します。 - [
詳細 ] メニューの [TCP/IP] タブに移動 します。 - [IPv6 の
設定 ] プルダウン リストでの選択 を [リンクローカルのみ] に変更 します。 - [OK] をクリックし、[
適用 ] をクリックして、変更 を保存 します。 - ldapsearch
接続 と有効 な検索 を介 してサービス認証 を確認 します。
- ディレクトリ ユーティリティを
開 き、[ディレクトリ エディタ] タブを開 きます。 - プルダウン リストから [/LDAPv3/ldap.google.com] ノードを
選択 します。 - Google ドメインのユーザーとグループを
表示 できるかどうかを確認 します。
Java アプリケーションの設定 手順
LDAP
-
証明 書 とキーを Java キーストア形式 に変換 します。この操作 中 に、何 度 かパスワードを入力 することになります。安全 なパスワードを選 び、入力 を求 められたら毎回 同 じパスワードを使用 してください。以下 の説明 では、クライアント キーファイルの名前 は ldap-client.key であると仮定 します。
macOS または Linux の場合 は、次 のコマンドを使用 します。
$ openssl pkcs12 -export -out java-application-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key
Windows の場合 は、次 のコマンドを使用 します。$ certutil -mergepfx ldap-client.crt java-application-ldap.pkcs12
重要 : 2 つのファイル(<証明 書 ファイル>.crt と <証明 書 ファイル>.key)を同 じディレクトリに配置 する必要 があります。また、key と crt の両方 が同 じ名前 を持 っていることを確認 してください(拡張子 のみが異 なる)。この例 では、ldap-client.crt と ldap-client.key という名前 を使用 します。
証明 書 をキーストアに読 み込 みます。
$ keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKS
- Java プロパティの
設定 方法 は、アプリケーションによって異 なります。多 くの場合 、起動 に使用 する「java」コマンドラインの -D オプションで設定 できます。利用 するアプリケーションの Java プロパティを次 のように設定 します。
javax.net.ssl.keyStore = /<パス>/java-application-ldap.jks
javax.net.ssl.keyStorePassword = <上 の手順 で選択 したパスワード>
基本 的 な設定 手順 の情報 を使用 して、アプリケーションの LDAP接続 を設定 します。
(省略 可 )stunnel をプロキシとして使用 する
クライアントで LDAP の
LDAP サーバーにクライアント
- stunnel をインストールします。たとえば、Ubuntu では
次 のように入力 します。
$ sudo apt-get install stunnel4
構成 ファイル /etc/stunnel/google-ldap.conf を作成 し、次 の内容 を記述 します(ldap-client.crt が証明 書 、ldap-client.key がキーであると仮定 します)。
[ldap]
client = yes
accept = 127.0.0.1:1636
connect = ldap.google.com:636
cert = ldap-client.crt
key = ldap-client.key
- stunnel を
有効 にするには、/etc/default/stunnel4 を編集 して ENABLED=1 に設定 します。 - stunnel を
再 起動 します。
$ sudo /etc/init.d/stunnel4 restart
- ldap://127.0.0.1:1636 を
参照 するようにアプリケーションを設定 します。
「1636」の代 わりに別 の未 使用 ポートを指定 することもできます。その場合 は、上述 の構成 ファイルの accept行 も変更 してください。クライアントと stunnel はローカルで通信 するため、両者 の間 では StartTLS / SSL / TLS を有効 にせずに平文 の LDAP を使用 する必要 があります。
次 の手順
LDAP クライアントをセキュア LDAP サービスに