OpenShift Active Directory身份验证

时间:2017-07-11 23:42:46

标签: openshift openshift-origin

我真的很难让Active Directory身份验证工作。

master-config.yaml文件的oauthConfig部分就像这样开始,一切都很好。

oauthConfig:
  assetPublicURL: https://master.domain.local:8443/console/
  grantConfig:
    method: auto
  identityProviders:
  - challenge: true
    login: true
    mappingMethod: claim
    name: allow_all
    provider:
      apiVersion: v1
      kind: AllowAllPasswordIdentityProvider
  masterCA: ca-bundle.crt
  masterPublicURL: https://master.domain.local:8443
  masterURL: https://master.domain.local:8443

然后我尝试修改master-config.yaml文件的oauthConfig部分,看起来像这样。

oauthConfig:
  assetPublicURL: https://master.domain.local:8443/console/
  grantConfig:
    method: auto
  identityProviders:
  - name: Active_Directory
    challenge: true
    login: true
    mappingMethod: claim
    provider:
      apiVersion: v1
      kind: LDAPPasswordIdentityProvider
      attributes:
        id:
        - dn
        email:
        - mail
        name:
        - cn
        preferredUsername:
        - uid
      bindDN: "cn=openshift,cn=users,dc=domain,dc=local"
      bindPassword: "password"
      insecure: true
      url: ldap://dc.domain.local:389/cn=users,dc=domain,dc=local?uid
  assetPublicURL: https://master.domain.local:8443/console/
  masterPublicURL: https://master.domain.local:8443
  masterURL: https://master.domain.local:8443

然后我尝试重新启动origin-master服务并且无法重新启动,并且不会再次启动,甚至在重新启动时也是如此。如果我恢复到旧的master-config.yaml文件,一切正常,并且origin-master服务启动没有问题。

用户" openshift"已使用正确的密码在Active Directory中创建。

我甚至尝试过使用 url:ldaps://dc.domain.local:686 / cn = users,dc = domain,dc = local?uid

这也不起作用。我似乎无法弄清楚我做错了什么以及origin-master服务不喜欢修改后的master-config.yaml文件,它使它无法启动。

1 个答案:

答案 0 :(得分:0)

尝试添加masterCAsessionConfigtokenConfig,然后删除重复的assetPublicURL。根据需要调整sessionSecretesFile路径。

  masterCA: ca-bundle.crt
  sessionConfig:
    sessionMaxAgeSeconds: 3600
    sessionName: ssn
    sessionSecretsFile: /etc/origin/master/session-secrets.yaml
  tokenConfig:
    accessTokenMaxAgeSeconds: 86400
    authorizeTokenMaxAgeSeconds: 500