Seja notificado quando os usuários estão tomando ações no console da AWS. Mais aqui
Não é estritamente um requisito, que você use isso com a AWS Controltower. O módulo foi testado apenas na conta de arquivo de log que é enviada com a AWS Controltower. Configure suas credentils da AWS de modo que aws sts get-caller-identity | grep Account
fornece o ID da conta do ControlTower Log Archive.
Se sua conta fizer parte de uma organização da AWS que não usa o registro centralizado de Cloudtrail ou que não deseje monitorar o ClickOps em nível organizacional, você poderá implantar o ClickOps no modo standalone
em uma única conta. Para o modo independente, você precisa de CloudTrail ativado em sua conta, configure -o para gravar logs em um grupo de logs CloudWatch e ter permissão suficiente para criar um filtro de assinatura no grupo de log.
As seguintes ações não serão alertadas, essas são:
Essa funcionalidade pode ser substituída com as variáveis excluded_scoped_actions
e excluded_scoped_actions_effect
. A lista de ações excluídas está disponível nos documentos Terraform abaixo.
Relatar questões/perguntas/solicitações de recursos na seção de questões.
As diretrizes completas contribuindo são abordadas aqui.
Nome | Descrição | Tipo | Padrão | Obrigatório |
---|---|---|---|---|
ATTION_IAM_POLICY_STATEMENTS | Mapa de declarações de política dinâmica a serem anexadas à função de função lambda | any | {} | não |
permitido_aws_principals_for_sns_subscribe | Lista de diretores da AWS permitidos para assinar o tópico do SNS (aplicável apenas às implantações da ORG). | list(string) | [] | não |
Cloudtrail_bucket_name | Bucket contendo os logs CloudTrail que você deseja processar. ControlTower Nome do balde segue esta convenção de nomenclatura aws-controltower-logs-{{account_id}}-{{region}} | string | "" | não |
Cloudtrail_bucket_notificações_sns_arn | Tópico SNS ARN para notificações de balde. Se não for fornecido, um novo tópico do SNS será criado junto com a configuração de notificações de balde. | string | null | não |
CloudTrail_Log_Group | Grupo de log do CloudWatch para eventos CloudTrail. | string | "" | não |
create_iam_role | Determina se um papel de IAM é criado ou para usar um papel de IAM existente | bool | true | não |
event_batch_size | Eventos em lote em pedaços de event_batch_size | number | 100 | não |
Event_maximum_batching_window | Janela em lote máximo em segundos. | number | 300 | não |
event_processing_timeout | Número máximo de segundos, o Lambda pode ser executado e o número de eventos de segundos deve estar oculto em Sqs após ser pego meu lambda. | number | 60 | não |
excluído_accounts | Lista de contas que são excluídas para varreduras em ações manuais. Estes tomam precancência included_accounts | list(string) | [] | não |
excluded_scoped_actions | Uma lista de ações escopo de serviço que não serão alertadas. Format {{Service}}. | list(string) | [] | não |
excluded_scoped_actions_effeft | Caso as ações exlevidas existentes sejam substituídas ou anexadas. Por padrão, ele anexará à lista, valores válidos: anexar, substituir | string | "APPEND" | não |
excluído_users | A lista de endereços de email não será relatada ao praticar o ClickOps. | list(string) | [] | não |
Firehose_delivery_stream_name | Nome do fluxo de entrega de Kinesis Firehose para produzir eventos de cliques para. | string | null | não |
iam_role_arn | O papel do IAM existente para o Lambda. Necessário se create_iam_role estiver definido como false | string | null | não |
incluído_accounts | Lista de contas que são digitalizadas para ações manuais. Se vazio, digitalizará todas as contas. | list(string) | [] | não |
incluído_users | Lista de e -mails que são digitalizados para ações manuais. Se vazio, digitalizará todos os e -mails. | list(string) | [] | não |
kms_key_id_for_sns_topic | KMS ID da chave para criptografar o SNS_TOPIC (aplicável apenas a implantações de ORG). | string | null | não |
lambda_deployment_s3_bucket | S3 Bucket para pacote de implantação da Lambda. | string | null | não |
lambda_deployment_s3_key | Chave do objeto S3 para o pacote de implantação do Lambda. Caso contrário, os padrões para var.naming_prefix/local.deployment_filename . | string | null | não |
lambda_deployment_upload_to_s3_enabled | Se true , o pacote de implantação da Lambda neste repositório do módulo será copiado para S3. Se false , o objeto S3 deve ser carregado separadamente. Ignorado se lambda_deployment_s3_bucket for nulo. | bool | true | não |
lambda_log_level | Nível de registro Lambda. Um dos: ["DEBUG", "INFO", "WARN", "ERROR"] . | string | "WARN" | não |
lambda_memory_size | A quantidade de memória para o lambda usar | number | "128" | não |
lambda_runtime | O tempo de execução do Lambda para usar. Um de: ["python3.9", "python3.8", "python3.7"] | string | "python3.8" | não |
log_retention_in_days | Número de dias para manter os logs do CloudWatch | number | 14 | não |
naming_prefix | Os recursos serão prefixados com isso | string | "clickops-notifier" | não |
independente | Implante o ClickOps em uma conta independente, em vez de em uma organização inteira da AWS. Ideal para equipes que desejam monitorar o ClickOps apenas em suas contas, onde não são instrumentadas em nível organizacional. | bool | false | não |
Subccring_filter_distribution | O método usado para distribuir dados de log para o destino. Por padrão, os dados de log são agrupados pelo fluxo de log, mas o agrupamento pode ser definido como aleatório para uma distribuição mais uniforme. Esta propriedade é aplicável apenas quando o destino é um fluxo da Amazon Kinesis. Os valores válidos são "aleatórios" e "bylogstream". | string | "Random" | não |
tags | Tags para adicionar aos recursos, além dos default_tags para o provedor | map(string) | {} | não |
webhooks_for_msteams_notificações | Mapa de custom_name => webhook URL para notificações de equipes MS. https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-t-dd-incoming-webhook?tabs=dotnet | map(string) | {} | não |
webhooks_for_slack_notificações | Mapa de custom_name => webhook URL para notificações de folga. https://api.slack.com/messaging/webhooks | map(string) | {} | não |
Nome | Fonte | Versão |
---|---|---|
clickops_notifier_lambda | Terraform-AWS-Modules/Lambda/AWS | 4.9.0 |
Nome | Descrição |
---|---|
clickops_notifier_lambda | Expor todas as saídas do módulo Lambda |
sns_topic | Exponha os detalhes do SNS da notificação do balde |
sqs_queue | Exponha os detalhes do SQS de notificação de balde |
Nome | Versão |
---|---|
AWS | > = 4.9 |
Nome | Versão |
---|---|
Terraform | > = 0,15.0 |
AWS | > = 4.9 |
Nome | Tipo |
---|---|
aws_cloudwatch_log_subscription_filter.This | recurso |
aws_s3_bucket_notification.bucket_notification | recurso |
aws_s3_object.Deployment | recurso |
aws_sns_topic.bucket_notificações | recurso |
aws_sns_topic_policy.bucket_notificações | recurso |
aws_sns_topic_subscription.bucket_notificações | recurso |
aws_sqs_queue.bucket_notificações | recurso |
aws_sqs_queue_policy.bucket_notificações | recurso |
aws_ssm_parameter.webhooks_for_msteams | recurso |
aws_ssm_parameter.webhooks_for_slack | recurso |
aws_caller_identity.current | fonte de dados |
aws_cloudwatch_log_group.This | fonte de dados |
aws_iam_policy_document.bucket_notificações | fonte de dados |
aws_iam_policy_document.lambda_permissions | fonte de dados |
aws_iam_policy_document.sns_topic_policy_bucket_notificações | fonte de dados |
aws_region.current | fonte de dados |
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 " ,
]
}