community.aws.lambda_policy – Создаёт, обновляет или удаляет утверждения политики AWS Lambda.
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в плейбуке укажите: community.aws.lambda_policy.
Новое в версии 1.0.0: коллекции community.aws
Обзор
- Этот модуль позволяет управлять утверждениями политики AWS Lambda.
- Он идемпотентен и поддерживает режим «Проверка».
- Для управления собственно функцией Lambda используйте модуль community.aws.lambda, для управления алиасами функций – community.aws.lambda_alias, для управления отображениями событий, например, потоками Kinesis – community.aws.lambda_event, для выполнения функции Lambda – community.aws.execute_lambda и для получения информации о одной или нескольких функциях Lambda – community.aws.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. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров aws_access_key и profile устарело и будет исключено после 2022-06-01. алиасы: ec2_access_key, access_key | |
| aws_ca_bundle путь | Расположение файла с набором сертификатов доверенных центров сертификации (CA). Используется только для модулей на основе boto3. Примечание: Набор CA считывается со стороны модуля и может потребоваться его явное копирование с контроллера, если он не выполняется локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти на https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для дополнительной конфигурации boto. | |
| aws_secret_key строка | AWS секретный ключ. Если не указано, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров aws_secret_key и profile устарело и будет исключено после 2022-06-01. алиасы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логический |
| Используйте логирования botocore.endpoint для анализа уникальных (а не суммарных) вызовов API «ресурс:действие» во время выполнения задачи, выводя их в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения плейбука. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не указано, используется значение переменной среды EC2_URL, если таковая имеется. алиасы: aws_endpoint_url, endpoint_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 строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределит aws_access_key, aws_secret_key и security_token, и поддержка одновременного использования их вместе с profile устарела. aws_access_key, aws_secret_key и security_token будут исключены из использования вместе с profile после 2022-06-01. алиасы: aws_profile | |
| 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. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров security_token и profile устарело и будет исключено после 2022-06-01. алиасы: aws_security_token, access_token | |
| source_account строка | Идентификатор AWS учётной записи (без дефиса) владельца источника. Например, если source_arn идентифицирует ведро, это идентификатор учётной записи владельца ведра. Вы можете использовать это дополнительное условие, чтобы убедиться, что ведро, которое вы указали, принадлежит определённой учётной записи (возможно, владелец ведра удалил его, а другая AWS учётная запись создала его). Вы также можете использовать это условие для указания всех источников (то есть, вы не указываете source_arn ), принадлежащих определённой учётной записи. | |
| source_arn строка | Это необязательно; однако, при предоставлении Amazon S3 разрешения на вызов вашей функции, вы должны указать это поле с ARN ведра Amazon S3 в качестве значения. Это гарантирует, что только события, сгенерированные из указанного ведра, могут вызывать функцию. | |
| state строка |
| Описывает желаемое состояние. |
| statement_id строка / обязательно | Уникальный идентификатор утверждения. алиасы: sid | |
| validate_certs логический |
| При установке в «нет», сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| version целое число | Версия функции Lambda. Взаимоисключающее с alias. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,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,AWS_CA_BUNDLE - Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, если это требуется, но это также можно настроить в конфигурационном файле boto
Примеры
- name: Lambda S3 event notification
community.aws.lambda_policy:
state: 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
ansible.builtin.debug:
var: lambda_policy_action
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| lambda_policy_action строка | success | описывает выполненное действие |
Авторы
- Pierre Jodouin (@pjodouin)
- Michael De La Rue (@mikedlr)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/lambda_policy_module.html