amazon.aws.secretsmanager_secret lookup – Поиск секретов, хранящихся в AWS Secrets Manager
Примечание
Этот плагин поиска входит в состав коллекции amazon.aws (версия 8.2.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install amazon.aws. Для использования этого плагина поиска необходимы дополнительные требования, см. Требования для получения подробностей.
Чтобы использовать его в книге задач, укажите: amazon.aws.secretsmanager_secret.
Обзор
- Поиск секретов, хранящихся в AWS Secrets Manager, при условии, что у вызывающего есть соответствующие разрешения на чтение секрета.
- Поиск основан на значении Name секрета.
- В этот поиск можно передать дополнительные параметры; version_id и version_stage
- До версии 6.0.0 этот модуль был известен как
aws_ssm, способ использования остался прежним.
Псевдонимы: aws_secret
Требования
Ниже перечислены требования, которые должны быть выполнены на локальном узле контроллера, выполняющем этот поиск.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Термины
Параметр | Комментарии |
|---|---|
Термины строка / обязательно | Имя секрета для поиска в AWS Secrets Manager. |
Параметры ключевых слов
Это описывает параметры ключевых слов поиска. Это значения key1=value1, key2=value2 и так далее в следующих примерах: lookup('amazon.aws.secretsmanager_secret', key1=value1, key2=value2, ...) и query('amazon.aws.secretsmanager_secret', key1=value1, key2=value2, ...)
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key строка | Идентификатор ключа доступа AWS. Дополнительную информацию об маркерах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Параметры aws_access_key и profile взаимоисключающие. Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для обеспечения согласованности с SDK AWS botocore. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Конфигурация:
|
bypath логическое значение добавлено в amazon.aws 1.4.0 | Логическое значение, указывающее, предоставляется ли параметр в виде иерархии. Варианты:
|
endpoint_url псевдонимы: aws_endpoint_url, endpoint строка | URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws тестируются только с AWS. Псевдоним endpoint устарел и будет удален в релизе после 2024-12-01. Конфигурация: |
join логическое значение | Объединить две или более записей для создания расширенного секрета. Это полезно для преодоления ограничения в 4096 символов, наложенного AWS. Не оказывает никакого влияния при использовании с bypath. Варианты:
|
nested логическое значение добавлено в amazon.aws 1.4.0 | Логическое значение, указывающее, что секрет содержит вложенные значения. Варианты:
|
on_deleted строка добавлено в amazon.aws 2.0.0 | Действие, которое необходимо выполнить, если секрет помечен на удаление.
Варианты:
|
on_denied строка | Действие, которое необходимо выполнить, если доступ к секрету запрещен.
Варианты:
|
on_missing строка | Действие, которое необходимо выполнить, если секрет отсутствует.
Варианты:
|
profile псевдонимы: aws_profile, boto_profile строка | Используемый именованный профиль AWS для аутентификации. Дополнительную информацию об именованных профилях см. в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и security_token. Псевдоним boto_profile устарел и будет удален в релизе после 2024-12-01. Конфигурация:
|
region aliases: aws_region, ec2_region string | AWS-регион для использования. Дополнительную информацию см. в документации Amazon AWS по http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Настройка:
|
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key string | Секретный ключ доступа к AWS. Дополнительную информацию об маркерах доступа см. в документации AWS по https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Параметры secret_key и profile взаимоисключающие. Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Настройка:
|
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Токен сеанса AWS STS для использования с временными учетными данными. Дополнительную информацию об маркерах доступа см. в документации AWS по https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Параметры security_token и profile взаимоисключающие. Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Настройка:
|
version_id string | Версия секрета(ов). |
version_stage string | Этап версии секрета. |
Примечания
Примечание
- При совместном использовании ключевых и позиционных параметров позиционные параметры должны указываться до ключевых параметров:
lookup('amazon.aws.secretsmanager_secret', term1, term2, key1=value1, key2=value2)иquery('amazon.aws.secretsmanager_secret', term1, term2, key1=value1, key2=value2) - Внимание: Для модулей переменные среды и конфигурационные файлы считываются из контекста узла Ansible, а не контекста контроллера. В связи с этим файлы могут потребоваться явно скопировать на узел. Для плагинов поиска и подключения переменные среды и конфигурационные файлы считываются из контекста контроллера Ansible, а не контекста узла.
- AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других параметров, таких как регион, из своих конфигурационных файлов в контексте узла Ansible (обычно
~/.aws/credentials). Дополнительную информацию см. по https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.
Примеры
- name: lookup secretsmanager secret in the current region
debug: msg="{{ lookup('amazon.aws.aws_secret', '/path/to/secrets', bypath=true) }}"
- name: Create RDS instance with aws_secret lookup for password param
rds:
command: create
instance_name: app-db
db_engine: MySQL
size: 10
instance_type: db.m1.small
username: dbadmin
password: "{{ lookup('amazon.aws.aws_secret', 'DbSecret') }}"
tags:
Environment: staging
- name: skip if secret does not exist
debug: msg="{{ lookup('amazon.aws.aws_secret', 'secret-not-exist', on_missing='skip')}}"
- name: warn if access to the secret is denied
debug: msg="{{ lookup('amazon.aws.aws_secret', 'secret-denied', on_denied='warn')}}"
- name: lookup secretsmanager secret in the current region using the nested feature
debug: msg="{{ lookup('amazon.aws.aws_secret', 'secrets.environments.production.password', nested=true) }}"
# The secret can be queried using the following syntax: `aws_secret_object_name.key1.key2.key3`.
# If an object is of the form `{"key1":{"key2":{"key3":1}}}` the query would return the value `1`.
- name: lookup secretsmanager secret in a specific region using specified region and aws profile using nested feature
debug: >
msg="{{ lookup('amazon.aws.aws_secret', 'secrets.environments.production.password', region=region, profile=aws_profile,
access_key=aws_access_key, secret_key=aws_secret_key, nested=true) }}"
# The secret can be queried using the following syntax: `aws_secret_object_name.key1.key2.key3`.
# If an object is of the form `{"key1":{"key2":{"key3":1}}}` the query would return the value `1`.
# Region is the AWS region where the AWS secret is stored.
# AWS_profile is the aws profile to use, that has access to the AWS secret.
Возвращаемое значение
Ключ | Описание |
|---|---|
Возвращаемое значение строка | Возвращает значение секрета, хранящегося в AWS Secrets Manager. Возвращено: success |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/amazon/aws/secretsmanager_secret_lookup.html