Я пытаюсь настроить freeIPA для обработки разрешения имен Oracle Database. Я следил за этим руководством по 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
вариант написания лаконично.