lambda_policy – Создаёт, обновляет или удаляет утверждения политики AWS Lambda
Новая в версии 2.4.
Обзор
- Этот модуль позволяет управлять утверждениями политики AWS Lambda. Он идемпотентен и поддерживает режим «Проверка». Используйте модуль lambda для управления самой функцией Lambda, lambda_alias для управления алиасами функций, lambda_event для управления отображениями источников событий, такими как потоки Kinesis, execute_lambda для выполнения функции Lambda и lambda_facts для сбора фактов, относящихся к одной или нескольким функциям Lambda.
Требования
Ниже перечислены требования, необходимые на хосте, выполняющем этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| action - / обязательно | Действие AWS Lambda, которое вы хотите разрешить в этом утверждении. Каждое действие Lambda — это строка, начинающаяся с lambda:, за которой следует имя API (см. Операции). Например, lambda:CreateFunction. Вы можете использовать символ подстановки (lambda:*), чтобы предоставить разрешение на все действия AWS Lambda. | |
| alias - | Имя алиаса функции. Взаимоисключающее с version. | |
| aws_access_key строка | Ключ доступа AWS. Если не указан, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. алиасы: ec2_access_key, access_key | |
| aws_secret_key строка | Секретный ключ AWS. Если не указан, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. алиасы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логическое значение добавлен в 2.8 |
| Используйте логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов "resource:action", выполненных во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в список всего, что было сделано во время выполнения книги сценариев. |
| ec2_url строка | URL для подключения к облаку EC2 или Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион требуется. Должен быть указан для всех остальных модулей, если регион не используется. Если не указан, используется значение переменной среды EC2_URL, если таковая имеется. | |
| event_source_token - | Строка токена, представляющая ARN или учётную запись источника. Взаимоисключающее с source_arn или source_account. | |
| function_name - / обязательно | Имя функции Lambda, политика ресурсов которой обновляется путем добавления нового разрешения. Можно указать имя функции (например, Thumbnail) или Amazon Resource Name (ARN) функции (например, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda также позволяет указать частичный ARN (например, account-id:Thumbnail). Обратите внимание, что ограничение по длине относится только к ARN. Если указано только имя функции, оно ограничено 64 символами. алиасы: lambda_function_arn, function_arn | |
| principal - / обязательно | Сущность, получающая это разрешение. Это может быть сущность сервиса Amazon S3 (s3.amazonaws.com), если вы хотите, чтобы Amazon S3 вызывал функцию, идентификатор учётной записи AWS при предоставлении разрешения между учётными записями или любая допустимая сущность сервиса AWS, например, sns.amazonaws.com. Например, вы можете разрешить пользовательскому приложению в другой учётной записи AWS отправлять события в AWS Lambda, вызывая вашу функцию. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| region строка | Регион AWS для использования. Если не указан, используется значение переменной среды AWS_REGION или EC2_REGION, если таковая имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
алиасы: aws_region, ec2_region | |
| security_token строка | Токен безопасности AWS STS. Если не указан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. алиасы: access_token | |
| source_account - | Идентификатор учётной записи AWS (без дефиса) владельца источника. Например, если SourceArn определяет ведро, это идентификатор учётной записи владельца ведра. Вы можете использовать это дополнительное условие, чтобы убедиться, что указанное вами ведро принадлежит конкретной учётной записи (возможно, владелец ведра удалил его, а какая-то другая учётная запись AWS создала его). Вы также можете использовать это условие для указания всех источников (то есть, вы не указываете SourceArn) принадлежащих конкретной учётной записи. | |
| source_arn - | Это необязательно; однако, когда вы предоставляете Amazon S3 разрешение на вызов вашей функции, вы должны указать это поле со значением ARN ведра Amazon S3. Это гарантирует, что только события, сгенерированные из указанного ведра, могут вызывать функцию. | |
| state - / обязательно |
| Описывает желаемое состояние. |
| statement_id - / обязательно | Уникальный идентификатор утверждения. алиасы: sid | |
| validate_certs логическое значение |
| Когда установлено в "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| version - | Версия функции Lambda. Взаимоисключающее с alias. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION - Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, когда это требуется, но это также можно настроить в файле конфигурации boto
Примеры
---
- hosts: localhost
gather_facts: no
vars:
state: present
tasks:
- name: Lambda S3 event notification
lambda_policy:
state: "{{ state | default('present') }}"
function_name: functionName
alias: Dev
statement_id: lambda-s3-myBucket-create-data-log
action: lambda:InvokeFunction
principal: s3.amazonaws.com
source_arn: arn:aws:s3:eu-central-1:123456789012:bucketName
source_account: 123456789012
- name: show results
debug: var=lambda_policy_action
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращённое значение | Описание |
|---|---|---|
| lambda_policy_action строка | успех | описывает выполненное действие |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается Сообществом Ansible. [сообщество]
Авторы
- Пьер Жодуэн (@pjodouin)
- Майкл де ла Ру (@mikedlr)
Подсказка
Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/lambda_policy_module.html