跳转到主要内容

Django数据库后端,用于AWS数据库IAM身份验证

项目描述

Django IAM数据库后端

codecov pypi readthedocs tests

用法

pip install django-iam-dbauth

在您的设置中使用以下内容

DATABASES = {
    "default": {
        "HOST": "<hostname>",
        "USER": "<user>",
        "NAME": "<db name>",
        "ENGINE": 'django_iam_dbauth.aws.postgresql',
        "OPTIONS": {
            "use_iam_auth": True,
            "sslmode": "require",   # See discussion on SSL below
            "resolve_cname_enabled": True,
        }
    }
}

SSL和PostgreSQL

当使用RDS的IAM身份验证时,需要SSL。如果不使用,例如当使用CNAME(见下文)时,登录将被拒绝,出现以下错误

django.db.utils.OperationalError: FATAL:  pg_hba.conf rejects connection for host "1.2.3.4", user "some_user", database "some_database", SSL off

SSL和MySQL

如果使用RDS实例名称(CNAME记录)作为HOST,则获取的令牌将无法与MySQL一起使用,因为默认情况下,它将由django-iam-dbauth解析为规范名称。结果,令牌的主机名将不同。为了防止模块解析CNAME,将“resolve_cname_enabled”设置为False。

CNAME考虑事项

目前,IAM身份验证不支持CNAME。然而,此包执行CNAME解析,以便密码的签名请求可以工作。这种方法的问题是从数据库库的角度来看,连接是设置中定义的主机名发起的。如果使用SSL,证书验证将失败。在这种情况下,对于PostgreSQL,您可能希望将sslmode设置为requireverify-ca

进一步文档

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

django_iam_dbauth-0.2.1.tar.gz (7.3 kB 查看哈希值)

上传时间

构建分布

django_iam_dbauth-0.2.1-py2.py3-none-any.whl (5.9 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下组织支持