【发布时间】:2019-04-25 14:26:54
【问题描述】:
我正在尝试隐藏位于 kivy 应用程序 (python3) 中的 boto3 客户端的凭据。 boto3 被 SecretsManager 用于保存 RDS 数据库访问的其他凭据。
client = session.client(
service_name='secretsmanager',
region_name=region_name,
aws_access_key_id='AK########.....'
我不想硬编码我的访问密钥、秘密等
我考虑过为这个客户端分配一个特定的IAM 角色,这在理论上会给我 boto3 所需的角色/访问权限,但我不知道该怎么做。
我也使用 cognito 进行登录(auth);我可以建立一个附加到这些用户的组,然后通过这个(我认为这可行)获得对 boto3 客户端的凭据/访问权限。
有没有更好的解决方案,还是我的工作流程全错了?!
非常感谢!
【问题讨论】:
-
如果您的客户端在 EC2(或 Lambda 或 ECS)上运行,那么使用 IAM 角色启动计算是很简单的,这将允许 boto3 SDK 无缝检索凭证。
-
不,它没有。 Kivy 是适用于 android 和 ios 的 python 框架
-
移动设备上的 Python,谁知道?典型的移动模式是使用 Amplify 或 Cognito。因为您使用的是 Python(而不是 JS、Swift 或 Java),所以您可能不得不使用 Cognito,假设您不想构建自己的服务器端代码来出售凭证或代理您对 AWS 的访问资源。
标签: python-3.x amazon-web-services kivy boto3 amazon-iam