AWS 多因素身份验证和 shiny-server

AWS Multifactor Authentication and shiny-server

我在 ec2 AWS 实例上部署了一个 shiny-server 应用程序。 此应用程序使用库 aws.s3 对 s3 存储桶执行 reading/writing 操作。

问题是,由于公司政策原因,我应该在aws IAM用户上使用MFA认证。

如果我将 MFA 身份验证添加到 shiny-server 实例中使用的用户,这些将无法 download/upload 数据到存储桶 s3(权限被拒绝) 读取 s3 存储桶的 R 代码:

 Sys.setenv("AWS_ACCESS_KEY_ID" = "ACCESSKEY",
               "AWS_SECRET_ACCESS_KEY" = "SECRETACCESSKEY",
               "AWS_DEFAULT_REGION" = "REGION",
               "AWS_SESSION_TOKEN" = "")
 aws.s3::s3read_using(FUN, trim_ws = TRUE, object = "myobject")

是否有一些方法可以通过 R download/upload s3 文件,我可以使用除此之外的其他方法,但我无法更改 iam 策略。

您可以在此处改进您的方法。您不应使用 IAM 用户从 EC2 实例访问 S3,因此首先不需要双因素身份验证。

访问 AWS 服务时,您应该尽可能寻找 IAM 角色而不是 IAM 用户。您可以在官方文档中阅读更多关于不同身份的信息 here.

除其他外,AWS IAM 角色会在幕后自动轮换,您无需在任何地方维护或传递 AWS 用户凭证。这意味着凭据的寿命很短,并且可以减少它们被泄露时的影响。

您可以从 AWS 知识中心参考此 guide 以了解启动和 运行.

的步骤