

• Le AWS Systems Manager CloudWatch tableau de bord ne sera plus disponible après le 30 avril 2026. Les clients peuvent continuer à utiliser CloudWatch la console Amazon pour consulter, créer et gérer leurs CloudWatch tableaux de bord Amazon, comme ils le font aujourd'hui. Pour plus d'informations, consultez la [documentation Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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.

# AWS Exemples de code de secret et de fournisseur de configuration
<a name="ascp-examples"></a>

## Exemples d’authentification et de contrôle d’accès pour l’ASCP
<a name="ascp-auth-access-examples"></a>

### Exemple : politique IAM autorisant le service d’identité du pod Amazon EKS (pods.eks.amazonaws.com) à assumer le rôle et à baliser la session :
<a name="ascp-auth-access-example-1"></a>

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "pods.eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}
```

------

## SecretProviderClass
<a name="ascp-examples-secretproviderclass"></a>

Vous utilisez YAML pour décrire les paramètres à monter dans Amazon EKS à l’aide de l’ASCP. Pour obtenir des exemples, consultez [SecretProviderClass utilisation](#ascp-scenarios-secretproviderclass).

### SecretProviderClass Structure YAML
<a name="ascp-examples-secretproviderclass-1"></a>

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
   name: name
spec:
  provider: aws
  parameters:
    region:
    failoverRegion:
    pathTranslation:
    usePodIdentity:
    preferredAddressType:
    objects:
```

Le champ Paramètres contient les détails de la demande de montage :

**region**  
(Facultatif) Le Région AWS du paramètre. Si vous n'utilisez pas ce champ, ASCP va rechercher la région à partir de l'annotation sur le nœud. Comme cette recherche ajoute une surcharge aux demandes de montage, nous vous recommandons de fournir la région pour les clusters qui utilisent un grand nombre de pods.  
Si vous spécifiez également `failoverRegion`, l’ASCP essaie de récupérer le paramètre des deux régions. Si l’une des régions renvoie une erreur `4xx`, notamment en raison d’un problème d’authentification, l’ASCP ne monte aucun paramètre. Si le paramètre est récupéré avec succès à partir du `region```, l’ASCP monte cette valeur de paramètre. Si le paramètre n’est pas récupéré correctement de `region`, mais qu’il l’est avec succès de `failoverRegion`, l’ASCP monte cette valeur de paramètre.

**`failoverRegion`**  
(Facultatif) Si vous incluez ce champ, l’ASCP va essayer de récupérer le paramètre à partir des régions définies dans `region` et dans ce champ. Si l’une des régions renvoie une erreur `4xx`, notamment en raison d’un problème d’authentification, l’ASCP ne monte aucun paramètre. Si le paramètre est récupéré avec succès à partir du `region`, l’ASCP monte cette valeur de paramètre. Si le paramètre n’est pas récupéré correctement de `region`, mais qu’il l’est avec succès de `failoverRegion`, l’ASCP monte cette valeur de paramètre. Pour accéder à un exemple sur la façon de procéder, consultez [Basculement de paramètres multi-régions](#multi-region-failover).

**pathTranslation**  
(Facultatif) Un caractère de substitution unique à utiliser si le nom de fichier dans Amazon EKS contient un caractère séparateur de chemin, tel que la barre oblique (/) sur Linux. L'ASCP ne peut pas créer un fichier monté possédant un caractère de séparation de chemin. Par contre, l'ASCP va remplacer le caractère séparateur de chemin par un autre caractère. Si vous n'utilisez pas ce champ, la valeur par défaut est le trait de soulignement (\$1). Par exemple, `My/Path/Parameter` se monte en tant que `My_Path_Parameter`.   
Pour empêcher la substitution de caractères, entrez la chaîne `False`.

***usePodIdentity***  
(Facultatif) Détermine l’approche d’authentification. Lorsqu’il n’est pas spécifié, sa valeur par défaut est Rôles IAM pour les comptes de service (IRSA) (IRSA).  
+ Pour utiliser l’identité du pod EKS, utilisez l’une des valeurs suivantes : `"true"`", `"True"`, `"TRUE"`, `"t"` ou `"T"`.
+ Pour utiliser IRSA de manière explicite, définissez l’une des valeurs suivantes : `"false"`, `"False"`, `"FALSE"`, `"f"` ou `"F"`"=.

***preferredAddressType***  
(Facultatif) Spécifie le type d’adresse IP préféré pour les communications entre les points de terminaison de l’agent d’identité du pod. Le champ n’est applicable que lors de l’utilisation de la fonctionnalité d’identité du pod EKS et sera ignoré lors de l’utilisation des rôles IAM pour les comptes de service. Les valeurs ne sont pas sensibles à la casse. Les valeurs valides sont :  
+ `"ipv4"`, `"IPv4"` «, ou `"IPV4"` — Forcer l'utilisation du point de IPv4 terminaison Pod Identity Agent
+ `"ipv6"``"IPv6"`, ou `"IPV6"` — Forcer l'utilisation du point de IPv6 terminaison Pod Identity Agent
+ non spécifié — Utilisez la sélection automatique du point de terminaison, en essayant d'abord le point de IPv4 terminaison et en revenant au IPv6 point de terminaison en cas d' IPv4 échec

**objects**  
Chaîne contenant une déclaration YAML des secrets à monter. Nous vous recommandons d'utiliser une chaîne YAML multi-ligne ou un caractère pipe (\$1).    
**objectName**  
Obligatoire. Spécifie le nom du paramètre ou secret à récupérer. Pour Parameter Store, il s’agit [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html#API_GetParameter_RequestParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html#API_GetParameter_RequestParameters) du paramètre et il peut s’agir du nom ou de l’ARN complet du paramètre. Pour Secrets Manager, il s’agit du paramètre [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html#API_GetSecretValue_RequestParameters](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html#API_GetSecretValue_RequestParameters), et il peut s’agir du nom convivial ou de l’ARN complet du secret.   
**objectType**  
Obligatoire si vous n'utilisez pas d'ARN Secrets Manager pour `objectName`. Pour Parameter Store, utilisez `ssmparameter`. Pour Secrets Manager, utilisez `secretsmanager`.   
**objectAlias**  
(Facultatif) Nom de fichier du secret dans le pod Amazon EKS. Si vous ne spécifiez pas ce champ,`objectName` apparaît en tant que nom de fichier.  
**objectVersion**  
(Facultatif) ID de version du paramètre. Déconseillé, car vous devez mettre à jour l’identifiant de la version à chaque fois que vous mettez le paramètre à jour. La version la plus récente est utilisée par défaut. Si vous incluez un `failoverRegion`, ce champ représente le champ principal `objectVersion`.  
**objectVersionLabel**  
(Facultatif) Alias de la version. La version par défaut est la plus récente `AWSCURRENT`. Si vous incluez un `failoverRegion`, ce champ représente le champ principal `objectVersionLabel`.  
**jmesPath**  
(Facultatif) Une carte des clés du paramètre avec les fichiers à monter dans Amazon EKS. Pour utiliser ce champ, votre valeur de paramètre doit être au format JSON.   
L'exemple suivant montre comment se présente un paramètre codé JSON.  

```
{
    "username" : "myusername",
    "password" : "mypassword"
}
```
Les clés sont `username` et `password`. La valeur associée à `username` est `myusername` et la valeur associée à `password` est `mypassword`.  
Si vous utilisez ce champ, vous devez inclure les sous-champs `path` et `objectAlias`.    
**path**  
Une clé d’une paire clé-valeur dans le JSON de la valeur de paramètre. Si le champ contient un trait d'union, utilisez des guillemets simples pour l'ignorer, par exemple : `path: '"hyphenated-path"'`  
**objectAlias**  
Le nom du fichier à monter dans le pod Amazon EKS. Si le champ contient un trait d'union, utilisez des guillemets simples pour l'ignorer, par exemple : `objectAlias: '"hyphenated-alias"'`  
**`failoverObject`**  
(Facultatif) Si vous spécifiez ce champ, l’ASCP essaie de récupérer à la fois le paramètre spécifié dans le champ principal `objectName` et le paramètre spécifié dans le sous-champ `failoverObject` `objectName`. Si l’une renvoie une erreur `4xx`, notamment en raison d’un problème d’authentification, l’ASCP ne monte aucun paramètre. Si le paramètre est récupéré avec succès à partir du `objectName` principal, l’ASCP monte cette valeur de paramètre. Si le paramètre n’est pas récupéré correctement du `objectName` principal, mais qu’il l’est avec succès du `objectName` de basculement, l’ASCP monte cette valeur de paramètre. Si vous incluez ce champ, vous devez inclure le champ `objectAlias`. Pour accéder à un exemple sur la façon de procéder, consultez [Basculement vers un paramètre différent](#failover-parameter).  
Vous allez généralement utiliser ce champ lorsque le paramètre de basculement n’est pas une réplique. Pour obtenir un exemple de spécification des capacités, consultez [Basculement de paramètres multi-régions](#multi-region-failover).    
**objectName**  
Nom ou ARN complet du paramètre de basculement. Si vous utilisez un ARN, la région de l'ARN doit correspondre au champ `failoverRegion`.  
**objectVersion**  
(Facultatif) ID de version du paramètre. Doit correspondre au principal `objectVersion`. Déconseillé, car vous devez mettre à jour l’identifiant de la version à chaque fois que vous mettez le paramètre à jour. La version la plus récente est utilisée par défaut.   
**objectVersionLabel**  
(Facultatif) Alias de la version. La version par défaut est la plus récente `AWSCURRENT`.

### Créez une SecretProviderClass configuration de base pour monter les paramètres dans vos Amazon EKS Pods.
<a name="create-SecretProviderClass-config"></a>

------
#### [ Pod Identity ]

SecretProviderClass pour utiliser un paramètre dans le même cluster Amazon EKS :

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameter-store
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "MyParameter"
        objectType: "ssmparameter"
    usePodIdentity: "true"
```

------
#### [ IRSA ]

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: deployment-aws-parameter
spec:
  provider: aws
  parameters:
    objects: |
        - objectName: "MyParameter"
          objectType: "ssmparameter"
```

------

### SecretProviderClass utilisation
<a name="ascp-scenarios-secretproviderclass"></a>

Utilisez ces exemples pour créer des configurations `SecretProviderClass` pour différents scénarios.

#### Exemple : monter les paramètres par nom ou ARN
<a name="mount-by-name-arn"></a>

Cet exemple montre comment monter trois types de paramètres différents :
+ Un paramètre spécifié par ARN complet
+ Un paramètre spécifié par nom
+ Une version paramétrée d’un secret

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyParameter2-d4e5f6"
      - objectName: "MyParameter3"
        objectType: "ssmparameter"
      - objectName: "MyParameter4"
        objectType: "ssmparameter"
        objectVersionLabel: "AWSCURRENT"
```

#### Exemple : monter des paires clé-valeur à partir d’un paramètre
<a name="mount-key-value-pairs"></a>

Cet exemple montre comment monter des paires clé-valeur spécifiques à partir d’un paramètre au format JSON :

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyParameter-a1b2c3"
        jmesPath: 
            - path: username
              objectAlias: dbusername
            - path: password
              objectAlias: dbpassword
```

#### Exemple : exemples de configuration de basculement
<a name="failover-examples"></a>

Ces exemples montrent comment configurer le basculement pour les paramètres.

##### Basculement de paramètres multi-régions
<a name="multi-region-failover"></a>

Cet exemple montre comment configurer le basculement automatique pour un paramètre répliqué à travers plusieurs régions :

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    region: us-east-1
    failoverRegion: us-east-2
    objects: |
      - objectName: "MyParameter"
```

##### Basculement vers un paramètre différent
<a name="failover-parameter"></a>

Cet exemple montre comment configurer le basculement vers un autre paramètre (pas un réplica) :

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    region: us-east-1
    failoverRegion: us-east-2
    objects: |
      - objectName: "arn:aws:ssm:us-east-1:777788889999:parameter:MyParameter-a1b2c3"
        objectAlias: "MyMountedParameter"
        failoverObject: 
          - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyFailoverParameter-d4e5f6"
```

## Ressources supplémentaires
<a name="additional-resources"></a>

Pour plus d’informations sur l’utilisation d’ASCP avec Amazon EKS, consultez les ressources suivantes :
+ [Utilisation de l’identité du pod avec Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html)
+ [AWS Pilote CSI Secrets Store activé GitHub](https://github.com/aws/secrets-store-csi-driver-provider-aws)