lambda_policy - Создаёт, обновляет или удаляет утверждения политики AWS Lambda.
Новая версия с 2.4.
Обзор
- Этот модуль позволяет управлять утверждениями политики AWS Lambda. Он идемпотентен и поддерживает режим «Проверка». Используйте модуль lambda для управления самой функцией lambda, lambda_alias для управления псевдонимами функций, lambda_event для управления сопоставлениями источников событий, такими как потоки Kinesis, lambda_invoke для выполнения функции 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 | По умолчанию: None | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key |
| aws_secret_key | По умолчанию: None | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key |
| ec2_url | По умолчанию: None | 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) | По умолчанию: None | Использует профиль 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 (добавлен в 1.6) | По умолчанию: None | Токен безопасности 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 (добавлен в 1.5) |
| При установке в «no», сертификаты 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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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 строка | success | описывает выполненное действие |
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратной совместимости интерфейса.
Автор
- Pierre Jodouin (@pjodouin)
- Michael De La Rue (@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.5/modules/lambda_policy_module.html