r - 在 Shiny 应用程序部署中隐藏 key

标签 r amazon-s3 shiny shinyapps

我正在使用从 S3 获取的数据将应用程序部署到 Shinyapps.io,我想确保我的 AWS key 是安全的。目前在 app.R 代码中,我正在设置环境变量,然后查询 S3 以获取数据。
有没有办法创建一个隐藏 key 的文件并将其与我的 app.R 文件一起部署到 ShinyApss

Sys.setenv("AWS_ACCESS_KEY_ID" = "XXXXXXXX",
           "AWS_SECRET_ACCESS_KEY" = "XXXXXXXXX",
           "AWS_DEFAULT_REGION" = "us-east-2")


inventory =aws.s3::s3read_using(read.csv, object = "s3://bucket/file.csv")
我还要补充一点,我使用的是免费计划,因此用户身份验证不可用,否则我不会为我的 key 可见而大惊小怪。

最佳答案

也许这个解决方案太基本了,但您可以简单地创建一个 .txt 文件,其中每行一个键。比你可以用 scan()读取该文件。
就像是:

   Sys.setenv("AWS_ACCESS_KEY_ID" = scan("file.txt",what="character")[1],
           "AWS_SECRET_ACCESS_KEY" = scan("file.txt",what="character")[2],
           "AWS_DEFAULT_REGION" = "us-east-2")
它与评论中“管理 secret ”链接中的第一个解决方案类似,只是我们使用简单的文本格式而不是JSON。

关于r - 在 Shiny 应用程序部署中隐藏 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66217176/

相关文章:

r - 改变颜色actionButton Shiny R

r - 如何在 R 中创建具有单个值的列表?

r - R 中的 as.yearqtr 从 12 月而不是 1 月开始

R 不召回内存中的对象

amazon-web-services - 媒体转换服务上的 AWS IAM 角色策略问题 [无法打开输入文件 [无法读取数据 : AssumeRole failed]]]

r - 如何在 R 中传递字符串作为列名

r - R Shiny 的 fileInput 的接受参数的有效值是什么?

R 在新选项卡中 Shiny 打开 renderTable 中的 URL

amazon-web-services - AWS Cloudfront 自定义错误页面速度慢吗?

amazon-s3 - 仅将新文件从 S3 加载到 Redshift 的简单方法?