AWS Secrets Manager 使用 AWS-SDK Java 更新密钥请求

Posted

技术标签:

【中文标题】AWS Secrets Manager 使用 AWS-SDK Java 更新密钥请求【英文标题】:AWS Secrets Manager Update Secret Request Using AWS-SDK Java 【发布时间】:2019-12-01 12:27:15 【问题描述】:

我想使用适用于 Java 的 AWS-SDK 更新 AWS 密钥管理器中现有密钥的密钥字符串。从示例请求https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UpdateSecret.html#API_UpdateSecret_Examples 我可以知道我需要在 com.amazonaws.services.secretsmanager.model.UpdateSecretRequest 中设置 SecretId,但我很困惑,因为在创建密钥时我没有提供任何 SecretId。 secretId 是否等同于 SecretName?我可以用 UpdateSecretRequest.setSecretId("SecertName") 设置吗?或者是否有任何其他方法可以获取 secretId ?

【问题讨论】:

【参考方案1】:

是的,秘密 ID 可以是秘密的 arn 或名称

【讨论】:

【参考方案2】:
client.updateSecret(updateSecretRequest);

我想你忘了添加这一行。你已经更新了你的秘密,现在你需要告诉客户更新它。

【讨论】:

【参考方案3】:

Secret Id 指的是秘密名称。没有什么叫做秘密的特定 ID。

SecretId 指定要修改或要添加新版本的密钥。您可以指定 Amazon 资源名称 (ARN) 或密钥的友好名称

您可以编写如下示例代码来更新您现有的秘密字符串:

String secretName = "tutorials/MySecondSecretFromProgram";
String secretDescription = "The Secret description I Updated using the AWS Sdk...";
String region = "us-east-2";

BasicAWSCredentials awsCreds = new BasicAWSCredentials("Your_access_key_id", "your_secret-access_key");
AWSSecretsManager client = AWSSecretsManagerClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCreds)).withRegion (region).build();    
UpdateSecretRequest updateSecretRequest = new UpdateSecretRequest ().withSecretId (secretName);
updateSecretRequest.setDescription (secretDescription);
JSONObject secretValues = new JSONObject ();        
secretValues.put ("my_secret_label", "My_secret_label_Updated");
secretValues.put ("my_secret-value", "My_secret_value_Updated");
updateSecretRequest.setSecretString (secretValues.toString ());
client.updateSecret(updateSecretRequest);

【讨论】:

以上是关于AWS Secrets Manager 使用 AWS-SDK Java 更新密钥请求的主要内容,如果未能解决你的问题,请参考以下文章

AWS Systems Manager Parameter Store 和 AWS Secrets Manager 之间的区别?

无法使用 Secrets Manager 密钥注册 AWS Batch 作业定义

使用 Terraform 将文件上传到 AWS Secrets Manager

AWS Secrets Manager 和 Spring Boot

AWS Secrets Manager 找不到指定的密钥

如何通过python更新AWS Secrets Manager?