繁体   English   中英

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

[英]AWS Secrets Manager Update Secret Request Using AWS-SDK Java

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

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

Secret Id 是指 Secret Name。 没有什么叫做秘密的特定 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);
client.updateSecret(updateSecretRequest);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM