Spec-Zone.ru › Ansible

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

Примечание

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

Возможно, эта коллекция уже установлена, если вы используете пакет 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.35.0
  • botocore >= 1.35.0

Параметры

Параметр

Комментарии

access_key

aliases: aws_access_key_id, aws_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 в порядке убывания предпочтения.

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

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore.

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 для анализа уникальных (а не общего числа) вызовов API "resource:action", выполненных во время задачи, и вывода их набора в ключ resource_actions результатов задачи. Используйте callback aws_resource_action для вывода общего списка вызовов, выполненных в рамках плейбука.

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

Варианты:

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

description

string

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

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

endpoint_url

aliases: aws_endpoint_url

string

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

Также можно использовать переменную среды AWS_URL.

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 и session_token.

purge_rules

boolean

Удалять существующие правила группы безопасности, отсутствующие в rules.

Варианты:

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

purge_rules_egress

aliases: purge_egress_rules

boolean

Удалять существующие правила rules_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

string

Используемый регион AWS.

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

Также можно использовать переменную среды AWS_REGION.

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

rules

list / elements=dictionary

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

cidr_ip

list / elements=string

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

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

cidr_ipv6

list / elements=string

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

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

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

list / elements=dictionary

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

cidr_ip

list / elements=string

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

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

cidr_ipv6

list / elements=string

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

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

from_port

integer

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

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

Если rules_egress.proto=icmp, значение -1 означает все порты.

Взаимоисключающий параметр для rules_egress.icmp_code, rules_egress.icmp_type и rules_egress.ports.

group_desc

string

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

group_id

list / elements=string

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

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

group_name

list / elements=string

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

Если группа безопасности не существует, будет создана новая группа безопасности с описанием 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

integer

добавлено в 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

integer

добавлено в 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

list / elements=string

Префикс 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

list / elements=string

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

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

Взаимоисключающий параметр для rules_egress.icmp_code, rules_egress.icmp_type, rules_egress.from_port и rules_egress.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_egress.proto=icmp, значение -1 означает все порты.

Взаимоисключающий параметр для rules_egress.icmp_code, rules_egress.icmp_type и rules_egress.ports.

secret_key

псевдонимы: aws_secret_access_key, aws_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 в порядке убывания предпочтения.

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

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

session_token

псевдонимы: aws_session_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.

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

state

string

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

Варианты:

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

tags

псевдонимы: resource_tags

dictionary

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

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

validate_certs

boolean

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

Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность задать aws_ca_bundle.

Варианты:

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

vpc_id

string

Идентификатор VPC, в которой нужно создать группу.

Примечания

Примечание

  • Если правило содержит group_name, а такая группа не существует, она будет создана автоматически. В этом случае также следует указать group_desc. Модуль откажется создавать группу, от которой зависит правило, если для нее не задано описание.
  • До выпуска 5.0.0 этот модуль назывался amazon.aws.ec2_group_info. Использование не изменилось.
  • Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста «хоста» Ansible, а не из контекста «контроллера». Поэтому файлы может потребоваться явно скопировать на «хост». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «хоста».
  • Используемый Ansible AWS SDK (boto3) также может считывать значения по умолчанию для учетных данных и других параметров, например региона, из файлов конфигурации в контексте «хоста» 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

string

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

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

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

group_id

string

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

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

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

group_name

string

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

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

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

ip_permissions

list / elements=dictionary

Входящие правила, связанные с группой безопасности.

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

from_port

integer

Если используется протокол TCP или UDP, это начало диапазона портов.

Возвращается: при успешном выполнении

Пример: 80

ip_protocol

string

Имя или номер IP-протокола.

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

ip_ranges

list / elements=dictionary

Диапазоны IPv4.

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

cidr_ip

string

Диапазон IPv4 в формате CIDR.

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

ipv6_ranges

list / elements=dictionary

Диапазоны IPv6.

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

cidr_ipv6

string

Диапазон IPv6 в формате CIDR.

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

prefix_list_ids

list / elements=dictionary

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

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

prefix_list_id

string

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

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

to_group

integer

Если используется протокол TCP или UDP, это конец диапазона портов.

Возвращается: при успешном выполнении

Пример: 80

user_id_group_pairs

list / elements=dictionary

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

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

group_id

string

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

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

user_id

string

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

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

ip_permissions_egress

list / elements=dictionary

Исходящие правила, связанные с группой безопасности.

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

ip_protocol

string

Имя или номер IP-протокола.

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

ip_ranges

list / elements=dictionary

Диапазоны IPv4.

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

cidr_ip

string

Диапазон IPv4 в формате CIDR.

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

ipv6_ranges

list / elements=dictionary

Диапазоны IPv6.

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

cidr_ipv6

string

Диапазон IPv6 в формате CIDR.

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

prefix_list_ids

list / elements=dictionary

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

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

prefix_list_id

string

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

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

user_id_group_pairs

list / elements=dictionary

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

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

group_id

string

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

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

user_id

string

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

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

owner_id

integer

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

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

Пример: 123456789012

tags

dictionary

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

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

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

vpc_id

string

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

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

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

Авторы

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

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

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

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

Spec-Zone.ru

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