Obtenga notificaciones cuando los usuarios toman acciones en la consola AWS. Más aquí
No es estrictamente un requisito, que use esto con AWS Controltower. El módulo solo se ha probado en la cuenta de archivo de registro que envía con AWS Controltower. Configure sus credentes de AWS de modo que aws sts get-caller-identity | grep Account
le brinda su ID de cuenta de Archivo de registro de ControlTower.
Si su cuenta es parte de una organización de AWS que no utiliza el registro de CloudTrail centralizado o que no desea monitorear Clickops a nivel organizacional, puede implementar ClickOP en modo standalone
en una sola cuenta. Para el modo independiente, necesita habilitado CloudTrail en su cuenta, haga que se configure para escribir registros en un grupo de registro de CloudWatch y tenga un permiso suficiente para crear un filtro de suscripción en el grupo de registro.
Las siguientes acciones no serán alertadas, estas son:
Esta funcionalidad se puede anular con las variables excluded_scoped_actions
y excluded_scoped_actions_effect
. La lista de acciones excluidas está disponible en los documentos de Terraform a continuación.
Informe los problemas/preguntas/solicitudes de funciones en la sección de problemas.
Las pautas de contribución completas están cubiertas aquí.
Nombre | Descripción | Tipo | Por defecto | Requerido |
---|---|---|---|---|
adicional_iam_policy_statements | Mapa de declaraciones de políticas dinámicas para adjuntar al rol de función Lambda | any | {} | No |
permitido_AWS_PRIVIPALS_FOR_SNS_SUBSCRITE | Lista de directores de AWS permitidos suscribirse al tema SNS (solo aplicable a las implementaciones de Org). | list(string) | [] | No |
Cloudtrail_bucket_name | Bucket que contiene los registros de CloudTrail que desea procesar. El nombre del cubo de control de control sigue esta convención de nombres aws-controltower-logs-{{account_id}}-{{region}} | string | "" | No |
Cloudtrail_bucket_notifications_sns_arn | SNS Topic arn para notificaciones de deseos. Si no se proporciona, se creará un nuevo tema SNS junto con la configuración de notificaciones de deseos. | string | null | No |
CloudTrail_Log_Group | Grupo de registro de CloudWatch para eventos CloudTrail. | string | "" | No |
create_iam_role | Determina si se crea un rol de IAM o para utilizar un rol de IAM existente | bool | true | No |
event_batch_size | Eventos por lotes en fragmentos de event_batch_size | number | 100 | No |
event_maximum_batching_window | Ventana de lotes máximo en segundos. | number | 300 | No |
event_processing_timeout | El número máximo de segundos, el lambda puede ejecutarse y el número de segundos de eventos debe ocultarse en SQS después de ser recogido mi lambda. | number | 60 | No |
excluido_accounts | Lista de cuentas que se excluyen por escaneos en acciones manuales. Estos tienen prisión sobre included_accounts | list(string) | [] | No |
excluido_scoped_acciones | Una lista de acciones de servicio que no serán alertadas. Formato {{Servicio}}. Amazonaws.com:{ / sactitud}} | list(string) | [] | No |
excluido_scoped_actions_effect | Si las acciones exigidas existentes se reemplazarán o se agregarán. Por defecto, se agregará a la lista, valores válidos: adjuntar, reemplazar | string | "APPEND" | No |
excluido_users | La lista de direcciones de correo electrónico no se informará al practicar clickops. | list(string) | [] | No |
FireHose_Delivery_stream_Name | Kinesis FireHose Delivery Stream Nombre para emitir eventos de Clickops. | string | null | No |
iam_role_arn | Rol de IAM existente ARN para la Lambda. Requerido si create_iam_role se establece en false | string | null | No |
incluido_accounts | Lista de cuentas que se escanearán a acciones manuales. Si vacía escaneará todas las cuentas. | list(string) | [] | No |
incluido_users | Lista de correos electrónicos que se escanearán en acciones manuales. Si vacía escaneará todos los correos electrónicos. | list(string) | [] | No |
kms_key_id_for_sns_topic | ID de clave KMS para cifrar el sns_topic (solo aplicable a las implementaciones de organización). | string | null | No |
lambda_deployment_s3_bucket | S3 Bucket para paquete de implementación Lambda. | string | null | No |
lambda_deployment_s3_key | Clave de objeto S3 para el paquete de implementación Lambda. De lo contrario, el valor predeterminado se encuentra a var.naming_prefix/local.deployment_filename . | string | null | No |
lambda_deployment_upload_to_s3_enabled | Si es true , el paquete de implementación Lambda dentro de este módulo repos se copiará a S3. Si es false , entonces el objeto S3 debe cargarse por separado. Ignorado si lambda_deployment_s3_bucket es nulo. | bool | true | No |
lambda_log_level | Nivel de registro de lambda. Uno de: ["DEBUG", "INFO", "WARN", "ERROR"] . | string | "WARN" | No |
lambda_memory_size | La cantidad de memoria para que la lambda use | number | "128" | No |
lambda_runtime | El tiempo de ejecución de Lambda para usar. Uno de: ["python3.9", "python3.8", "python3.7"] | string | "python3.8" | No |
log_retention_in_days | Número de días para mantener los registros de CloudWatch | number | 14 | No |
naming_prefix | Los recursos se prefijan con esto | string | "clickops-notifier" | No |
autónomo | Implemente clickops en una cuenta independiente en lugar de en una organización completa de AWS. Ideal para equipos que desean monitorear clickops solo en sus cuentas donde no se instruye a nivel organizacional. | bool | false | No |
Subcription_filter_distribution | El método utilizado para distribuir datos de registro al destino. Por defecto, los datos del registro se agrupan mediante la transmisión de registro, pero la agrupación se puede configurar al azar para una distribución más uniforme. Esta propiedad solo es aplicable cuando el destino es una transmisión de Amazon Kinesis. Los valores válidos son "aleatorios" y "bylogstream". | string | "Random" | No |
etiquetas | Etiquetas para agregar a los recursos además del valor predeterminado para el proveedor | map(string) | {} | No |
webhooks_for_msteams_notifications | Mapa de custom_name => webhook URL S para notificaciones de equipos MS. https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectores/how-to/add-incoming-webhook?tabs=dotnet | map(string) | {} | No |
webhooks_for_slack_notifications | Mapa de custom_name => webhook URL S para notificaciones de Slack. https://api.slack.com/messaging/webhooks | map(string) | {} | No |
Nombre | Fuente | Versión |
---|---|---|
clickops_notifier_lambda | Terraform-AWS-Modules/Lambda/AWS | 4.9.0 |
Nombre | Descripción |
---|---|
clickops_notifier_lambda | Exponga todas las salidas del módulo Lambda |
sns_topic | Expone los detalles de la notificación de bucket SNS |
sqs_queue | Exponer los detalles de la notificación de deseos SQS |
Nombre | Versión |
---|---|
AWS | > = 4.9 |
Nombre | Versión |
---|---|
terraformado | > = 0.15.0 |
AWS | > = 4.9 |
Nombre | Tipo |
---|---|
aws_cloudwatch_log_subscription_filter.THIS | recurso |
aws_s3_bucket_notification.bucket_notification | recurso |
AWS_S3_Object.Deployment | recurso |
aws_sns_topic.bucket_notifications | recurso |
aws_sns_topic_policy.bucket_notifications | recurso |
aws_sns_topic_subscription.bucket_notifications | recurso |
aws_sqs_queue.bucket_notifications | recurso |
aws_sqs_queue_policy.bucket_notifications | recurso |
aws_ssm_parameter.webhooks_for_msteams | recurso |
aws_ssm_parameter.webhooks_for_slack | recurso |
AWS_CALLER_IDENTITY.CURRENT | fuente de datos |
AWS_CLOUDWATCH_LOG_GROUP.THIS | fuente de datos |
aws_iam_policy_document.bucket_notifications | fuente de datos |
aws_iam_policy_document.lambda_permissions | fuente de datos |
aws_iam_policy_document.sns_topic_policy_bucket_notifications | fuente de datos |
AWS_region.Current | fuente de datos |
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 " ,
]
}