# AWS - EventBridge Scheduler Enum

## EventBridge Scheduler

{{#include ../../../banners/hacktricks-training.md}}

## EventBridge Scheduler

**Amazon EventBridge Scheduler** je potpuno upravljani, **serverless planer dizajniran za kreiranje, pokretanje i upravljanje zadacima** na velikoj skali. Omogućava vam da zakazujete milione zadataka preko više od 270 AWS usluga i 6,000+ API operacija, sve iz centralne usluge. Sa ugrađenom pouzdanošću i bez infrastrukture za upravljanje, EventBridge Scheduler pojednostavljuje zakazivanje, smanjuje troškove održavanja i automatski se skalira kako bi zadovoljio potražnju. Možete konfigurisati cron ili rate izraze za ponavljajuće rasporede, postaviti jednokratne pozive i definisati fleksibilne vremenske okvire za isporuku sa opcijama ponovnog pokušaja, osiguravajući da se zadaci pouzdano isporučuju na osnovu dostupnosti ciljeva nizvodno.

Postoji inicijalni limit od 1,000,000 rasporeda po regionu po nalogu. Čak i zvanična stranica kvota sugeriše, "Preporučuje se da se obrišu jednokratni rasporedi nakon što su završeni."&#x20;

### Tipovi Rasporeda

Tipovi Rasporeda u EventBridge Scheduler:

1. **Jednokratni rasporedi** – Izvršite zadatak u određenom trenutku, npr., 21. decembra u 7 AM UTC.
2. **Rasporedi zasnovani na frekvenciji** – Postavite ponavljajuće zadatke na osnovu frekvencije, npr., svaka 2 sata.
3. **Cron rasporedi** – Postavite ponavljajuće zadatke koristeći cron izraz, npr., svake petka u 4 PM.

Dva mehanizma za upravljanje neuspelim događajima:

1. **Politika ponovnog pokušaja** – Definiše broj pokušaja ponovnog izvršavanja za neuspeli događaj i koliko dugo da ostane neobrađen pre nego što se smatra neuspehom.
2. **Dead-Letter Queue (DLQ)** – Standardna Amazon SQS red čekanja gde se neuspeli događaji isporučuju nakon što su pokušaji ponovnog izvršavanja iscrpljeni. DLQ pomaže u rešavanju problema sa vašim rasporedom ili njegovim ciljem nizvodno.

### Ciljevi

Postoje 2 tipa ciljeva za planer [**templated (docs)**](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-templated.html), koji se često koriste i AWS ih je učinio lakšim za konfiguraciju, i [**universal (docs)**](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-universal.html), koji se može koristiti za pozivanje bilo kog AWS API-ja.

**Templated ciljevi** podržavaju sledeće usluge:

- CodeBuild – StartBuild
- CodePipeline – StartPipelineExecution
- Amazon ECS – RunTask
- Parameters: EcsParameters
- EventBridge – PutEvents
- Parameters: EventBridgeParameters
- Amazon Inspector – StartAssessmentRun
- Kinesis – PutRecord
- Parameters: KinesisParameters
- Firehose – PutRecord
- Lambda – Invoke
- SageMaker – StartPipelineExecution
- Parameters: SageMakerPipelineParameters
- Amazon SNS – Publish
- Amazon SQS – SendMessage
- Parameters: SqsParameters
- Step Functions – StartExecution

### Enumeration
```bash
# List all EventBridge Scheduler schedules
aws scheduler list-schedules

# List all EventBridge Scheduler schedule groups
aws scheduler list-schedule-groups

# Describe a specific schedule to retrieve more details
aws scheduler get-schedule --name <schedule_name>

# Describe a specific schedule group
aws scheduler get-schedule-group --name <group_name>

# List tags for a specific schedule (helpful in identifying any custom tags or permissions)
aws scheduler list-tags-for-resource --resource-arn <schedule_group_arn>
```
### Privesc

Na sledećoj stranici možete proveriti kako da **zloupotrebite eventbridge scheduler dozvole za eskalaciju privilegija**:

{{#ref}}
../aws-privilege-escalation/eventbridgescheduler-privesc.md
{{#endref}}

## References

- [https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)

{{#include ../../../banners/hacktricks-training.md}}
