Spec-Zone.ru › Ansible

Модуль azure.azcollection.azure_rm_arcssh – Настройка SSH-прокси для ARC-хостов

Примечание

Этот модуль входит в коллекцию azure.azcollection (версия 3.18.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install azure.azcollection. Для работы с этим модулем необходимы дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать его в плейбуке, укажите: azure.azcollection.azure_rm_arcssh.

Добавлен в azure.azcollection 3.1.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • См. также
  • Примеры

Краткое описание

  • Настройка SSH-прокси для ARC-хостов. Используйте этот модуль вместе с плагином инвентаризации azure_rm и параметром include_arc_resource_groups, чтобы динамически сформировать список хостов.

Примечание

У этого модуля есть соответствующий плагин действий.

Требования

Следующие компоненты должны быть установлены на хосте, на котором выполняется этот модуль.

  • python >= 2.7
  • На хосте, на котором выполняется этот модуль, должна быть установлена коллекция azure.azcollection из Galaxy
  • Все пакеты Python, перечисленные в файле requirements.txt коллекции, должны быть установлены с помощью pip на хосте, на котором выполняются модули из azure.azcollection
  • Полные инструкции по установке можно найти по адресу https://galaxy.ansible.com/azure/azcollection

Параметры

Параметр

Комментарии

ad_user

string

Имя пользователя Active Directory. Используйте этот параметр для аутентификации от имени пользователя Active Directory, а не субъекта-службы.

adfs_authority_url

string

добавлен в azure.azcollection 0.0.1

URL-адрес центра Azure AD. Используйте его для аутентификации по имени пользователя и паролю при наличии собственного центра ADFS.

ansible_host

string

Обнаруженное имя хоста, сформированное конфигурацией инвентаризации.

Примеры настройки этого параметра в зависимости от resource_type см. в разделе «Примеры».

api_profile

string

добавлен в azure.azcollection 0.0.1

Выбирает профиль API для взаимодействия со службами Azure. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать Azure Stack.

По умолчанию: "latest"

auth_source

string

добавлен в azure.azcollection 0.0.1

Определяет источник учетных данных для аутентификации.

Также можно задать с помощью переменной среды ANSIBLE_AZURE_AUTH_SOURCE.

Если задано значение auto (по умолчанию), приоритет источников следующий: параметры модуля -> env -> credential_file -> cli.

Если задано значение env, учетные данные будут считываться из переменных среды.

Если задано значение credential_file, профиль будет считываться из ~/.azure/credentials.

Если задано значение cli, учетные данные будут получены из профиля Azure CLI. Для указания идентификатора подписки, если их несколько, можно использовать subscription_id или переменную среды AZURE_SUBSCRIPTION_ID; в противном случае будет использована подписка Azure CLI по умолчанию.

Если задано значение msi, хост должен быть ресурсом Azure с включенным расширением MSI. Для указания идентификатора подписки, если ресурсу предоставлен доступ к нескольким подпискам, можно использовать subscription_id или переменную среды AZURE_SUBSCRIPTION_ID; в противном случае будет выбрана первая подписка.

Параметр msi добавлен в Ansible 2.6.

Возможные значения:

  • "auto" ← (по умолчанию)
  • "cli"
  • "credential_file"
  • "env"
  • "msi"

cert_validation_mode

string

добавлен в azure.azcollection 0.0.1

Определяет порядок проверки сертификатов конечных точек Azure. По умолчанию все модули проверяют сертификат сервера, однако при использовании HTTPS-прокси или Azure Stack может потребоваться отключить эту проверку, передав ignore. Также можно задать через профиль файла учетных данных или переменную среды AZURE_CERT_VALIDATION.

Возможные значения:

  • "ignore"
  • "validate"

client_id

string

Идентификатор клиента Azure. Используйте для аутентификации с помощью субъекта-службы или управляемого удостоверения (MSI).

Также можно задать с помощью переменной среды AZURE_CLIENT_ID.

cloud_environment

string

добавлен в azure.azcollection 0.0.1

Для облачных сред, отличных от общедоступного облака США, укажите имя среды (как определено в Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment) или URL-адрес конечной точки обнаружения метаданных (обязателен для Azure Stack). Также можно задать через профиль файла учетных данных или переменную среды AZURE_CLOUD_ENVIRONMENT.

По умолчанию: "AzureCloud"

disable_instance_discovery

boolean

добавлен в azure.azcollection 2.3.0

Определяет, выполняется ли обнаружение экземпляров при попытке аутентификации. Если задать значение true, обнаружение экземпляров и проверка центра авторизации будут полностью отключены. Эта возможность предназначена для сценариев, в которых невозможно подключиться к конечной точке метаданных, например в частных облаках или Azure Stack. Обнаружение экземпляров включает получение метаданных центра авторизации с https://login.microsoft.com/ для проверки центра. Если задать значение **True**, проверка центра авторизации отключается. Поэтому важно убедиться, что настроенный узел центра авторизации действителен и заслуживает доверия.

Задается через профиль файла учетных данных или переменную среды AZURE_DISABLE_INSTANCE_DISCOVERY.

Возможные значения:

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

inventory_hostname

string

Имя хоста, настроенное в инвентаризации.

local_user

string

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

log_mode

string

Родительский аргумент.

log_path

string

Родительский аргумент.

oidc_token

string

добавлен в azure.azcollection 3.17.0

Токен OpenID Connect (OIDC) (JWT), используемый для аутентификации с помощью удостоверения рабочей нагрузки.

Этот токен обменивается с Azure AD с использованием федеративного удостоверения OIDC.

Полезен в системах CI (например, GitHub Actions, Azure DevOps), где платформа напрямую предоставляет токен OIDC.

Также можно задать с помощью переменной среды AZURE_FEDERATED_TOKEN.

oidc_token_file_path

path

добавлен в azure.azcollection 3.17.0

Путь к файлу с токеном OpenID Connect (OIDC) (JWT), используемым для аутентификации с помощью удостоверения рабочей нагрузки.

Файл должен содержать только необработанный токен.

Этот метод часто используется на платформах, которые сохраняют токены OIDC в файлах.

Также можно задать с помощью переменной среды AZURE_FEDERATED_TOKEN_FILE.

password

string

Пароль пользователя Active Directory. Используйте этот параметр для аутентификации от имени пользователя Active Directory, а не субъекта-службы.

port

string

Порт, на котором принимает подключения ваш SSH-сервер.

По умолчанию: "22"

private_key_file

string

Закрытый ключ, соответствующий открытому ключу, который вы уже добавили в файл authorized_hosts пользователя local_user.

По умолчанию: "~/.ssh/id_rsa"

profile

string

Профиль безопасности из файла ~/.azure/credentials.

resource_group

string / обязательный

Имя группы ресурсов, к которой относится сервер.

resource_type

string / обязательный

Имя типа ресурса, к которому относится сервер.

secret

string

Секрет клиента Azure. Используйте для аутентификации с помощью субъекта-службы.

ssh_config_file

string / обязательный

Путь к файлу конфигурации SSH для конкретного хоста. Он должен совпадать с аргументом -F, переданным в ansible_ssh_common_args. Этот параметр будет перезаписан; для каждого хоста следует указывать отдельное значение.

Примеры настройки этой переменной для согласования параметров задачи и плагина инвентаризации см. в разделе «Примеры».

ssh_proxy_folder

string

Папка для хранения клиентского SSH-прокси.

По умолчанию: "~/.clientsshproxy"

ssh_relay_file

string / обязательный

Путь к файлу ретрансляции для конкретного хоста.

subscription_id

string

Идентификатор вашей подписки Azure.

tenant

string

Идентификатор клиента Azure. Используйте для аутентификации с помощью субъекта-службы.

thumbprint

string

добавлен в azure.azcollection 1.14.0

Отпечаток закрытого ключа, указанного в x509_certificate_path.

Используйте для аутентификации с помощью субъекта-службы.

Обязателен, если задан x509_certificate_path.

x509_certificate_path

path

добавлен в azure.azcollection 1.14.0

Путь к сертификату X509 в формате PEM, используемому для создания субъекта-службы.

Закрытый ключ должен быть добавлен в конец сертификата.

Используйте для аутентификации с помощью субъекта-службы.

Примечания

Примечание

  • Для аутентификации в Azure можно передать параметры, задать переменные среды, использовать профиль из ~/.azure/credentials или выполнить вход перед запуском задач или плейбука с помощью az login.
  • Аутентификация также возможна с помощью субъекта-службы или пользователя Active Directory.
  • Для аутентификации через OIDC передайте client_id, tenant и oidc_token или oidc_token_file_path либо задайте переменные среды AZURE_CLIENT_ID, AZURE_TENANT и AZURE_FEDERATED_TOKEN или AZURE_FEDERATED_TOKEN_FILE.
  • Для аутентификации через субъект-службу передайте subscription_id, client_id, secret и tenant либо задайте переменные среды AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET и AZURE_TENANT.
  • Для аутентификации пользователя Active Directory передайте ad_user и password или задайте переменные AZURE_AD_USER и AZURE_PASSWORD в среде.
  • Кроме того, учетные данные можно хранить в файле ~/.azure/credentials. Это INI-файл, содержащий раздел [default] и следующие ключи: subscription_id, client_id, secret и tenant либо subscription_id, ad_user и password. Также можно добавить дополнительные профили. Укажите профиль, передав profile или задав переменную среды AZURE_PROFILE.

См. также

См. также

Вход с помощью Azure CLI

Инструкции по аутентификации с помощью команды az login.

Примеры

# Inventory plugin:
# ---
# plugin: azure.azcollection.azure_rm
# plain_host_names: yes
# include_arc_resource_groups: ['*']
#
#
# hostvar_expressions:
#   ansible_host: "resource_group + '-' + name if 'Microsoft.HybridCompute/machines' == resource_type else (public_dns_hostnames + public_ipv4_address) | first"
#   ansible_ssh_common_args: "'-F /tmp/' + resource_group + '-' + name + '/ssh_config' if 'Microsoft.HybridCompute/machines' == resource_type"
#
# keyed_groups:
# # places each host in a group named 'tag_(tag name)_(tag value)' for each tag on a VM.
#  - prefix: "type"
#    key: resource_type
#    trailing_separator: false

- name: Configure ARC SSH Proxy
  hosts: localhost
  connection: local
  tasks:
    - name: Setup Proxy
      azure.azcollection.azure_rm_arcssh:
        inventory_hostname: "{{ item }}"
        ansible_host: "{{ hostvars[item].ansible_host }}"
        local_user: admin
        resource_group: "{{ hostvars[item].resource_group }}"
        resource_type: "{{ hostvars[item].resource_type }}"
        private_key_file: "~/.ssh/id_rsa"
        ssh_config_file: "/tmp/{{ hostvars[item].resource_group }}-{{ item }}/ssh_config"
        ssh_relay_file: "/tmp/{{ hostvars[item].resource_group }}-{{ item }}/relay_info"
        ssh_proxy_folder: "~/.clientsshproxy"
      loop: "{{ groups['type_Microsoft_HybridCompute_machines'] }}"

- name: Ping ARC Hosts
  hosts: type_Microsoft_HybridCompute_machines
  tasks:
    - name: Ping
      ansible.builtin.ping:

Авторы

  • Bill Peck (@p3ck)

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

  • Отслеживание проблем
  • Домашняя страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/azure/azcollection/azure_rm_arcssh_module.html

Spec-Zone.ru

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