lambda_policy - Создаёт, обновляет или удаляет утверждения политики AWS Lambda.
Новое в версии 2.4.
- Описание
- Требования (для хоста, на котором выполняется модуль)
- Параметры
- Примеры
- Возвращаемые значения
- Примечания
Описание
- Этот модуль позволяет управлять утверждениями политики AWS Lambda. Он идемпотентен и поддерживает режим «Проверка». Для управления собственно функцией Lambda используйте модуль lambda, для управления псевдонимами функций — lambda_alias, для управления отображениями источников событий, такими как потоки Kinesis — lambda_event, для выполнения функции Lambda — lambda_invoke, а для получения данных о функциях Lambda — lambda_facts.
Требования (для хоста, на котором выполняется модуль)
- 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 | ||
| 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 (добавлено в 1.6)
| нет | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| security_token (добавлено в 1.6)
| нет | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | ||
| source_account | нет | Идентификатор AWS аккаунта (без дефиса) владельца источника. Например, если SourceArn определяет ведро, это идентификатор аккаунта владельца ведра. Можно использовать это дополнительное условие для обеспечения того, что заданное вами ведро принадлежит определённому аккаунту (возможно, владелец ведра удалил его, а другой аккаунт AWS создал его). Также можно использовать это условие для указания всех источников (то есть, вы не указываете SourceArn) определённого аккаунта. | ||
| source_arn | нет | Необязательно, однако при предоставлении разрешения Amazon S3 вызывать вашу функцию, вы должны указать это поле с ARN ведра Amazon S3 в качестве значения. Это гарантирует, что только события, сгенерированные из указанного ведра, могут вызывать функцию. | ||
| state | да | present |
| Описывает желаемое состояние. |
| statement_id | да | Уникальный идентификатор утверждения. псевдонимы: sid | ||
| validate_certs (добавлено в 1.5)
| нет | да |
| При установке в «нет», сертификаты SSL не будут проверяться для boto-версий >= 2.6.0. |
| version | нет | Версия функции Lambda. Взаимоисключающий с alias. |
Примеры
---
- 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 | описывает выполненное действие | успех | строка |
Примечания
Примечание
- Если параметры не установлены в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
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), если данные для аутентификации не предоставлены. См. http://boto.readthedocs.org/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, когда это необходимо, но это также можно настроить в конфигурационном файле boto
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантирует обратной совместимости.
Для получения помощи в разработке модулей, если вас это интересует, пожалуйста, прочитайте Документацию по сообществу и участию в разработке, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/lambda_policy_module.html