

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Horaires de rotation
<a name="rotate-secrets_schedule"></a>

Secrets Manager fait pivoter votre secret selon un calendrier pendant une période de rotation que vous avez définie. Pour définir le calendrier et la fenêtre, vous utilisez une expression **cron ()** ou **rate ()** ainsi qu'une durée de fenêtre. Secrets Manager effectue une rotation de votre secret à tout moment lors d'une fenêtre de rotation. Vous pouvez alterner un secret toutes les quatre heures au cours d'une période de rotation d'une heure seulement. 

Pour activer la rotation, consultez :
+ [Rotation gérée pour les AWS Secrets Manager secrets](rotate-secrets_managed.md)
+ [Configurer la rotation automatique pour les secrets Amazon RDS, Amazon Aurora, Amazon Redshift ou Amazon DocumentDB](rotate-secrets_turn-on-for-db.md)
+ [Configurer la rotation automatique pour les secrets non liés à la base de données AWS Secrets Manager](rotate-secrets_turn-on-for-other.md)

Les planifications de rotation de Secrets Manager utilisent le fuseau horaire UTC.

## Fenêtres rotatives
<a name="rotate-secrets_rotation-windows"></a>

Une fenêtre de rotation de Secrets Manager est similaire à une fenêtre de maintenance. Vous définissez la fenêtre de rotation lorsque vous souhaitez faire pivoter votre secret, et Secrets Manager fait pivoter votre secret à un moment donné pendant la fenêtre de rotation. 

Les fenêtres de rotation de Secrets Manager démarrent toujours à l'heure. Pour un calendrier de rotation qui utilise une `rate()` expression en jours, la fenêtre de rotation commence à minuit. Vous pouvez définir l'heure de début de la fenêtre de rotation à l'aide d'une `cron()` expression. Pour obtenir des exemples, consultez [Expressions Cron](#rotate-secrets_schedule-cron). 

Par défaut, la fenêtre de rotation se ferme au bout d'une heure pour un calendrier de rotation en *heures*, et à la fin de la journée pour un calendrier de rotation en *jours*. 

Pour modifier la longueur de la fenêtre de rotation, définissez la **durée de la fenêtre**. Vous pouvez définir une fenêtre de rotation aussi petite qu'une heure. La fenêtre de rotation ne doit pas s'étendre jusqu'à la fenêtre de rotation suivante. En d'autres termes, pour un calendrier de rotation en *heures*, vérifiez que la fenêtre de rotation est inférieure ou égale au nombre d'heures entre les rotations. Pour un calendrier de rotation en *jours*, vérifiez que l'heure de début et la durée de la fenêtre sont inférieures ou égales à 24 heures.

## Expressions de fréquence
<a name="rotate-secrets_schedule-rate"></a>

Les expressions tarifaires de Secrets Manager ont le format suivant, où {{Value}} est un entier positif et {{Unit}} peut être `hour``hours`,`day`, ou `days` :

```
rate({{Value}} {{Unit}})
```

Vous pouvez effectuer la rotation d’un secret toutes les quatre heures. La période de rotation maximale est de 999 jours. Exemples :
+ `rate(4 hours)` signifie que la rotation d'un secret est effectuée toutes les quatre heures.
+ `rate(1 day)` signifie que la rotation d'un secret est effectuée tous les jours.
+ `rate(10 days)` signifie que la rotation d'un secret est effectuée tous les 10 jours.

## Expressions Cron
<a name="rotate-secrets_schedule-cron"></a>

Les expressions cron de Secrets Manager ont le format suivant :

```
cron({{Minutes}} {{Hours}} {{Day-of-month}} {{Month}} {{Day-of-week}} {{Year}})
```

Une expression cron qui inclut des incréments d'heures est réinitialisée chaque jour. Par exemple, `cron(0 4/12 * * ? *)` signifie 4 h 00, 16 h 00, puis 4 h 00, 16 h 00 le jour suivant. Les planifications de rotation de Secrets Manager utilisent le fuseau horaire UTC.


| Exemple de programme | Expression | 
| --- | --- | 
| Toutes les huit heures à partir de minuit.  | `cron(0 /8 * * ? *)` | 
| Toutes les huit heures à partir de 8 h 00.  | `cron(0 8/8 * * ? *)` | 
| Toutes les dix heures, à partir de 2 h 00.<br />Les fenêtres de rotation débuteront à 2 h 00, 12 h00 et 22 h 00, puis le jour suivant à 2 h 00, 12 h 00 et 22 h 00.  | `cron(0 2/10 * * ? *)` | 
| Tous les jours à 10 h 00. | `cron(0 10 * * ? *)` | 
| Tous les samedis à 18 h 00. | `cron(0 18 ? * SAT *)` | 
| Le premier jour de chaque mois à 8 h 00. | `cron(0 8 1 * ? *)` | 
| Le premier dimanche de tous les trois mois à 1h00. | `cron(0 1 ? 1/3 SUN#1 *)` | 
| Le dernier jour de chaque mois à 17 h 00. | `cron(0 17 L * ? *)` | 
| Du lundi au vendredi à 8 h 00. | `cron(0 8 ? * MON-FRI *)` | 
| Le premier et le 15e jour de chaque mois à 16 h 00. | `cron(0 16 1,15 * ? *)` | 
| Le premier dimanche de chaque mois à minuit. | `cron(0 0 ? * SUN#1 *)` | 
| À partir de janvier, tous les 11 mois le premier lundi à minuit. | `cron(0 0 ? 1/11 2#1 *)` | 

### Exigences en matière d'expression cron dans Secrets Manager
<a name="rotate-secrets_schedule-cron-ASM"></a>

Secrets Manager impose certaines restrictions quant à ce que vous pouvez utiliser pour les expressions cron. Une expression cron dans Secrets Manager doit indiquer **0** dans le champ des minutes, car les fenêtres de rotation de Secrets Manager s'ouvrent toutes les heures. Elle doit afficher **\*** dans le champ de l'année, car Secrets Manager ne prend pas en charge les calendriers de rotation espacés de plus d'un an. Le tableau suivant répertorie les options que vous pouvez utiliser.


| **Champs** | **Valeurs** | **Caractères génériques** | 
| --- | --- | --- | 
| Minutes | Doit être 0 | Aucune | 
| Heures | 0 – 23 | Utilisez **/** (barre oblique) pour spécifier les incréments. Par exemple, `2/10` cela signifie toutes les 10 heures à partir de 2 h 00. Vous pouvez effectuer la rotation d’un secret toutes les quatre heures.  | 
| Day-of-month | 1 – 31 | Utilisez **,** (virgule) pour inclure des valeurs supplémentaires. Par exemple, `1,15` signifie le premier et le 15e jour du mois.<br />Utilisez **-** (tiret) pour spécifier une plage. Par exemple, `1–15` renvoie aux journées du 1er au 15 du mois.<br />Utilisez le caractère générique **\*** (astérisque) pour inclure toutes les valeurs du champ. Par exemple, `*` signifie tous les jours du mois.<br />Le caractère générique **?** (point d’interrogation) indique l’un ou l’autre. Vous ne pouvez pas spécifier les champs `Day-of-month` et `Day-of-week` de la même expression cron. Si vous spécifiez une valeur dans l’un de ces champs, vous devez utiliser un signe **?** (point d’interrogation) dans l’autre.<br />Utilisez **/** (barre oblique) pour spécifier les incréments. Par exemple, `1/2` signifie tous les deux jours à partir du jour 1, en d'autres termes, les jours 1, 3, 5, et ainsi de suite.<br />Utilisez **L** pour spécifier le dernier jour du mois.<br />Utilisez **{{DAY}}L** pour spécifier le dernier jour du mois. Par exemple, `SUNL` signifie le dernier dimanche du mois. | 
| Mois | 1–12 ou JAN–DEC | Utilisez **,** (virgule) pour inclure des valeurs supplémentaires. Par exemple, `JAN,APR,JUL,OCT` signifie janvier, avril, juillet et octobre.<br />Utilisez **-** (tiret) pour spécifier une plage. Par exemple, `1–3` signifie du 1er au 3e mois de l'année.<br />Utilisez le caractère générique **\*** (astérisque) pour inclure toutes les valeurs du champ. Par exemple, `*` signifie tous les mois.<br />Utilisez **/** (barre oblique) pour spécifier les incréments. Par exemple, `1/3` signifie tous les trois mois, à partir du premier mois, c'est-à-dire les mois 1, 4, 7 et 10. | 
| Day-of-week | 1–7 ou SUN–SAT | Utilisez **\#** pour spécifier le jour de la semaine dans un mois. Par exemple, `TUE#3` signifie le troisième mardi du mois. <br />Utilisez **,** (virgule) pour inclure des valeurs supplémentaires. Par exemple, `1,4` signifie le premier et le quatrième jour de la semaine.<br />Utilisez **-** (tiret) pour spécifier une plage. Par exemple, `1–4` signifie du 1er au 4e jour de la semaine.<br />Utilisez le caractère générique **\*** (astérisque) pour inclure toutes les valeurs du champ. Par exemple, `*` signifie tous les jours de la semaine.<br />Le caractère générique **?** (point d’interrogation) indique l’un ou l’autre. Vous ne pouvez pas spécifier les champs `Day-of-month` et `Day-of-week` de la même expression cron. Si vous spécifiez une valeur dans l’un de ces champs, vous devez utiliser un signe **?** (point d’interrogation) dans l’autre.<br />Utilisez **/** (barre oblique) pour spécifier les incréments. Par exemple, `1/2` signifie tous les deux jours de la semaine, à partir du premier jour, donc les jours 1, 3, 5 et 7.<br />Utilisez **L** pour spécifier le dernier jour de la semaine. | 
| Année | Doit être \* | Aucune | 