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 | |
| 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. | |
| 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 | Токен безопасности 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 boolean добавлено в 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), если учетные данные не предоставлены. См. 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 строка | success | описывает выполненное действие |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.7/modules/lambda_policy_module.html