getsentry-ldap-auth, 将LDAP服务器添加为authention源的岗哨扩展

分享于 

5分钟阅读

GitHub

  繁體 雙語
A Sentry extension to add an LDAP server as an authention source.
  • 源代码名称:getsentry-ldap-auth
  • 源代码网址:http://www.github.com/Banno/getsentry-ldap-auth
  • getsentry-ldap-auth源代码文档
  • getsentry-ldap-auth源代码下载
  • Git URL:
    git://www.github.com/Banno/getsentry-ldap-auth.git
    Git Clone代码到本地:
    git clone http://www.github.com/Banno/getsentry-ldap-auth
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/Banno/getsentry-ldap-auth
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    sentry-ldap-auth

    一个用于岗哨的Django 自定义认证后端。 这个模块扩展了 django-auth-ldap插件的功能,具有特定的。

    特性

    • 这里后端创建的用户是受管用户。 托管字段不能通过岗哨帐户页编辑。
    • 用户可以在创建时自动添加到组织中。

    先决条件

    版本 2.0和更新版本要求岗哨 8. 对于Sentry支持,请使用发布

    安装

    要安装,只需将 sentry-ldap-auth 添加到你的Sentry环境( 或者 pip install sentry-ldap-auth ) requirements.txt。

    配置

    这里模块扩展了 django-auth-ldap插件,并且支持它提供的所有选项。

    要将岗哨配置为使用这里模块,请添加 sentry_ldap_auth.backend.SentryLdapBackend 在你的sentry.conf.py的AUTHENTICATION_BACKENDS 中,像这样,

    AUTHENTICATION_BACKENDS=AUTHENTICATION_BACKENDS+ (
     'sentry_ldap_auth.backend.SentryLdapBackend',
    )

    然后,添加任何适用的配置选项。 根据你的环境,特别是在容器中运行岗哨,你可以考虑使用 python解耦,这样可以通过设置这些选项。

    sentry-ldap-auth特定选项

    AUTH_LDAP_DEFAULT_SENTRY_ORGANIZATION=u'My Organization Name'

    Auto将已经创建的用户添加到指定的组织( 按名称匹配) 中。

    AUTH_LDAP_SENTRY_ORGANIZATION_ROLE_TYPE='member'

    分配了角色类型自动添加用户。 Sentry默认安装中的有效值为'成员'。'管理员'。'管理器'&'所有者'。 但是,自定义角色也可以添加到岗哨中,在这种情况下,这些角色也是有效的。

    AUTH_LDAP_SENTRY_ORGANIZATION_GLOBAL_ACCESS=True

    自动创建的用户是否应在默认组织中授予全局访问权限。

    AUTH_LDAP_SENTRY_SUBSCRIBE_BY_DEFAULT=False

    新用户是否应该在默认情况下订阅任何新项目。 对于那些对每个项目都有垃圾订阅的大型组织来说,禁用这一点非常有用。

    AUTH_LDAP_DEFAULT_EMAIL_DOMAIN='example.com'

    当LDAP用户没有 mail 属性时,作为用户地址的哨兵 E-mail 附加到用户名的默认域。

    岗哨选项

    SENTRY_MANAGED_USER_FIELDS= ('email', 'first_name', 'last_name', 'password', )

    管理用户不能通过Sentry帐户view修改的字段。 应用于所有托管帐户。

    示例配置

    import ldapfrom django_auth_ldap.config import LDAPSearch, GroupOfUniqueNamesTypeAUTH_LDAP_SERVER_URI='ldap://my.ldapserver.com'AUTH_LDAP_BIND_DN=''AUTH_LDAP_BIND_PASSWORD=''AUTH_LDAP_USER_SEARCH= LDAPSearch(
     'dc=domain,dc=com',
     ldap.SCOPE_SUBTREE,
     '(mail=%(user)s)',
    )AUTH_LDAP_GROUP_SEARCH= LDAPSearch(
     '',
     ldap.SCOPE_SUBTREE,
     '(objectClass=groupOfUniqueNames)')AUTH_LDAP_GROUP_TYPE= GroupOfUniqueNamesType()AUTH_LDAP_REQUIRE_GROUP=NoneAUTH_LDAP_DENY_GROUP=NoneAUTH_LDAP_USER_ATTR_MAP= {
     'name': 'cn',
     'email': 'mail'}AUTH_LDAP_FIND_GROUP_PERMS=FalseAUTH_LDAP_CACHE_GROUPS=TrueAUTH_LDAP_GROUP_CACHE_TIMEOUT=3600AUTH_LDAP_DEFAULT_SENTRY_ORGANIZATION=u'My Organization Name'AUTH_LDAP_SENTRY_ORGANIZATION_ROLE_TYPE='member'AUTH_LDAP_SENTRY_ORGANIZATION_GLOBAL_ACCESS=TrueAUTHENTICATION_BACKENDS=AUTHENTICATION_BACKENDS+ (
     'sentry_ldap_auth.backend.SentryLdapBackend',
    )import logging
    logger = logging.getLogger('django_auth_ldap')
    logger.addHandler(logging.StreamHandler())
    logger.setLevel('DEBUG')

    Server  ext  Source  添加  auth  LDA  
    相关文章