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 bool (добавлено в 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 | описывает выполненное действие |
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость интерфейса.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. См. Поддержка и техническое обслуживание модулей для получения дополнительной информации.
Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.
Автор
- 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.6/modules/lambda_policy_module.html