เวอร์ชันเซิร์ฟเวอร์: Apache/2.4.37 (Red Hat Enterprise Linux)
Apache เปิดตัวเป็นคอนเทนเนอร์ในคลัสเตอร์ Openshift
ฉันใช้ Apache เป็นพร็อกซีไปข้างหน้าและย้อนกลับสำหรับ Kibana
ข้อกำหนดบังคับคือการใช้ Kerberos และต้องการแบบอย่างเพื่อแยกความแตกต่างของการเข้าถึง
ฉันสร้างใน elasticsearch ผู้ดูแลระบบและผู้ใช้ผู้ดู
ขึ้นอยู่กับกลุ่ม LDAP Apache ต้องส่งส่วนหัวที่มีการเข้าสู่ระบบและรหัสผ่านของผู้ดูแลระบบหรือผู้ดู
แต่ไม่มีทางที่ฉันจะได้มันมา
<AuthnProviderAlias ldap ldap-access>
AuthLDAPURL "ldap://ldap.example.com:389/dc=example,dc=com?cn?sub?(objectClass=user)"
AuthLDAPBindDN "CN=ServiceAccount,OU=Users,DC=example,DC=com"
AuthLDAPBindPassword "password"
</AuthnProviderAlias>
<AuthzProviderAlias ldap-group ldap-group-viewer CN=viewer,OU=Groups,DC=example,DC=com>
AuthLDAPURL "ldap://ldap.example.com:389/dc=example,dc=com?cn?sub?(objectClass=user)"
AuthLDAPBindDN "CN=ServiceAccount,OU=Users,DC=example,DC=com"
AuthLDAPBindPassword "password""
</AuthzProviderAlias>
<AuthzProviderAlias ldap-group ldap-group-admin CN=admin,OU=Groups,DC=example,DC=com>
AuthLDAPURL "ldap://ldap.example.com:389/dc=example,dc=com?cn?sub?(objectClass=user)"
AuthLDAPBindDN "CN=ServiceAccount,OU=Users,DC=example,DC=com"
AuthLDAPBindPassword "password""
</AuthzProviderAlias>
<LocationMatch "/kibana">
AuthType GSSAPI
AuthName "Kerberos Auth"
GssapiSSLonly Off
GssapiBasicAuth On
GssapiAllowedMech krb5
GssapiSessionKey file:/tmp/session.key
GssapiCredStore keytab:/etc/httpd/krb5.keytab
GssapiCredStore ccache:FILE:/var/run/httpd/krb5ccache
GssapiDelegCcacheDir /var/run/httpd/clientcaches
GssapiImpersonate On
GssapiLocalName On
GssapiUseSessions On
Session On
SessionExpiryUpdateInterval 300
SessionInclude /
SessionCookieName gssapi_session path=/;httponly;secure;
BrowserMatch Windows gssapi-no-negotiate
LogLevel debug
AuthBasicProvider ldap-access
<RequireAll>
Require ldap-group-viewer
Require ldap-group-admin
</RequireAll>
ProxyPass http://kibana:5601/kibana
ProxyPassReverse http://kibana:5601/kibana
RequestHeader set Authorization "Basic dmlld2VyOnZpZXdlcg=="
</LocationMatch>
ในการกำหนดค่านี้ ผู้ใช้ทั้งหมดในกลุ่มเข้าสู่ระบบด้วยข้อมูลเข้าสู่ระบบเดียวกัน แต่ฉันต้องแชร์สิทธิ์
- สำหรับผู้ดู - RequestHeader ตั้งค่าการอนุญาต "Basic dmlld2VyOnZpZXdlcg=="
- สำหรับผู้ดูแลระบบ - RequestHeader ตั้งค่าการอนุญาต "Basic YWRtaW46YWRtaW4="
ฉันพยายามเพิ่มแอตทริบิวต์ให้กับ LDAP url และใช้ตัวแปร AUTHORIZATION_Viewer เช่นที่นี่ Apache: จะทราบได้อย่างไรว่าเซิร์ฟเวอร์ LDAP ใดที่ผู้ใช้ของฉันได้รับการรับรองความถูกต้อง:
AuthLDAPURL "ldap://ldap.example.com:389/dc=example,dc=com?cn,Viewer?sub?(objectClass=user)"
แล้ว:
RequestHeader ตั้งค่าการอนุญาต "พื้นฐาน dmlld2VyOnZpZXdlcg==" env=AUTHENTICATE_Viewer
แต่ในบันทึก Apache ตัวแปรดังกล่าวไม่ปรากฏเลย
ลองใช้ตัวเลือกกับบล็อกด้วย แต่ไม่สำเร็จ
มีวิธีใดบ้างที่จะสร้างรูปร่างหน้าตาของ Role Model ใน Apache?