Spec-Zone.ru › Ansible

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.

Конфигурация:

  • Переменная среды: AWS_ACCESS_KEY_ID
  • Переменная среды: AWS_ACCESS_KEY
  • Переменная среды: EC2_ACCESS_KEY

    Удалено в: основной релиз после 2024-12-01

    Почему: EC2 в имени предполагало, что оно ограничено ресурсами EC2. Однако оно используется для всех подключений.

    Альтернатива: AWS_ACCESS_KEY_ID

bypath

логическое значение

добавлено в amazon.aws 1.4.0

Логическое значение, указывающее, предоставляется ли параметр в виде иерархии.

Варианты:

  • false ← (по умолчанию)
  • true

endpoint_url

псевдонимы: aws_endpoint_url, endpoint

строка

URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws тестируются только с AWS.

Псевдоним endpoint устарел и будет удален в релизе после 2024-12-01.

Конфигурация:

  • Переменная среды: AWS_URL
  • Переменная среды: EC2_URL

    Удалено в: основной релиз после 2024-12-01

    Почему: EC2 в имени предполагало, что оно ограничено ресурсами EC2. Однако оно используется для всех подключений.

    Альтернатива: AWS_URL

join

логическое значение

Объединить две или более записей для создания расширенного секрета.

Это полезно для преодоления ограничения в 4096 символов, наложенного AWS.

Не оказывает никакого влияния при использовании с bypath.

Варианты:

  • false ← (по умолчанию)
  • true

nested

логическое значение

добавлено в amazon.aws 1.4.0

Логическое значение, указывающее, что секрет содержит вложенные значения.

Варианты:

  • false ← (по умолчанию)
  • true

on_deleted

строка

добавлено в amazon.aws 2.0.0

Действие, которое необходимо выполнить, если секрет помечен на удаление.

error выведет ошибку, если секрет помечен на удаление.

skip проигнорирует удаленный секрет.

warn пропустит удаленный секрет, но выведет предупреждение.

Варианты:

  • "error" ← (по умолчанию)
  • "skip"
  • "warn"

on_denied

строка

Действие, которое необходимо выполнить, если доступ к секрету запрещен.

error выведет ошибку, если доступ к секрету запрещен.

skip проигнорирует запрещенный секрет.

warn пропустит запрещенный секрет, но выведет предупреждение.

Варианты:

  • "error" ← (по умолчанию)
  • "skip"
  • "warn"

on_missing

строка

Действие, которое необходимо выполнить, если секрет отсутствует.

error выведет ошибку, если секрет отсутствует.

skip проигнорирует отсутствующий секрет.

warn пропустит отсутствующий секрет, но выведет предупреждение.

Варианты:

  • "error" ← (по умолчанию)
  • "skip"
  • "warn"

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.

Конфигурация:

  • Переменная среды: AWS_PROFILE
  • Переменная среды: AWS_DEFAULT_PROFILE

region

aliases: aws_region, ec2_region

string

AWS-регион для использования.

Дополнительную информацию см. в документации Amazon AWS по http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

Настройка:

  • Переменная среды: AWS_REGION
  • Переменная среды: EC2_REGION

    Удалено в: основной версии после 2024-12-01

    Почему: EC2 в названии предполагало ограничение ресурсами EC2, тогда как используется для всех подключений

    Альтернатива: AWS_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.

Настройка:

  • Переменная среды: AWS_SECRET_ACCESS_KEY
  • Переменная среды: AWS_SECRET_KEY
  • Переменная среды: EC2_SECRET_KEY

    Удалено в: основной версии после 2024-12-01

    Почему: EC2 в названии предполагало ограничение ресурсами EC2, тогда как используется для всех подключений.

    Альтернатива: AWS_SECRET_ACCESS_KEY

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.

Настройка:

  • Переменная среды: AWS_SESSION_TOKEN
  • Переменная среды: AWS_SECURITY_TOKEN

    Удалено в: основной версии после 2024-12-01

    Почему: AWS_SECURITY_TOKEN использовался для совместимости с исходным SDK boto, поддержка которого была снята

    Альтернатива: AWS_SESSION_TOKEN

  • Переменная среды: EC2_SECURITY_TOKEN

    Удалено в: основной версии после 2024-12-01

    Почему: EC2 в названии предполагало ограничение ресурсами EC2, тогда как используется для всех подключений.

    Альтернатива: AWS_SESSION_TOKEN

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

Авторы

  • Aaron Smith

Подсказка

Записи конфигурации для каждого типа имеют порядок приоритетов от низкого к высокому. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше.

Ссылки на коллекцию

  • Система отслеживания ошибок
  • Репозиторий (источники)
  • Общение

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API