Могу ли я получить конкретную версию секрета Secrets Manager в определении задачи ECS?
Я сохранил секрет, используя AWS Secrets Manager. Я пытаюсь получить секрет как переменную среды в определении задачи ECS.
Следуя документации, я создал определение задачи ECS, которое включает следующий раздел:
"secrets": [
{
"name": "MY_PASSWORD",
"valueFrom": "/aws/reference/secretsmanager/my_password"
}
],
Как я понимаю, когда моя задача начинается, это:
- Получает последнюю версию секрета
my_password
от менеджера секретов - Расшифровывает это внутри задачи
- Назначает его переменной среды
MY_PASSWORD
Я хотел бы загрузить конкретную версию секрета в моем определении задачи, поэтому изменение секрета будет означать создание нового определения задачи.
Могу ли я сделать это?
Я искал в Google, но не смог найти никого, кто пытался сделать это.
Я попытался добавить идентификатор версии в valueFrom
параметр, т.е.
"secrets": [
{
"name": "MY_PASSWORD",
"valueFrom": "/aws/reference/secretsmanager/my_password:39231735-0279-4093-b8d1-7acd5a467295"
}
],
но получил ошибку:
Имя параметра системного менеджера, указанное для секретного имени es_user, недопустимо. Имя параметра может содержать до 2048 символов и включать следующие буквы и символы: a-zA-Z0-9_.-,
1 ответ
Согласно документам AWS , мы должны пройти Secrets ARN, чтобы это сработало.
Синтаксис:
{
"containerDefinitions": [{
"secrets": [{
"name": "environment_variable_name",
"valueFrom": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name"
}]
}]
}
Чтобы получить конкретную версию секрета, вы можете передать промежуточную метку или конкретный идентификатор версии.
Пример использования промежуточной метки:
{
"containerDefinitions": [{
"secrets": [{
"name": "environment_variable_name",
"valueFrom": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name::AWSPREVIOUS:"
}]
}]
}
Пример использования идентификатора версии:
{
"containerDefinitions": [{
"secrets": [{
"name": "environment_variable_name",
"valueFrom": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name:::VersionID"
}]
}]
}