我想使用适用于Java的AWS-SDK更新AWS Secrets Manager中的现有密钥的秘密字符串。从示例请求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?
答案 0 :(得分:0)
是的秘密ID可以是秘密的arn或名称
答案 1 :(得分: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 ());