Django数据库后端,用于AWS数据库IAM身份验证
项目描述
Django IAM数据库后端
用法
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
设置为require
或verify-ca
。
进一步文档
项目详情
关闭
django_iam_dbauth-0.2.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a33885c81ecdfc8eef22842a56b6a8f545c3c1a1595945ce8e87453697481a62 |
|
MD5 | 97f0009308613ca5455ec1b4e46cecd7 |
|
BLAKE2b-256 | f5b5c728057692226236617e53740b7b7660c8bb168e1582eb7ad9a9af387d11 |
关闭
django_iam_dbauth-0.2.1-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c3ea606ce62bf872930af948a59c792c26c6372db61911ad93b0e536009f033d |
|
MD5 | ee353fd7159c22a981a0f934eff086ae |
|
BLAKE2b-256 | 70f2ec8f768046939fdd762a92f0efdda79446f7319930e486eed01fff6f6f52 |