将 Django-Storages 与 IAM 实例配置文件结合使用

Use Django-Storages with IAM Instance Profiles

Django-Storages 为 Django 提供 S3 文件存储后端。它列出 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 作为必需的设置。如果我使用 AWS 实例配置文件而不是密钥对来提供 S3 访问,我该如何配置 Django-Storages?

您只需在设置中省略这些参数即可。

Django-Storages documentation 现在对此进行解释:

If AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY are not set, boto3 internally looks up IAM credentials.

它在幕后的工作方式是,如果您不提供它们,Django-Storages 会将 None 传递给 boto3,后者使用机器的特权而不是密钥对。如果机器有一个关联的实例配置文件,这就是被使用的。 (有关 boto3 的凭证层次结构的更多信息,请参阅 boto3 docs


感谢 指出 Django-Storages 文档已更新。 Django-Storages 文档之前根据需要列出了这些配置参数,这是不正确的。

文档现在对此进行解释:

If AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY are not set, boto3 internally looks up IAM credentials.