Oracleデータベースの名前解決を処理するようにfreeIPAを設定しようとしています。私はOpenLDAPのこのチュートリアルに従いました http://www.idevelopment.info/data/Oracle/DBA_tips/LDAP/LDAP_8.shtml スキーマ定義ファイルはfreeIPA用に修正され、適切にロードされています。
ipa-ldap-updater --schema-file /usr/share/ipa/85oidbase.ldif
ipa-ldap-updater --schema-file /usr/share/ipa/86oidnet.ldif
ipa-ldap-updater --schema-file /usr/share/ipa/87oidrdbms.ldif
FreeIPA 3.3.5ではすべて正常に機能しますが、freeIPA> 4の名前解決を行うことはできません。
tnsping:
C:\>tnsping DB1.EXAMPLE.COM
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 07-JUL-2015 08:27:41
Copyright (c) 1997, 2010, Oracle. All rights reserved.
Used parameter files:
C:\Oracle\product\11.2.0\client_3\network\admin\sqlnet.ora
TNS-03505: Failed to resolve name
freeIPAアクセスログ
[03/Jul/2015:15:10:12 +0200] conn=125 fd=86 slot=86 connection from 192.168.1.10 to 192.168.1.3
[03/Jul/2015:15:10:12 +0200] conn=125 op=0 BIND dn="" method=128 version=3
[03/Jul/2015:15:10:12 +0200] conn=125 op=0 RESULT err=0 tag=97 nentries=0 etime=0 dn=""
[03/Jul/2015:15:10:12 +0200] conn=125 op=1 SRCH base="cn=DB1,cn=OracleContext,dc=example,dc=com" scope=0 filter="(objectClass=*)" attrs="objectClass orclNetDescString orclNetDescName orclVersion"
[03/Jul/2015:15:10:12 +0200] conn=125 op=1 RESULT err=0 tag=101 nentries=0 etime=0
[03/Jul/2015:15:10:12 +0200] conn=125 op=2 UNBIND
[03/Jul/2015:15:10:12 +0200] conn=125 op=2 fd=86 closed - U1
[03/Jul/2015:15:10:31 +0200] conn=9 op=30 SRCH base="ou=sessions,ou=Security Domain,o=ipaca" scope=2 filter="(objectClass=securityDomainSessionEntry)" attrs="cn"
[03/Jul/2015:15:10:31 +0200] conn=9 op=30 RESULT err=32 tag=101 nentries=0 etime=0
誰かが私をどこを見るべき方向に導くことができますか?バージョン4で何が変更されましたか?いくつかの権限属性を追加する必要がありますか?
#ipa permission_add Oracle --right={read,search,compare} --bindtype=anonymous --subtree='cn=OracleContext,dc=example,dc=com' --filter='(objectclass=*)'
#ipa permission-show Oracle
Permission name: Oracle
Granted rights: read, search, compare
Bind rule type: anonymous
Subtree: cn=OracleContext,dc=example,dc=com
Extra target filter: (objectclass=*)
#ldapsearch -h 192.168.1.3 -x -D "cn=Directory Manager" -b "cn=OracleContext,dc=example,dc=com" "objectclass=*" -w secret
# extended LDIF
#
# LDAPv3
# base <cn=OracleContext,dc=example,dc=com> with scope subtree
# filter: objectclass=*
# requesting: ALL
#
# OracleContext, example.com
dn: cn=OracleContext,dc=example,dc=com
objectClass: orclContext
objectClass: top
cn: OracleContext
# db1, OracleContext, example.com
dn: cn=db1,cn=OracleContext,dc=example,dc=com
objectClass: top
objectClass: orclNetService
cn: db1
orclNetDescString: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=dbnode1.example.com)(PO
RT=1521))(CONNECT_DATA=(SERVICE_NAME=DB1.EXAMPLE.COM)))
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2
アクセスログには同じ出力があり、解決策はありません。
匿名バインドを行っているようです。 FreeIPA 4.xでは、アクセス制御が完全に書き直され、匿名バインドがコンテンツの多くを表示できないようにデフォルトが設定されました。
新しい属性とオブジェクトクラスを追加することを考えると、それらへのアクセスを構成することも理にかなっているかもしれません。使用するコマンドの詳細については、ipa permission
、ipa privilege
、およびipa role
を参照してください。
匿名バインドにcn=OracleContext
へのアクセスを許可する権限から始めることができます。
$ ipa permission-add 'read Oracle context' --subtree=cn=OracleContext,dc=example,dc=com --bindtype=anonymous --rights={read,search,compare}
シェルブレース拡張を使用して、--rights
オプションを簡潔に記述できるようにしていることに注意してください。