change secret ARNs to 6 random chars at end (#5200)

This commit is contained in:
Matthew Davis 2022-06-09 05:54:51 +10:00 committed by GitHub
parent 4aa5e4388d
commit 0bf7057866
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 1 deletions

View File

@ -64,7 +64,7 @@ def random_password(
def secret_arn(region, secret_id): def secret_arn(region, secret_id):
id_string = "".join(random.choice(string.ascii_letters) for _ in range(5)) id_string = "".join(random.choice(string.ascii_letters) for _ in range(6))
return "arn:aws:secretsmanager:{0}:{1}:secret:{2}-{3}".format( return "arn:aws:secretsmanager:{0}:{1}:secret:{2}-{3}".format(
region, get_account_id(), secret_id, id_string region, get_account_id(), secret_id, id_string
) )

View File

@ -2,6 +2,7 @@ import os
import boto3 import boto3
from dateutil.tz import tzlocal from dateutil.tz import tzlocal
import re
from moto import mock_secretsmanager, mock_lambda, settings from moto import mock_secretsmanager, mock_lambda, settings
from moto.core import ACCOUNT_ID from moto.core import ACCOUNT_ID
@ -26,6 +27,22 @@ def test_get_secret_value():
assert result["SecretString"] == "foosecret" assert result["SecretString"] == "foosecret"
@mock_secretsmanager
def test_secret_arn():
region = "us-west-2"
conn = boto3.client("secretsmanager", region_name=region)
create_dict = conn.create_secret(
Name=DEFAULT_SECRET_NAME,
SecretString="secret_string",
)
assert re.match(
f"arn:aws:secretsmanager:{region}:{ACCOUNT_ID}:secret:{DEFAULT_SECRET_NAME}-"
+ r"\w{6}",
create_dict["ARN"],
)
@mock_secretsmanager @mock_secretsmanager
def test_create_secret_with_client_request_token(): def test_create_secret_with_client_request_token():
conn = boto3.client("secretsmanager", region_name="us-west-2") conn = boto3.client("secretsmanager", region_name="us-west-2")