ポリシー ストアとして OpenLDAP 2.4 以降を設定する方法
目次
casso1283
目次
2
OpenLDAP はポリシー ストアとして機能できます。1 つのディレクトリ サーバ インスタンスは、ポリシー ストアおよびキー ストアとして機能できます。
単一のディレクトリ サーバを使用すると管理タスクが簡略化されます。以下のセクションでは、ポリシー データと暗号化キーを格納するよう 1 つのディレクトリ サーバ インスタンスを設定する方法について説明します。実装に必要な場合は、別のキー ストアを設定できます。
ディレクトリ サーバ情報の収集
casso1283
LDAP ディレクトリ サーバをポリシー ストアとして設定するか、または既存のポリシー ストアをアップグレードするには、特定のディレクトリ サーバ情報が必要です。作業を始める前に、以下の情報を収集してください。
- ホスト情報ディレクトリ サーバの完全修飾ホスト名または IP アドレスを指定します。
- ポート情報(任意)標準以外のポートを指定します。デフォルト値:636(SSL)および 389(SSL 以外)
- 管理 DNLDAP ツリー内のポリシー ストア ルート オブジェクトの下でオブジェクトの作成、読み取り、変更、および削除を行う権限を持つユーザの LDAP ユーザ名を指定します。
- 管理パスワード管理 DN のパスワードを指定します。
- ポリシー サーバのルート DNポリシー ストア オブジェクトを定義する、LDAP ツリー内のノードの識別名を指定します。
- SSL クライアント証明書SSL クライアント証明書データベース ファイルがあるディレクトリのパス名を指定します。制限:SSL のみ
Slapd データベース ディレクティブの定義
Slapd 構成に、以下の slapd データベース ディレクティブを定義します。
- databaseサポートされているバックエンド タイプを指定します。例: bdb
- suffixデータベースのサフィックスを指定します。例: dc=example、dc=com
- rootdnルートの DN を指定します。例: cn=Manager、dc=example、dc=com
- rootpwルートのパスワードを指定します。
- ディレクトリデータベース ディレクトリのパスを指定します。slapd を実行する前に、データベース ディレクトリが存在し、slapd プロセスからのみアクセスできることを確認します。例: /usr/local/var/openldap-data
Portalデータベースの作成
以下のプロセスに、ポリシー ストア用のディレクトリ サーバ データベースを作成するための手順を示します。
- ベース ツリー構造を作成します。
- エントリを追加します。
ベース ツリー構造の作成
ポリシー ストア オブジェクトを格納するためにベース ツリー構造を作成できます。
ルート DN の下に、以下のエントリを指定します。
ou=Netegrity,ou=SiteMinder,ou=PolicySvr4,ou=XPS
ベース ツリー構造が作成されます。
エントリの追加
SiteMinder
が必要な組織情報および組織ロール情報を保持するように、ディレクトリ サーバにエントリを追加します。以下の手順に従います。
- LDIF ファイルを作成します。例:以下の例には、entries.ldif の組織エントリおよび組織ロール エントリが含まれます。# Netegrity, example.comdn: ou=Netegrity,dc= example,dc=comou: NetegrityobjectClass: organizationalUnitobjectClass: top# SiteMinder, Netegrity, example.comdn: ou=SiteMinder,ou=Netegrity,dc= example,dc=comou: SiteMinderobjectClass: organizationalUnitobjectClass: top# PolicySvr4, SiteMinder, CA, example.comdn: ou=PolicySvr4,ou=SiteMinder,ou=Netegrity,dc= example,dc=comou: PolicySvr4objectClass: organizationalUnitobjectClass: top# XPS, PolicySvr4, SiteMinder, Netegrity, example.comdn: ou=XPS,ou=PolicySvr4,ou=SiteMinder,ou=Netegrity,dc= example,dc=comou: XPSobjectClass: organizationalUnitobjectClass: top
- 以下のコマンドを使用して、エントリを追加します。ldapadd -f <file_name.ldif> -D "cn=Manager,dc=example,dc=com"-w<password>
ポリシー サーバからポリシー ストアへの参照の設定
casso1283
ポリシー サーバからポリシー ストアへの参照を設定し、ポリシー サーバがポリシー ストアにアクセスできるようにします。
以下の手順に従います。
- ポリシー サーバ管理コンソールを開きます。casso1283Windows サーバ上で、ユーザ アカウント制御(UAC)が有効な場合は、管理者権限でショートカットを開きます。管理者としてシステムにログインしている場合でも、管理者権限を使用します。詳細については、お使いのSiteMinderコンポーネントの「リリース ノート」を参照してください。
- [データ]タブをクリックします。
- データベース リストから以下の値を選択します。Policy Store
- ストレージ リストから以下の値を選択します。LDAP
- [LDAP ポリシー ストア]グループ ボックスで、以下を設定します。
- LDAP IP アドレス
- Admin Username
- Password
- パスワードの確認入力
- ルート DN
フィールド、コントロール、およびそれぞれの要件については、[ヘルプ]をクリックしてください。 - [適用]をクリックします。
- [LDAP 接続のテスト]をクリックして、ポリシー サーバがポリシー ストアにアクセスできることを確認します。
- データベース リストから以下の値を選択します。Key Store
- ストレージ リストから以下の値を選択します。LDAP
- 以下のオプションを選択します。Use Policy Store database
- [OK]をクリックします。
ポリシー ストア スキーマの作成
ディレクトリ サーバがポリシー ストアとして機能するようにポリシー ストア スキーマを作成し、
SiteMinder
オブジェクトを格納します。続行する前に、以下の手順を実行します。
- LDAP インスタンスを作成します。
- LDAP インスタンスのポリシー ストアとキー ストアの情報を定義します。
以下の手順に従います。
- ポリシー サーバをインストールしたマシンで、以下のコマンドを実行します。smldapsetup ldgen -ffile_namefile_name生成する LDIF ファイルの名前を指定します。指定された名前で LDIF ファイルが作成され、SiteMinderスキーマが含まれます。
- 以下のコマンドを実行します。smldapsetup ldmod -ffile_namefile_name生成する LDIF ファイルの名前を指定します。
- 以下のコマンドを実行します。smldapsetup ldmod -fsso_home\xps\db\Tier2DirSupport\OpenLDAP\openldap_XPS.ldifsso_homeSiteMinderのインストール パスを指定します。
Slapd 構成の定義
OpenLDAP ディレクトリ サーバをポリシー ストアとして使用できるようにするには、事前に OpenLDAP ディレクトリ サーバで追加設定を行っておく必要があります。設定手順は以下のとおりです。
- ポリシー ストア インデックスを有効にします。
- 認証を有効にします。
- クライアント サイドの並べ替えのサポート
- OpenLDAP サーバのを起動します。
注:
設定を定義するには、ldapadd/ldapmodify コマンドを使用するか、または slapd 設定データベース ファイルを設定します。ポリシー ストア インデックスの有効化
ポリシー ストアとして OpenLDAP を使用するために slapd 設定にインデックス作成を指定します。
インデックス作成を有効にするには、slapd 設定に以下のインデックスを追加します。
To enable indexing, add the following index to the slapd configuration:olcDbIndex: smAdminOID4 pres,eqolcDbIndex: smAuthDirOID4 pres,eqolcDbIndex: smAzDirOID4 pres,eqolcDbIndex: smcertmapOID4 pres,eqolcDbIndex: smIsRadius4 pres,eqolcDbIndex: smIsAffiliate4 pres,eqolcDbIndex: smParentRealmOID4 pres,eqolcDbIndex: smPasswordPolicyOID4 pres,eqolcDbIndex: smAgentGroupOID4 pres,eqolcDbIndex: smKeyManagementOID4 pres,eqolcDbIndex: smAgentOID4 pres,eqolcDbIndex: smAgentKeyOID4 pres,eqolcDbIndex: smRootConfigOID4 pres,eqolcDbIndex: smAGAgents4 pres,eqolcDbIndex: smDomainAdminOIDs4 pres,eqolcDbIndex: smDomainOID4 pres,eqolcDbIndex: smvariableoid5 pres,eqolcDbIndex: smNestedVariableOIDs5 pres,eqolcDbIndex: smvariabletypeoid5 pres,eqolcDbIndex: smActiveExprOID5 pres,eqolcDbIndex: smDomainUDs4 pres,eqolcDbIndex: smVariableOIDs5 pres,eqolcDbIndex: smusractiveexproid5 pres,eqolcDbIndex: smPropertyOID5 pres,eqolcDbIndex: smPropertySectionOID5 pres,eqolcDbIndex: smPropertyCollectionOID5 pres,eqolcDbIndex: smFilterClass4 pres,eqolcDbIndex: smTaggedStringOID5 pres,eqolcDbIndex: smNoMatch5 pres,eqolcDbIndex: smTrustedHostOID5 pres,eqolcDbIndex: smIs4xTrustedHost5 pres,eqolcDbIndex: smDomainMode5 pres,eq# olcDbIndex: smImsEnvironmentOIDs5 pres,eqolcDbIndex: smSecretRolloverEnabled6 pres,eqolcDbIndex: smSecretGenTime6 pres,eqolcDbIndex: smSecretUsedTime6 pres,eqolcDbIndex: smSharedSecretPolicyOID6 pres,eqolcDbIndex: smFilterPath4 pres,eqolcDbIndex: smPolicyLinkOID4 pres,eqolcDbIndex: smIPAddress4 pres,eqolcDbIndex: smRealmOID4 pres,eqolcDbIndex: smSelfRegOID4 pres,eqolcDbIndex: smAzUserDirOID4 pres,eqolcDbIndex: smResourceType4 pres,eqolcDbIndex: smResponseAttrOID4 pres,eqolcDbIndex: smResponseGroupOID4 pres,eqolcDbIndex: smResponseOID4 pres,eqolcDbIndex: smRGResponses4 pres,eqolcDbIndex: smRGRules4 pres,eqolcDbIndex: smRuleGroupOID4 pres,eqolcDbIndex: smRuleOID4 pres,eqolcDbIndex: smSchemeOID4 pres,eqolcDbIndex: smisTemplate4 pres,eqolcDbIndex: smisUsedbyAdmin4 pres,eqolcDbIndex: smSchemeType4 pres,eqolcDbIndex: smUserDirectoryOID4 pres,eqolcDbIndex: smODBCQueryOID4 pres,eqolcDbIndex: smUserPolicyOID4 pres,eqolcDbIndex: smAgentTypeAttrOID4 pres,eqolcDbIndex: smAgentTypeOID4 pres,eqolcDbIndex: smAgentTyperfcid4 pres,eqolcDbIndex: smAgentTypeType4 pres,eqolcDbIndex: smAgentCommandOID4 pres,eqolcDbIndex: smTimeStamp4 pres,eqolcDbIndex: smServerCommandOID4 pres,eqolcDbIndex: smAuthAzMapOID4 pres,eqolcDbIndex: xpsParameter pres,eqolcDbIndex: xpsValue pres,eqolcDbIndex: xpsNumber pres,eqolcDbIndex: xpsCategory pres,eqolcDbIndex: xpsGUID pres,eqolcDbIndex: xpsSortKey pres,eqolcDbIndex: xpsIndexedObject pres,eq
ユーザ認証の有効化
ユーザ認証を有効にすることにより、サポートされた認証方式でリソースを保護することができます。
ユーザ認証を有効にするには、slapd 設定に以下の行を追加します。
olcAccess: to attrs=userpassword by self write by anonymous auth by * none
(オプション)クライアント側の並べ替えのサポート
クライアント側の並べ替えをサポートするには、OpenLDAP ディレクトリの管理者が、slapd 設定で以下の設定を行う必要があります。
- ルート DSE の読み取りを有効にします。この設定により、XPS クライアントは OpenLDAP ディレクトリのタイプおよび機能を読み取ることが可能になります。
- 検索操作から返すことのできる項目の最大数を 500 以上に設定します。この設定により、サーバ サイドのページングによって 500 個単位で取得される XPS オブジェクトに対応します。
- シンプル V2 バインドを許可します。この設定により、smconsole はシンプル V2 バインドを使用して LDAP 接続をテストすることが可能になります。
以下の手順に従います。
- Slapd 設定に、以下の行を追加します。olcAccess: to * by users read by anonymous readまたはolcAccess: to dn.base="<Root_DN>" by users read
- Root_DNポリシー ストア オブジェクトを定義する必要がある、LDAP ツリー内のノードの識別名を指定します。
注:ACL を指定する方法の詳細については、「Access Control」を参照してください。 - slapd 設定で sizelimit ディレクティブによって指定された値が 500 以上であることを確認します。olcSizeLimit: 500注:sizelimit のデフォルト値は 500 です。詳細については、「Configuring slapd」を参照してください。
- Slapd 設定に、以下の行を追加します。olcAllows: bind_v2
slapd 設定が、クライアント側の並べ替えをサポートするように設定されます。
OpenLDAP サーバの再起動
OpenLDAP ディレクトリ サーバを再起動すると、
SiteMinder
スキーマがロードされます。ディレクトリ サーバをポリシー ストアとして使用できるように、ポリシー サーバは、事前に SiteMinder
スキーマをロードしておくことを必要とします。以下の手順に従います。
- 以下のコマンドを実行して、ディレクトリ サーバを停止します。service slapd stop
- 以下のコマンドを実行して、ディレクトリ サーバを開始します。service slapd start
SiteMinder
スーパーユーザ パスワードの設定casso1283
デフォルトの管理者アカウントの名前は
siteminder
です。 このアカウントは最大の権限を持っています。デフォルトのスーパーユーザを日常的な作業に使用しないでください。デフォルトのスーパーユーザは、以下の場合に使用してください。
- 管理 UI に初めてアクセスするとき。
- SiteMinderユーティリティの管理を初めて行うとき。
- スーパーユーザ権限を持つ別の管理者を作成するとき。
以下の手順に従います。
- smreg ユーティリティをsiteminder_home\bin にコピーします。
- siteminder_homeポリシー サーバのインストール パスを指定します。
このユーティリティは、ポリシー サーバ インストール キットの最上位レベルにあります。 - 以下のコマンドを実行します。smreg -supassword
- パスワードデフォルトの管理者のパスワードを指定します。
- パスワードは 6 文字以上、24 文字以下である必要があります。
- パスワードには、アンパサンド(&)またはアスタリスク(*)を含むことはできません。
- パスワードにスペースが含まれている場合は、引用符でパスフレーズを囲みます。
Oracle ポリシー ストアを設定している場合、パスワードの大文字と小文字が区別されます。他のすべてのポリシー ストアの場合は、パスワードの大文字と小文字を区別しません。 - siteminder_home\bin から smreg を削除します。smreg を削除すると、既存のパスワードを把握していない限り、パスワードを変更することはできなくなります。
デフォルトの管理者アカウントのパスワードが設定されます。
ポリシー ストア データ定義のインポート
casso1283
ポリシー ストア データ定義をインポートすると、ポリシー ストアで作成および格納できるオブジェクトのタイプが定義されます。
以下の手順に従います。
- コマンド ウィンドウを開き、siteminder_home\xps\dd に移動します。
- siteminder_homeポリシー サーバのインストール パスを指定します。
- 以下のコマンドを実行します。XPSDDInstall SmMaster.xdd
- XPSDDInstall必要なデータ定義をインポートします。すべてのポリシー サーバがご使用の環境の同じポリシー ストアまたはレプリケートされたポリシー ストアを参照している場合、環境内の 1 つのポリシー サーバでのみ XPSDDInstall を一度実行します。レプリケーション プロセスが完了してから、次のステップに進みます。整合性エラーを防ぐために、すべてのポリシー サーバで XPSDDInstall を実行しないようにしてください。
デフォルトのポリシー ストア オブジェクトのインポート
casso1283
デフォルトのポリシー ストア オブジェクトをインポートすると、管理 UI とポリシー サーバで使用するポリシー ストアが設定されます。
以下の点を考慮します。
- 必ずsiteminder_home\bin への書き込みアクセス権があることを確認してください。インポート ユーティリティは、ポリシー ストア オブジェクトをインポートするためにこの権限を必要とします。
- siteminder_homeポリシー サーバのインストール パスを指定します。
- Windows ユーザ アカウント制御(UAC)が有効になっている場合、管理者権限でコマンド ライン ウィンドウを開きます。アカウントに管理者権限がある場合でも、このようにコマンド ライン ウィンドウを開きます。詳細については、お使いのSiteMinderコンポーネントの「リリース ノート」を参照してください。
以下の手順に従います。
- コマンド ウィンドウを開き、siteminder_home\db に移動します。
- 以下のいずれかのファイルをインポートします。
- smpolicy.xml をインポートするには、以下のコマンドを実行します。XPSImport smpolicy.xml -npass
- smpolicy-secure.xml をインポートするには、以下のコマンドを実行します。XPSImport smpolicy-secure.xml -npass
- npassパスフレーズが必要ではないことを指定します。デフォルト ポリシー ストア オブジェクトには暗号化されたデータが含まれていません。
- Option Pack 機能をインポートするには、以下のコマンドを実行します。XPSImport ampolicy.xml -npass
- フェデレーション機能をインポートするには、以下のコマンドを実行します。XPSImport fedpolicy-12.5.xml -npass
- OAuth または OpenID 接続を使用するには、以下のコマンドを実行して、デフォルト OAuth エンティティおよび OpenID 接続用のデフォルトのクレームおよびスコープ オブジェクトをインポートします。XPSImport default-fedobjects-config.xml -npass-npassは、パスフレーズが必要ではないことを指定します。
ampolicy.xml をインポートすると、
SiteMinder
から別個にライセンスが付与されるレガシー フェデレーションおよび Web サービス変数機能が使用可能になります。Web サービスの変数機能を使用する予定の場合は、ライセンス情報について Broadcom アカウント担当者に問い合わせてください。管理 UI 登録の準備
casso1283
管理 UI に初めてログインするときは、デフォルトのスーパーユーザ アカウントを使用します。初めてログインするときは、管理 UI をポリシー サーバに登録する必要があります。これで、両方のコンポーネントの間に信頼関係が作成されます。
XPSRegClient ユーティリティを使用してスーパーユーザ アカウントの名前とパスワードを指定して、登録の準備をします。ポリシー サーバは、これらの認証情報を使用して、登録要求が有効であること、および信頼関係を確立できることを検証します。
以下の点を考慮します。
- 認証情報を指定してから最初の管理 UI ログインまでの時間は、24 時間に制限されています。24 時間以内に管理 UI をインストールする予定がない場合は、管理 UI をインストールする前に以下の手順を実行します。
- (UNIX) XPSRegClient を使用する前に、SiteMinder環境変数が設定されていることを確認してください。環境変数が設定されていない場合は、手動で設定します。
以下の手順に従います。
- ポリシー サーバ ホスト システムにログインします。
- 以下のコマンドを実行します。XPSRegClient super_user_account_name[:passphrase] -adminui-setup -ttimeout-rretries-ccomment-cp -llog_path-eerror_path-vT -vI -vW -vE -vF
- passphraseデフォルトのスーパーユーザ アカウントのパスワードを指定します。パスフレーズを指定しない場合、XPSRegClient でパスフレーズの入力と確認が求められます。
- -adminui–setup管理 UI がポリシー サーバに初めて登録されることを指定します。
- -ttimeout(任意)管理 UI をインストールしてから、ログインしてポリシー サーバとの信頼関係を作成するまでの割り当て時間を指定します。タイムアウト値を超過すると、ポリシー サーバは登録リクエストを拒否します。測定単位: 分デフォルト:240(4 時間)最小:15最大値:1440 (24 時間)
- -rretries(任意)管理 UI の登録時に許容される試行の失敗回数を指定します。試行が失敗する原因としては、管理 UI への最初のログイン時に指定する管理者の認証情報の誤りが考えられます。デフォルト:1最大:5
- -ccomment(任意)指定されたコメントを情報目的で登録ログ ファイルに挿入します。コメントは引用符で囲んでください。
- -cp(任意)登録ログ ファイルに複数行のコメントが含まれることを指定します。ユーティリティにより複数行のコメントが求められ、指定されたコメントが情報目的で登録ログ ファイルに挿入されます。コメントは引用符で囲んでください。
- -llog_path(任意)登録ログ ファイルをエクスポートする場所を指定します。デフォルト:siteminder_home\logsiteminder_homeポリシー サーバのインストール パスを指定します。
- -eerror_path(任意)例外を指定されたパスに送信します。デフォルト: stderr
- -vT(任意)詳細レベルを TRACE に設定します。
- -vI(任意)詳細レベルを INFO に設定します。
- -vW(任意)詳細レベルを WARNING に設定します。
- -vE(任意)詳細レベルを ERROR に設定します。
- -vF(任意)詳細レベルを FATAL に設定します。
- Enter キーを押します。XPSRegClient は、ポリシー サーバに管理者認証情報を提供します。ポリシー サーバは、管理 UI への最初のログイン時に、登録リクエストを確認するためにこれらの認証情報を使用します。