terraform aws clickops notifier
v5.2.0
사용자가 AWS 콘솔에서 작업을 수행 할 때 알림을 받으십시오. 여기 더
AWS ControlTower와 함께 사용해야하는 것은 엄격히 요구되지 않습니다. 이 모듈은 AWS ControlTower와 함께 제공되는 로그 아카이브 계정에서만 테스트되었습니다. aws sts get-caller-identity | grep Account ControlTower 로그 아카이브 계정 ID를 제공합니다.
계정이 중앙 집중식 CloudTrail 로깅을 사용하지 않거나 조직 수준에서 클릭 오프를 모니터링하지 않으려는 AWS 조직의 일부인 경우 단일 계정으로 standalone 모드로 ClickOps를 배포 할 수 있습니다. 독립형 모드의 경우 계정에 CloudTrail을 활성화 해야하는 경우 CloudWatch 로그 그룹에 로그를 작성하도록 구성하고 로그 그룹에서 구독 필터를 작성할 수있는 충분한 권한이 있습니다.
다음 조치는 경고되지 않습니다.
이 기능은 excluded_scoped_actions _scoped_actions로 재정의 할 수 있으며 excluded_scoped_actions_effect 변수는 제외 할 수 있습니다. 제외 된 조치 목록은 아래의 Terraform Docs에서 제공됩니다.
문제 섹션에서 문제/질문/기능 요청을보고합니다.
전체 기고 가이드 라인은 여기에 포함됩니다.
| 이름 | 설명 | 유형 | 기본 | 필수의 |
|---|---|---|---|---|
| 추가 _iam_policy_statements | Lambda 기능 역할에 첨부 할 동적 정책 설명지도 | any | {} | 아니요 |
| 허용 _aws_principals_for_sns_subscribe | SNS 주제를 구독 할 수있는 AWS 교장 목록 (조직 배포에만 적용 가능). | 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 | CloudTrail 이벤트를위한 CloudWatch 로그 그룹. | 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 | 최대 초 수는 람다를 실행할 수 있으며 내 람다를 픽업 한 후 초 SQ에 이벤트를 숨겨야합니다. | number | 60 | 아니요 |
| 제외_accounts | 수동 작업에 대한 스캔을 위해 제외되는 계정 목록. 이들은 included_accounts 이상을 취합니다 | list(string) | [] | 아니요 |
| 제외_Scoped_Actions | 경고하지 않을 서비스 범위 조치 목록. 형식 {{service}}. Amazonaws.com: {{Action}} | list(string) | [] | 아니요 |
| 제외 _scoped_actions_effect | 기존의 배출 된 조치가 대체되거나 추가되는 경우. 기본적으로 목록에 추가됩니다. 유효한 값 : 추가, 교체 | string | "APPEND" | 아니요 |
| 제외 _users | 클릭 오프를 연습 할 때 이메일 주소 목록은보고되지 않습니다. | list(string) | [] | 아니요 |
| firehose_delivery_stream_name | Kinesis Firehose Deliver Stream 이름은 ClickOps 이벤트를 출력합니다. | string | null | 아니요 |
| iAM_ROLE_ARN | Lambda의 기존 IAM 역할 ARN. create_iam_role 이 false 로 설정된 경우 필수입니다 | string | null | 아니요 |
| 포함되어 있습니다 | 수동 작업으로 스캔되는 계정 목록. 빈 경우 모든 계정을 스캔합니다. | list(string) | [] | 아니요 |
| 포함 _users | 수동 작업으로 스캔되는 이메일 목록. 비어있는 경우 모든 이메일을 스캔합니다. | list(string) | [] | 아니요 |
| kms_key_id_for_sns_topic | SNS_Topic을 암호화하기위한 KMS 키 ID (조직 배포에만 적용 가능). | string | null | 아니요 |
| lambda_deployment_s3_bucket | Lambda 배포 패키지 용 S3 버킷. | string | null | 아니요 |
| lambda_deployment_s3_key | Lambda 배포 패키지의 S3 객체 키. 그렇지 않으면 기본값으로 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 | 람다 로깅 레벨. 중 하나 : ["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" | 아니요 |
| 독립형 | 전체 AWS 조직이 아닌 독립형 계정으로 ClickOps를 배포하십시오. 조직 수준에서 계정이없는 계정에서만 클릭을 모니터링하려는 팀에 이상적입니다. | bool | false | 아니요 |
| subcription_filter_distribution | 로그 데이터를 대상에 배포하는 데 사용되는 방법. 기본적으로 로그 데이터는 로그 스트림으로 그룹화되지만 그룹화는보다 균일 한 분포를 위해 무작위로 설정할 수 있습니다. 이 속성은 목적지가 Amazon Kinesis 스트림 인 경우에만 적용됩니다. 유효한 값은 "무작위"및 "bylogstream"입니다. | string | "Random" | 아니요 |
| 태그 | 공급자의 default_tags 외에 리소스에 추가 할 태그 | map(string) | {} | 아니요 |
| webhooks_for_msteams_notifications | MS 팀 알림을위한 custom_name => webhook URL 의지도. https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook?tabs=dotnet | map(string) | {} | 아니요 |
| webhooks_for_slack_notifications | slack 알림을위한 custom_name => webhook URL 의지도. https://api.slack.com/messaging/webhooks | map(string) | {} | 아니요 |
| 이름 | 원천 | 버전 |
|---|---|---|
| clickops_notifier_lambda | Terraform-Aws-Modules/Lambda/AWS | 4.9.0 |
| 이름 | 설명 |
|---|---|
| clickops_notifier_lambda | Lambda 모듈에서 모든 출력을 노출시킵니다 |
| sns_topic | 버킷 알림 SNS 세부 사항을 노출시킵니다 |
| SQS_QUEUE | 버킷 알림 SQS 세부 사항을 노출시킵니다 |
| 이름 | 버전 |
|---|---|
| AWS | > = 4.9 |
| 이름 | 버전 |
|---|---|
| Terraform | > = 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 " ,
]
}