Получите уведомление, когда пользователи предпринимают действия в консоли AWS. Больше здесь
Это не строго требование, что вы используете это с AWS Controltower. Модуль был протестирован только в учетной записи архива журнала, которая поставляется с AWS Controltower. Установите свои доверительные лахства AWS так, что aws sts get-caller-identity | grep Account дает вам идентификатор учетной записи журнала ControlTower.
Если ваша учетная запись является частью организации AWS, которая не использует централизованную регистрацию CloudTrail или не хочет контролировать ClickOPS на организационном уровне, вы можете развернуть ClickOPS в standalone режиме в одной учетной записи. Для автономного режима вам нужна CloudTrail, включенная в вашей учетной записи, настроите его для записи журналов в группу журналов CloudWatch и иметь достаточное разрешение для создания подписки в группе журналов.
Следующие действия не будут предупреждены, они либо:
Эта функциональность может быть переопределена с помощью excluded_scoped_actions и excluded_scoped_actions_effect . Список исключенных действий доступен в документах Terraform ниже.
Сообщите о проблемах/вопросах/запросах функций в разделе «Проблемы».
Полные рекомендации по внесению вклад здесь рассмотрены.
| Имя | Описание | Тип | По умолчанию | Необходимый |
|---|---|---|---|---|
| expert_iam_policy_statements | Карта динамических заявлений о политике, чтобы присоединиться к роли функции Lambda | any | {} | нет |
| ALLED_AWS_PRINCIPALS_FOR_SNS_SUBSCRIBE | Список принципов AWS, разрешенный подписаться на тему SNS (применимо только к развертываниям организации). | list(string) | [] | нет |
| cloudtrail_bucket_name | Ведро, содержащее журналы Cloudtrail, которые вы хотите обработать. Имя ведра Controltower следует за этим соглашением о именовании aws-controltower-logs-{{account_id}}-{{region}} | string | "" | нет |
| CloudTrail_Bucket_Notifications_sns_arn | SNS Тема Arn для уведомлений о ведре. Если не предоставлено, будет создана новая тема SNS вместе с конфигурацией уведомлений о ведре. | string | null | нет |
| Cloudtrail_log_group | Группа журналов CloudWatch для событий CloudTrail. | string | "" | нет |
| create_iam_role | Определяет, создается ли роль IAM или использовать существующую роль IAM | bool | true | нет |
| event_batch_size | Пакетные события в куски event_batch_size | number | 100 | нет |
| event_maximum_batching_window | Максимальный пакетный окно за несколько секунд. | number | 300 | нет |
| event_processing_timeout | Максимальное количество секунд, которое Lambda разрешено запускаться, и количество событий секунды должно быть скрыто на SQS после того, как его подняли Lambda. | number | 60 | нет |
| excuded_accounts | Список учетных записей, которые будут исключены для сканирования по ручным действиям. Они проходят препарат по сравнению с included_accounts | list(string) | [] | нет |
| excuded_scoped_actions | Список действий по обслуживанию, которые не будут предупреждены. Format {{service}}. Amazonaws.com: | list(string) | [] | нет |
| excuded_scoped_actions_effect | Если существующие излученные действия будут заменены или добавлены. По умолчанию он добавит в список, допустимые значения: добавление, заменить | string | "APPEND" | нет |
| excuded_users | Список адресов электронной почты не будет сообщен при практике ClickOPS. | list(string) | [] | нет |
| firehose_delivery_stream_name | Kinesis Firehose Delivery Name для вывода событий ClickOps. | string | null | нет |
| iam_role_arn | Существующая роль в IAM для Lambda. Требуется, если create_iam_role установлен на false | string | null | нет |
| включены | Список учетных записей, которые будут отсканированы до ручных действий. Если пустые будут сканировать все учетные записи. | list(string) | [] | нет |
| включены_усов | Список электронных писем, которые будут отсканированы до ручных действий. Если пусто будет сканировать все электронные письма. | list(string) | [] | нет |
| kms_key_id_for_sns_topic | Идентификатор ключа KMS для шифрования SNS_TOPIC (применимо только к развертываниям ORG). | string | null | нет |
| lambda_deployment_s3_bucket | S3 Bucket for Lambda Deplaict Package. | string | null | нет |
| lambda_deployment_s3_key | S3 объектный ключ для пакета развертывания Lambda. В противном случае, по умолчанию var.naming_prefix/local.deployment_filename . | string | null | нет |
| lambda_deployment_upload_to_s3_enabled | Если это true , пакет развертывания Lambda в этом модуле будет скопирован на S3. Если false , то объект S3 должен быть загружен отдельно. Игнорируется, если lambda_deployment_s3_bucket - это null. | bool | true | нет |
| lambda_log_level | Lambda Leveling. Одно из: ["DEBUG", "INFO", "WARN", "ERROR"] . | string | "WARN" | нет |
| lambda_memory_size | Объем памяти для Lambda для использования | number | "128" | нет |
| Lambda_Runtime | Время выполнения Lambda для использования. Одно из: ["python3.9", "python3.8", "python3.7"] | string | "python3.8" | нет |
| log_retention_in_days | Количество дней, чтобы сохранить журналы Cloudwatch | number | 14 | нет |
| naming_prefix | Ресурсы будут префикс с этим | string | "clickops-notifier" | нет |
| автономный | Развернуть ClickOPS в отдельной учетной записи, а не в целую организацию AWS. Идеально подходит для команд, которые хотят отслеживать Clickops только в своих учетных записях, где это не предназначено на организационном уровне. | bool | false | нет |
| subcription_filter_distribution | Метод, используемый для распространения данных журнала в пункт назначения. По умолчанию данные журнала сгруппированы по потоку журнала, но группировка может быть установлена случайной для более равномерного распределения. Это свойство применимо только тогда, когда пункт назначения является потоком Amazon Kinesis. Допустимые значения являются «случайными» и «Bylogstream». | string | "Random" | нет |
| теги | Теги, чтобы добавить к ресурсам в дополнение к default_tags для поставщика | map(string) | {} | нет |
| webhooks_for_msteams_notifications | Карта custom_name => webhook URL для уведомлений команд MS. https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook?tabs=dotnet | map(string) | {} | нет |
| webhooks_for_slack_notifications | Карта custom_name => webhook URL для слабых уведомлений. https://api.slack.com/messaging/webhooks | map(string) | {} | нет |
| Имя | Источник | Версия |
|---|---|---|
| clickops_notifier_lambda | Terraform-AWS-модулы/лямбда/AWS | 4.9.0 |
| Имя | Описание |
|---|---|
| clickops_notifier_lambda | Разоблачить все выходы из модуля Lambda |
| sns_topic | Разоблачить уведомление о ведре |
| sqs_queue | Разоблачить уведомление о ковше SQS детали |
| Имя | Версия |
|---|---|
| AWS | > = 4,9 |
| Имя | Версия |
|---|---|
| терраформ | > = 0,15,0 |
| AWS | > = 4,9 |
| Имя | Тип |
|---|---|
| aws_cloudwatch_log_subscription_filter.this | ресурс |
| aws_s3_bucket_notification.bucket_notification | ресурс |
| aws_s3_object.deployment | ресурс |
| aws_sns_topic.bucket_notifications | ресурс |
| aws_sns_topic_policy.bucket_notifications | ресурс |
| aws_sns_topic_subscription.bucket_notifications | ресурс |
| aws_sqs_queue.bucket_notifications | ресурс |
| aws_sqs_queue_policy.bucket_notifications | ресурс |
| aws_ssm_parameter.webhooks_for_msteams | ресурс |
| aws_ssm_parameter.webhooks_for_slack | ресурс |
| aws_caller_identity.current | источник данных |
| aws_cloudwatch_log_group.this | источник данных |
| aws_iam_policy_document.bucket_notifications | источник данных |
| aws_iam_policy_document.lambda_permissions | источник данных |
| aws_iam_policy_document.sns_topic_policy_bucket_notifications | источник данных |
| aws_region.current | источник данных |
locals {
ignored_scoped_events_built_in = [
" cognito-idp.amazonaws.com:InitiateAuth " ,
" cognito-idp.amazonaws.com:RespondToAuthChallenge " ,
" sso.amazonaws.com:Federate " ,
" sso.amazonaws.com:Authenticate " ,
" sso.amazonaws.com:Logout " ,
" sso.amazonaws.com:SearchUsers " ,
" sso.amazonaws.com:SearchGroups " ,
" sso.amazonaws.com:CreateToken " ,
" signin.amazonaws.com:UserAuthentication " ,
" signin.amazonaws.com:SwitchRole " ,
" signin.amazonaws.com:RenewRole " ,
" signin.amazonaws.com:ExternalIdPDirectoryLogin " ,
" signin.amazonaws.com:CredentialVerification " ,
" signin.amazonaws.com:CredentialChallenge " ,
" signin.amazonaws.com:CheckMfa " ,
" logs.amazonaws.com:StartQuery " ,
" cloudtrail.amazonaws.com:StartQuery " ,
" iam.amazonaws.com:SimulatePrincipalPolicy " ,
" iam.amazonaws.com:GenerateServiceLastAccessedDetails " ,
" glue.amazonaws.com:BatchGetJobs " ,
" glue.amazonaws.com:BatchGetCrawlers " ,
" glue.amazonaws.com:StartJobRun " ,
" glue.amazonaws.com:StartCrawler " ,
" athena.amazonaws.com:StartQueryExecution " ,
" servicecatalog.amazonaws.com:SearchProductsAsAdmin " ,
" servicecatalog.amazonaws.com:SearchProducts " ,
" servicecatalog.amazonaws.com:SearchProvisionedProducts " ,
" servicecatalog.amazonaws.com:TerminateProvisionedProduct " ,
" cloudshell.amazonaws.com:CreateSession " ,
" cloudshell.amazonaws.com:PutCredentials " ,
" cloudshell.amazonaws.com:SendHeartBeat " ,
" cloudshell.amazonaws.com:CreateEnvironment " ,
" kms.amazonaws.com:Decrypt " ,
" kms.amazonaws.com:RetireGrant " ,
" trustedadvisor.amazonaws.com:RefreshCheck " ,
# Must CreateMultipartUpload before uploading any parts.
" s3.amazonaws.com:UploadPart " ,
" s3.amazonaws.com:UploadPartCopy " ,
" route53domains:TransferDomain " ,
" support.amazonaws.com:AddAttachmentsToSet " ,
" support.amazonaws.com:AddCommunicationToCase " ,
" support.amazonaws.com:CreateCase " ,
" support.amazonaws.com:InitiateCallForCase " ,
" support.amazonaws.com:InitiateChatForCase " ,
" support.amazonaws.com:PutCaseAttributes " ,
" support.amazonaws.com:RateCaseCommunication " ,
" support.amazonaws.com:RefreshTrustedAdvisorCheck " ,
" support.amazonaws.com:ResolveCase " ,
" grafana.amazonaws.com:login_auth_sso " ,
]
}