问题标签 [aws-secrets-manager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
109 浏览

encryption - 基于客户端身份验证加密解密 DynamoDB 数据

我有一个用户和组的用例。数据被保存到 dyanmodb 中。我正在努力保护数据。

我在 Cognito 中有用户和组。数据是通过 DynamoDB 保存/检索的,但我想加密数据,这样即使我看不到它,甚至我也无法修改它,但组内的所有用户都可以查看它。哈希和范围键很好,不需要加密,但如果加密可以工作。

假设有用户 1、2、3、4 和组 1。用户 1、2、3 在组 1 中。现在只有用户 1 可以修改他的数据,但用户 2 和 3 可以查看。用户 3 和 4 无法查看或写入。我可以将其作为应用程序逻辑。但我想加密数据,所以即使作为 AWS 账户的管理员我也无法修改它。当然,我可以删除它,但没关系,用户无论如何都会知道这一点

那可能吗?

0 投票
2 回答
885 浏览

javascript - 使用 aws secret manager 配置 knexfile.js

我需要使用从秘密管理器中检索到的秘密来配置 knexfile.js。我从秘密管理器中检索秘密并将其存储在秘密变量中并在配置中使用它。

但它显示错误 TypeError: Cannot read property 'localClient' of undefined

0 投票
2 回答
2872 浏览

amazon-web-services - 您如何管理您的代入角色 IAM 策略以访问 AWS 密钥管理器中的密钥?

我开始将我们的秘密从 AWS 参数存储迁移到 AWS 秘密管理器,目前我面临一个我不知道如何解决的问题,谁能提供任何见解?

我们有一个 AWS 账户(我们称之为身份账户),我们管理所有 IAM 用户和组。我们还有另一个 AWS 账户托管我们的基础设施(我们称之为基础设施账户)。我们想管理身份帐户中的所有用户,并让用户承担poweruser基础设施帐户中的角色,以便我们可以在一个地方管理所有用户。

在 infra 帐户中,我们运行 RDS,我们想为我们的开发人员创建数据库用户,以便他们可以登录到数据库进行调试,但我们也想审核他们所做的事情,以防有人对我们的数据库做了坏事,所以我们需要为每个开发人员创建一个数据库用户。所有这些数据库凭证都使用命名约定保存到 AWS 机密中, /dev/rds/mysql/users/foo /dev/rds/mysql/users/bar 因此问题是:如何管理用户的 IAM 策略以限制用户的权限,以便他们只能访问自己的机密?当用户使用假定角色访问 AWS 时,我们无法从这个 AWS 文档中获得因此以下策略永远不会起作用aws:username

我可以用于假定角色的唯一 IAM 变量是,aws:userid但它会是这样的(假设 userfoo在身份帐户中的用户名是foo@emaildomain.com

看起来role-id(AROAJGHLP6KERYI375PJY在这个例子中) 是随机的,带有前缀AROA,这意味着我也不能使用以下策略(而且,AROAJGHLP6KERYI375PJY:foo@emaildomain.com在秘密管理器中作为秘密名称非常难看)

目前我的政策以这个结束

这意味着只要用户假设使用基础设施帐户,他们也可以访问其他开发人员的数据库凭据。

我查看了 CloudWatch 指标,看看我是否可以设置一个过滤器来过滤掉用户foo调用GetSecretValueAPI 以获取用户bar凭据的 API 调用,但 CloudWatch 过滤器不支持用户 REGEX 从 JSON 中提取某些值。以下是GetSecretValueCloudTrail 日志中的事件示例:

如果我可以从中提取foo@emaildomain.com{ $.userIdentity.principalId }提取foo{ $.requestParameters}然后我可以尝试一些魔法来比较foo@emaildomain.com == foo如果用户试图获取其他人的凭证来触发警报,但是,我不能......

那么,在这种情况下,我该如何管理我的策略来锁定用户的权限呢?

0 投票
0 回答
69 浏览

java - YAML 与 AWS 机密到 POJO 的转换

我们有一个从 Yaml 文件中读取其配置的服务。我们计划与 AWS 秘密管理器集成以存储秘密。一个示例 yaml 就像,

password: abcd

在 Secrets manager 集成之后,Yaml 看起来像,

password: secret://secret-password

前缀secret://将表明它需要被解析。

我们目前正在寻找 jackson-yaml 映射器来将 yaml 映射到 POJO。我想知道我们如何在这个库(或任何其他 yaml-pojo 库)中插入属性解析代码,它在反序列化过程中提供了一个钩子,以便我可以解析属性

0 投票
1 回答
484 浏览

amazon-web-services - 如何使 aws 管理员无法访问非管理员用户设置的机密?

我在AWS有一个要求。非管理员用户需要在AWS Secrets Manager中写入某些机密。AWS管理员不应访问这些机密。

在这里,AWS 管理员是对用户附加“AdministratorAccess”策略的人,而非管理员是由管理员创建的用户,并且仅授予对某些服务的有限访问权限。

我想将我的应用程序的“用户名和密码”存储在机密管理器中。AWS Lambda也将使用相同的凭证。

我可以写以下策略:

但此政策仅拒绝单个用户。我想在单一策略中拒绝账户中的所有 AWS 管理员。

而不是Principal我尝试NotPrincipal只写app-admin-user如下:

但这给出了一个AccessDeniedException说法User does not have permission to specify explicit deny,因为用户app-admin-user不是 AWS 管理员。

我附上这个政策文件和我正在创建的秘密。

除了使用AWS Secrets Manager来解决此问题之外,请建议是否有任何替代解决方案可用。

0 投票
0 回答
106 浏览

oauth-2.0 - 承载令牌过期时如何设置回调?

这是我读过的关于不记名令牌的文档。

我希望设置一个 expires_in 值为 1000000(~11 天)的不记名令牌,但在 AWS Secrets Manager 中存储和使用此令牌 - https://aws.amazon.com/secrets-manager/

现在这个过程不是自动化的。每 11 天,我必须使用新的令牌值手动更新 AWS Secrets Manager。我希望自动执行此操作并设置回调。每当令牌过期时,我想通过使用不记名令牌更新秘密来更新 AWS Secrets Manager。

有没有人可以参考我可以使用的任何代码示例?我在想我可以使用 AWS Lambda 进行实际调用以更新 Secrets Manager 中的密钥,但我不确定如何为 lambda 编写触发器

可从文档调用的函数没有用于指定回调函数的参数(在令牌过期时使用)

0 投票
2 回答
2221 浏览

amazon-web-services - AWS Secrets Manager 从哪里获取 AWS 凭证?

我开始使用 Secrets Manager 并在 AWS 中创建了我的第一个密钥。在此过程中,它给了我一些示例代码。我把它放在一个小应用程序中并运行它。编码:

问题是:

  1. 我能够成功检索到我创建的秘密,并且
  2. 我没有在任何地方使用任何有效的 AWS 凭证数据创建 Credentials 对象

此代码从哪里获取凭证信息?

0 投票
1 回答
968 浏览

amazon-web-services - AWS 和密钥(Systems Manager、Secrets Manager、密钥管理服务)

由于 AWS 现在已经停用了 KMS 服务,因此 Secrets Manager 似乎接管了。

由于它非常昂贵,因此还有 Systems Manager 参数存储。

据我所知,这些都没有审计能力。

有人知道路线图或用于哪个用例吗?

0 投票
0 回答
742 浏览

node.js - 如何在 Express Project 中使用 AWS Secrets Manager 获取凭证?

我正在尝试从我的凭证和密钥迁移到我的 Express 项目中的 AWS Secrets Manager。

当前结构有一个 config.json 文件,该文件在 express 应用程序时同步加载。

但是,当我尝试从 AWS API 获取凭证时,流程将不起作用。因为在我之前的方法中,文件是同步加载的,因此,当应用程序启动时,所有凭证都可用,但从 AWS API 获取凭证时,所有凭证都不可用。

我想了解在 Express/Node 项目中需要 API 调用以获取凭据的任何秘密管理器的理想方法是什么。

0 投票
1 回答
2005 浏览

amazon-web-services - 如何在 aws secrets manager 服务中管理 aws RDS(由 cloudformation 创建)的主用户凭证?

我有一个由 Cloudformation 创建的 RDS 数据库实例。现在,我需要将其主用户凭证作为机密存储在 AWS 机密管理器服务中,并启用自动轮换计划。因为,通过 AWS Cloudformation 创建的 RDS 实例需要主用户名和密码作为其强制参数之一。并且在自动轮换之后,它会使我的 CFN 模板在未来的参数用户名和密码不同步。

在这种情况下如何实现这个秘密的自动轮换?更广泛地说,这个问题适用于由 CFN 创建的其他 aws 服务,并在创建时期望某种秘密,例如 Amazon MQ 服务。