0

我想使用适用于 Java 的 AWS-SDK 更新 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 ?

4

3 回答 3

1

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

于 2019-07-27T00:10:06.920 回答
0

秘密 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);
于 2019-09-06T05:23:23.943 回答
0
client.updateSecret(updateSecretRequest);

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

于 2020-08-12T04:36:12.223 回答