lambda_policy – Создаёт, обновляет или удаляет утверждения политики AWS Lambda
Новое в версии 2.4.
Обзор
- Этот модуль позволяет управлять утверждениями политики AWS Lambda. Он идемпотентен и поддерживает режим «Проверка». Используйте модуль lambda для управления самим лямбда-функциями, lambda_alias для управления псевдонимами функций, lambda_event для управления сопоставлениями источников событий, таких как Kinesis-потоки, execute_lambda для выполнения лямбда-функции и lambda_info для получения информации, относящейся к одной или нескольким лямбда-функциям.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- 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_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, созданный во время выполнения книги сценариев. Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задано, используется значение переменной среды EC2_URL, если она есть. | |
| event_source_token - | Строка маркера, представляющая ARN источника или счёт. Взаимоисключающее с source_arn или source_account. | |
| function_name - / обязательно | Имя лямбда-функции, политику ресурсов которой вы обновляете, добавив новое разрешение. Вы можете указать имя функции (например, Thumbnail ) или 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 - | Версия лямбда-функции. Взаимоисключающее с 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
register: lambda_policy_action
- name: show results
debug:
var: lambda_policy_action
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| lambda_policy_action строка | успех | описывает выполненное действие |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [preview]
- Этот модуль поддерживается Сообществом Ansible. [community]
Авторы
- Пьер Жодуэн (@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.9/modules/lambda_policy_module.html