【问题标题】:Get a secret from AWS secret manager using DefaultAWSCredentialsProviderChain使用 DefaultAWSCredentialsProviderChain 从 AWS 密钥管理器获取密钥
【发布时间】:2020-02-27 08:37:34
【问题描述】:

有没有办法使用 DefaultAWSCredentialsProviderChain java 类从 AWS 机密存储中检索机密?

如果没有,请提出一种检索方法? (我需要在执行签名 V4 签名请求以连接 AWS Neptune 的上下文中。对于签名签名,我使用this 示例。但我的秘密在 AWS 秘密管理器中,那么我如何从DefaultAWSCredentialsProviderChain的秘密存储)

【问题讨论】:

  • 添加了回复,如果您需要其他内容,请告诉我。

标签: amazon-web-services aws-java-sdk amazon-neptune


【解决方案1】:

我不确定 Secrets Manager 是否公开了 AWSCredentialsProvider 接口,但即使它们不支持,也应该很容易编写一些内容。

以下是使用 Secrets Manager API 公开凭据提供程序实现的示例实现:

https://github.com/jenkinsci/aws-secrets-manager-credentials-provider-plugin/blob/0e12e02a759d13524ed7f5cd0125ef6eab47ff7d/src/main/java/io/jenkins/plugins/credentials/secretsmanager/AwsCredentialsProvider.java

一旦你有了这样的东西,只需确保将它传递给你在应用程序中使用的 SigV4Signer。

参考:https://github.com/aws/amazon-neptune-sigv4-signer/blob/master/src/main/java/com/amazonaws/neptune/auth/NeptuneSigV4SignerBase.java#L77-L86

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    可以使用 aws secretsmanager

    使用这些docs

    【讨论】:

    • 在上述链接中进行签名V4签名时如何使用它?
    • 在使用 AWSCredentialsProvider 接口签名的链接签名中,我尝试使用相同的接口从密钥管理器存储中检索密钥并对其进行签名。
    最近更新 更多