AWS Systems ManagerChange Managern'est plus ouvert aux nouveaux clients. Les clients existants peuvent continuer à utiliser le service normalement. Pour plus d'informations, consultez AWS Systems ManagerChange Managerla section Modification de la disponibilité.
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
Exemples d’authentification et de contrôle d’accès pour l’ASCP
Exemple : politique IAM autorisant le service d’identité du pod Amazon EKS (pods.eks.amazonaws.com) à assumer le rôle et à baliser la session :
SecretProviderClass
Vous utilisez YAML pour décrire les paramètres à monter dans Amazon EKS à l’aide de l’ASCP. Pour obtenir des exemples, consultez Utilisation SecretProviderClass.
SecretProviderClass Structure YAML
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:namespec: 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 erreur4xx, 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 duregion, l’ASCP monte cette valeur de paramètre. Si le paramètre n’est pas récupéré correctement deregion, mais qu’il l’est avec succès defailoverRegion, 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
regionet dans ce champ. Si l’une des régions renvoie une erreur4xx, 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 duregion, l’ASCP monte cette valeur de paramètre. Si le paramètre n’est pas récupéré correctement deregion, mais qu’il l’est avec succès defailoverRegion, 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. - 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 (_). Par exemple,
My/Path/Parameterse monte en tant queMy_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 (|).
- objectName
-
Obligatoire. Spécifie le nom du paramètre ou secret à récupérer. Pour Parameter Store, il s’agit
Namedu 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ètreSecretId, 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, utilisezssmparameter. Pour Secrets Manager, utilisezsecretsmanager. - objectAlias
-
(Facultatif) Nom de fichier du secret dans le pod Amazon EKS. Si vous ne spécifiez pas ce champ,
objectNameapparaî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 principalobjectVersion. - objectVersionLabel
-
(Facultatif) Alias de la version. La version par défaut est la plus récente
AWSCURRENT. Si vous incluez unfailoverRegion, ce champ représente le champ principalobjectVersionLabel. - 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
usernameetpassword. La valeur associée àusernameestmyusernameet la valeur associée àpasswordestmypassword.Si vous utilisez ce champ, vous devez inclure les sous-champs
pathetobjectAlias.- 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
objectNameet le paramètre spécifié dans le sous-champfailoverObjectobjectName. Si l’une renvoie une erreur4xx, 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 duobjectNameprincipal, l’ASCP monte cette valeur de paramètre. Si le paramètre n’est pas récupéré correctement duobjectNameprincipal, mais qu’il l’est avec succès duobjectNamede basculement, l’ASCP monte cette valeur de paramètre. Si vous incluez ce champ, vous devez inclure le champobjectAlias. Pour accéder à un exemple sur la façon de procéder, consultez Basculement vers un paramètre différent.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.
- 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.
Utilisation SecretProviderClass
Utilisez ces exemples pour créer des configurations SecretProviderClass pour différents scénarios.
Exemple : monter les paramètres par nom ou ARN
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-parametersspec: 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
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-parametersspec: 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
Ces exemples montrent comment configurer le basculement pour les paramètres.
Basculement de paramètres multi-régions
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-parametersspec: provider: aws parameters: region: us-east-1 failoverRegion: us-east-2 objects: | - objectName: "MyParameter"
Basculement vers un paramètre différent
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
Pour plus d’informations sur l’utilisation d’ASCP avec Amazon EKS, consultez les ressources suivantes :