Spec-Zone.ru › Ansible

amazon.aws.ec2_security_group модуль — Управление группой безопасности EC2

Примечание

Этот модуль входит в коллекцию amazon.aws (версия 8.2.1).

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

Чтобы установить её, используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля необходимы дополнительные требования. Подробнее см. Требования.

Чтобы использовать его в книге задач, укажите: amazon.aws.ec2_security_group.

Новое в amazon.aws 1.0.0

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Описание

  • Управление группами безопасности EC2.

Псевдонимы: ec2_group

Требования

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

  • python >= 3.6
  • boto3 >= 1.26.0
  • botocore >= 1.29.0

Параметры

Параметр

Комментарии

access_key

aliases: aws_access_key_id, aws_access_key, ec2_access_key

string

Идентификатор ключа доступа AWS.

См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Переменные среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY также могут использоваться в порядке убывания предпочтения.

Параметры aws_access_key и profile являются взаимоисключающими.

Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore.

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

Поддержка переменной среды EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

aws_ca_bundle

path

Расположение пакета CA для использования при проверке SSL-сертификатов.

Переменная среды AWS_CA_BUNDLE также может использоваться.

aws_config

dictionary

Словарь для изменения конфигурации botocore.

Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

debug_botocore_endpoint_logs

boolean

Использовать botocore.endpoint регистратор для анализа уникальных (а не общих) "resource:action" вызовов API, выполненных во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, созданный во время выполнения playbook.

Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может использоваться.

Варианты:

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

description

string

Описание группы безопасности.

Обязательно, когда state равно present.

endpoint_url

aliases: ec2_url, aws_endpoint_url, s3_url

string

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

Переменные среды AWS_URL или EC2_URL также могут использоваться в порядке убывания предпочтения.

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

Поддержка переменной среды EC2_URL устарела и будет удалена в релизе после 2024-12-01.

group_id

string

Идентификатор группы для удаления (работает только с absent).

Требуется один и только один из name или group_id.

name

string

Имя группы безопасности.

Требуется один и только один из name или group_id.

Обязательно, если state=present.

profile

aliases: aws_profile

string

Именованный профиль AWS для использования для аутентификации.

См. документацию AWS для получения дополнительной информации об именованных профилях https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Переменная среды AWS_PROFILE также может использоваться.

Параметр profile является взаимоисключающим с параметрами aws_access_key, aws_secret_key и security_token.

purge_rules

boolean

Очистить существующие правила в группе безопасности, которые не найдены в rules.

Варианты:

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

purge_rules_egress

aliases: purge_egress_rules

boolean

Очистить существующие правила_egress в группе безопасности, которые не найдены в rules_egress.

Варианты:

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

purge_tags

boolean

Если purge_tags=true и установлен tags, существующие теги будут очищены из ресурса, чтобы точно соответствовать тому, что определено параметром tags.

Если параметр tags не установлен, теги не будут изменены, даже если purge_tags=True.

Ключи тегов, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Таким образом, они будут игнорироваться для параметра purge_tags. См. документацию Amazon для получения дополнительной информации https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Варианты:

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

region

aliases: aws_region, ec2_region

string

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

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, region игнорируется.

Переменные среды AWS_REGION или EC2_REGION также могут использоваться.

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

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

Поддержка переменной среды EC2_REGION устарела и будет удалена в релизе после 2024-12-01.

rules

list / elements=dictionary

Список правил входящих брандмауэров для применения в этой группе (см. пример). Если правила не указаны, правила входящего трафика не будут включены. Список правил может включать собственное имя в rules.group_name. Это позволяет добавлять идемпотентные циклические ссылки (например, разрешить группе доступ к себе).

cidr_ip

list / elements=any

Диапазон IPv4 CIDR, из которого поступает трафик.

Можно указать только один из rules.cidr_ip, rules.cidr_ipv6, rules.ip_prefix, rules.group_id и group_name.

Поддержка передачи вложенных списков строк в rules.cidr_ip устарела и будет удалена в релизе после 2024-12-01.

cidr_ipv6

list / elements=any

Диапазон IPv6 CIDR, из которого поступает трафик.

Можно указать только один из rules.cidr_ip, rules.cidr_ipv6, rules.ip_prefix, rules.group_id и rules.group_name.

Поддержка передачи вложенных списков строк в rules.cidr_ipv6 устарела и будет удалена в релизе после 2024-12-01.

from_port

integer

Начало диапазона портов, на которые направляется трафик.

Значение может находиться в диапазоне от 0 до 65535.

При rules.proto=icmp значение -1 указывает на все порты.

Взаимоисключающие параметры с rules.icmp_code, rules.icmp_type и rules.ports.

group_desc

string

Если rules.group_name установлен, и группы безопасности не существует, будет создана новая группа безопасности с rules.group_desc в качестве описания.

group_id

list / elements=string

Идентификатор группы безопасности, из которой поступает трафик.

Можно указать только один из rules.cidr_ip, rules.cidr_ipv6, rules.ip_prefix, rules.group_id и rules.group_name.

group_name

list / elements=string

Имя группы безопасности, из которой поступает трафик.

Если группы безопасности не существует, будет создана новая группа безопасности с rules.group_desc в качестве описания.

rules.group_name может принимать значения типа str и list.

Можно указать только один из rules.cidr_ip, rules.cidr_ipv6, rules.ip_prefix, rules.group_id и rules.group_name.

icmp_code

integer

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

Код ICMP пакета.

Значение -1 указывает на все коды ICMP.

Требуется rules.proto=icmp или rules.proto=icmpv6.

Взаимоисключающие параметры с rules.ports, rules.from_port и rules.to_port.

icmp_type

integer

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

Тип ICMP пакета.

Значение -1 указывает на все типы ICMP.

Требуется rules.proto=icmp или rules.proto=icmpv6.

Взаимоисключающие параметры с rules.ports, rules.from_port и rules.to_port.

ip_prefix

list / elements=string

IP-префикс https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-prefix-lists.html, из которого поступает трафик.

Можно указать только один из rules.cidr_ip, rules.cidr_ipv6, rules.ip_prefix, rules.group_id и rules.group_name.

ports

list / elements=string

Список портов, на которые направляется трафик.

Элементами списка может быть один порт (например, 8080), или диапазон портов, указанный как <START>-<END>, (например, 1011-1023).

Взаимоисключающие параметры с rules.icmp_code, rules.icmp_type, rules.from_port и rules.to_port.

proto

string

Имя протокола IP (tcp, udp, icmp, icmpv6) или номер (https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers).

Значение по умолчанию: "tcp"

rule_desc

string

Описание правила.

to_port

integer

Конец диапазона портов, на которые направляется трафик.

Значение может находиться в диапазоне от 0 до 65535.

При rules.proto=icmp значение -1 указывает на все порты.

Взаимоисключающие параметры с rules.icmp_code, rules.icmp_type и rules.ports.

rules_egress

aliases: egress_rules

список / элементы=словарь

Список правил выходящего трафика для применения в данной группе (см. пример). Если правила не указаны, предполагается использование правила по умолчанию для всего выходящего трафика. Если список пуст, выходящие правила не будут включены.

cidr_ip

список / элементы=любой

Диапазон IPv4 CIDR, куда направляется трафик.

Можно указать только один из rules_egress.cidr_ip, rules_egress.cidr_ipv6, rules_egress.ip_prefix, rules_egress.group_id и rules_egress.group_name.

Поддержка вложенных списков строк для rules_egress.cidr_ip устарела и будет удалена после выпуска от 2024-12-01.

cidr_ipv6

список / элементы=любой

Диапазон IPv6 CIDR, куда направляется трафик.

Можно указать только один из rules_egress.cidr_ip, rules_egress.cidr_ipv6, rules_egress.ip_prefix, rules_egress.group_id и rules_egress.group_name.

Поддержка вложенных списков строк для rules_egress.cidr_ipv6 устарела и будет удалена после выпуска от 2024-12-01.

from_port

целое число

Начальный порт диапазона, куда направляется трафик.

Значение должно быть от 0 до 65535.

При значении rules_egress.proto=icmp -1 указывает все порты.

Исключительно с rules_egress.icmp_code, rules_egress.icmp_type и rules_egress.ports.

group_desc

строка

Если rules_egress.group_name задано, и группа безопасности не существует, будет создана новая группа безопасности с описанием rules_egress.group_desc.

group_id

список / элементы=строка

ID группы безопасности, куда направляется трафик.

Можно указать только один из rules_egress.cidr_ip, rules_egress.cidr_ipv6, rules_egress.ip_prefix, rules_egress.group_id и rules_egress.group_name.

group_name

список / элементы=строка

Имя группы безопасности, куда направляется трафик.

Если группа безопасности не существует, будет создана новая группа безопасности с описанием rules_egress.group_desc.

Можно указать только один из rules_egress.cidr_ip, rules_egress.cidr_ipv6, rules_egress.ip_prefix, rules_egress.group_id и rules_egress.group_name.

icmp_code

целое число

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

Код ICMP пакета.

Значение -1 указывает на все коды ICMP.

Требуется rules_egress.proto=icmp или rules_egress.proto=icmpv6.

Исключительно с rules_egress.ports, rules_egress.from_port и rules_egress.to_port.

icmp_type

целое число

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

Тип ICMP пакета.

Значение CV(-1) указывает на все типы ICMP.

Требуется rules_egress.proto=icmp или rules_egress.proto=icmpv6.

Исключительно с rules_egress.ports, rules_egress.from_port и rules_egress.to_port.

ip_prefix

список / элементы=строка

Префикс IP https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-prefix-lists.html, куда направляется трафик.

Можно указать только один из rules_egress.cidr_ip, rules_egress.cidr_ipv6, rules_egress.ip_prefix, rules_egress.group_id и rules_egress.group_name.

ports

список / элементы=строка

Список портов, куда направляется трафик.

Элементы списка могут быть отдельными портами (например, 8080) или диапазонами портов, указанными как <START>-<END>, (например, 1011-1023).

Исключительно с rules_egress.icmp_code, rules_egress.icmp_type, rules_egress.from_port и rules_egress.to_port.

proto

строка

Имя IP-протокола (tcp, udp, icmp, icmpv6) или его номер (https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers).

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

rule_desc

строка

Описание правила.

to_port

целое число

Конечный порт диапазона, куда направляется трафик.

Значение должно быть от 0 до 65535.

При значении rules_egress.proto=icmp -1 указывает все порты.

Исключительно с rules_egress.icmp_code, rules_egress.icmp_type и rules_egress.ports.

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.

Также могут использоваться переменные среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY, или EC2_SECRET_KEY в порядке убывания приоритета.

Параметры secret_key и profile взаимоисключающие.

Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK.

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

Поддержка переменной среды 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.

Также могут использоваться переменные среды AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN в порядке убывания приоритета.

Параметры 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.

Поддержка переменных среды EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в релизе после 2024-12-01.

state

string

Создать или удалить группу безопасности.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

tags

aliases: resource_tags

dictionary

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

Если параметр tags не задан, теги не будут изменены.

validate_certs

boolean

Если установлено значение false, сертификаты SSL для связи с API AWS не будут проверены.

Настройка validate_certs=false настоятельно не рекомендуется. В качестве альтернативы, можно настроить aws_ca_bundle.

Варианты:

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

vpc_id

string

ID VPC, в котором создать группу.

Примечания

Примечание

  • Если правило объявляет имя группы group_name, а такой группы не существует, она будет автоматически создана. В этом случае также необходимо предоставить group_desc. Модуль откажется создавать зависимую группу без описания.
  • До релиза 5.0.0 этот модуль назывался amazon.aws.ec2_group_info. Использование не изменилось.
  • Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста Ansible «хост», а не из контекста «контроллер». В связи с этим, файлы могут потребоваться скопировать на «хост». Для плагинов поиска и соединения переменные среды и файлы конфигурации считываются из контекста Ansible «контроллер», а не из контекста «хост».
  • AWS SDK (boto3), который использует Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из своих файлов конфигурации в контексте Ansible «хост» (обычно ~/.aws/credentials). Дополнительную информацию см. в https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.

Примеры

# Note: These examples do not set authentication details, see the AWS Guide for details.

- name: example using security group rule descriptions
  amazon.aws.ec2_security_group:
    name: "{{ name }}"
    description: sg with rule descriptions
    vpc_id: vpc-xxxxxxxx
    rules:
      - proto: tcp
        ports:
          - 80
        cidr_ip: 0.0.0.0/0
        rule_desc: allow all on port 80

- name: example using ICMP types and codes
  amazon.aws.ec2_security_group:
    name: "{{ name }}"
    description: sg for ICMP
    vpc_id: vpc-xxxxxxxx
    rules:
      - proto: icmp
        icmp_type: 3
        icmp_code: 1
        cidr_ip: 0.0.0.0/0

- name: example ec2 group
  amazon.aws.ec2_security_group:
    name: example
    description: an example EC2 group
    vpc_id: 12345
    rules:
      - proto: tcp
        from_port: 80
        to_port: 80
        cidr_ip: 0.0.0.0/0
      - proto: tcp
        from_port: 22
        to_port: 22
        cidr_ip: 10.0.0.0/8
      - proto: tcp
        from_port: 443
        to_port: 443
        # this should only be needed for EC2 Classic security group rules
        # because in a VPC an ELB will use a user-account security group
        group_id: amazon-elb/sg-87654321/amazon-elb-sg
      - proto: tcp
        from_port: 3306
        to_port: 3306
        group_id: 123456789012/sg-87654321/exact-name-of-sg
      - proto: udp
        from_port: 10050
        to_port: 10050
        cidr_ip: 10.0.0.0/8
      - proto: udp
        from_port: 10051
        to_port: 10051
        group_id: sg-12345678
      - proto: icmp
        from_port: 8 # icmp type, -1 = any type
        to_port: -1 # icmp subtype, -1 = any subtype
        cidr_ip: 10.0.0.0/8
      - proto: all
        # the containing group name may be specified here
        group_name: example
      - proto: all
        # in the 'proto' attribute, if you specify -1 (only supported when I(proto=icmp)), all, or a protocol number
        # other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is allowed, regardless of any ports that
        # you specify.
        from_port: 10050 # this value is ignored
        to_port: 10050   # this value is ignored
        cidr_ip: 10.0.0.0/8

    rules_egress:
      - proto: tcp
        from_port: 80
        to_port: 80
        cidr_ip: 0.0.0.0/0
        cidr_ipv6: 64:ff9b::/96
        group_name: example-other
        # description to use if example-other needs to be created
        group_desc: other example EC2 group

- name: example2 ec2 group
  amazon.aws.ec2_security_group:
    name: example2
    description: an example2 EC2 group
    vpc_id: 12345
    rules:
      # 'ports' rule keyword was introduced in version 2.4. It accepts a single
      # port value or a list of values including ranges (from_port-to_port).
      - proto: tcp
        ports: 22
        group_name: example-vpn
      - proto: tcp
        ports:
          - 80
          - 443
          - 8080-8099
        cidr_ip: 0.0.0.0/0
      # Rule sources list support was added in version 2.4. This allows to
      # define multiple sources per source type as well as multiple source types per rule.
      - proto: tcp
        ports:
          - 6379
          - 26379
        group_name:
          - example-vpn
          - example-redis
      - proto: tcp
        ports: 5665
        group_name: example-vpn
        cidr_ip:
          - 172.16.1.0/24
          - 172.16.17.0/24
        cidr_ipv6:
          - 2607:F8B0::/32
          - 64:ff9b::/96
        group_id:
          - sg-edcd9784
  diff: true

- name: "Delete group by its id"
  amazon.aws.ec2_security_group:
    group_id: sg-33b4ee5b
    state: absent

Значения возврата

Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:

Ключ

Описание

description

строка

Описание группы безопасности.

Возвращается: при создании/обновлении

Пример: "My Security Group"

group_id

строка

Идентификатор группы безопасности.

Возвращается: при создании/обновлении

Пример: "sg-abcd1234"

group_name

строка

Имя группы безопасности.

Возвращается: при создании/обновлении

Пример: "My Security Group"

ip_permissions

список / элементы=словарь

Правила входящего трафика для группы безопасности.

Возвращается: всегда

from_port

целое число

Если протокол TCP или UDP, это начальный порт диапазона.

Возвращается: успех

Пример: 80

ip_protocol

строка

Название или номер IP-протокола.

Возвращается: всегда

ip_ranges

список / элементы=словарь

Диапазоны IPv4.

Возвращается: всегда

cidr_ip

строка

Диапазон IPv4 CIDR.

Возвращается: всегда

ipv6_ranges

список / элементы=словарь

Диапазоны IPv6.

Возвращается: всегда

cidr_ipv6

строка

Диапазон IPv6 CIDR.

Возвращается: всегда

prefix_list_ids

список / элементы=словарь

Идентификаторы списков префиксов.

Возвращается: всегда

prefix_list_id

строка

Идентификатор префикса.

Возвращается: всегда

to_group

целое число

Если протокол TCP или UDP, это конечный порт диапазона.

Возвращается: успех

Пример: 80

user_id_group_pairs

список / элементы=словарь

Пары идентификаторов групп безопасности и AWS аккаунтов.

Возвращается: всегда

group_id

строка

Идентификатор группы безопасности пары.

Возвращается: всегда

user_id

строка

Идентификатор пользователя пары.

Возвращается: всегда

ip_permissions_egress

список / элементы=словарь

Правила исходящего трафика для группы безопасности.

Возвращается: всегда

ip_protocol

строка

Название или номер IP-протокола.

Возвращается: всегда

ip_ranges

список / элементы=словарь

Диапазоны IPv4.

Возвращается: всегда

cidr_ip

строка

Диапазон IPv4 CIDR.

Возвращается: всегда

ipv6_ranges

список / элементы=словарь

Диапазоны IPv6.

Возвращается: всегда

cidr_ipv6

строка

Диапазон IPv6 CIDR.

Возвращается: всегда

prefix_list_ids

список / элементы=словарь

Идентификаторы списков префиксов.

Возвращается: всегда

prefix_list_id

строка

Идентификатор префикса.

Возвращается: всегда

user_id_group_pairs

список / элементы=словарь

Пары идентификаторов групп безопасности и AWS аккаунтов.

Возвращается: всегда

group_id

строка

Идентификатор группы безопасности пары.

Возвращается: всегда

user_id

строка

Идентификатор пользователя пары.

Возвращается: всегда

owner_id

целое число

Идентификатор AWS аккаунта группы безопасности.

Возвращается: при создании/обновлении

Пример: 123456789012

tags

словарь

Теги, связанные с группой безопасности.

Возвращается: при создании/обновлении

Пример: {"Name": "My Security Group", "Purpose": "protecting stuff"}

vpc_id

строка

Идентификатор VPC, к которому принадлежит группа безопасности.

Возвращается: при создании/обновлении

Пример: "vpc-abcd1234"

Авторы

  • Andrew de Quincey (@adq)
  • Razique Mahroua (@Razique)

Ссылки на сборку

  • Трекер задач
  • Репозиторий (источники)
  • Общение

© 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/ec2_security_group_module.html

Spec-Zone.ru

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