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.
Fournisseurs d'identifiants
Pour effectuer des demandes d' AWS utilisation du AWS SDK pour C++, le SDK utilise des informations d'identification signées cryptographiquement émises par. AWS Au moment de l'exécution, le SDK récupère les valeurs de configuration pour les informations d'identification en vérifiant plusieurs emplacements.
L'authentification avec AWS peut être gérée en dehors de votre base de code. De nombreuses méthodes d'authentification peuvent être automatiquement détectées, utilisées et actualisées par le SDK à l'aide de la chaîne de fournisseurs d'informations d'identification.
Pour connaître les options guidées permettant de démarrer l' AWS authentification pour votre projet, consultez la section Authentification et accès dans le guide de référence des outils AWS SDKs et.
La chaîne de fournisseurs d'identifiants
Si vous ne spécifiez pas explicitement de fournisseur d'informations d'identification lors de la création d'un client, le SDK pour C++ utilise une chaîne de fournisseurs d'informations d'identification qui vérifie une série d'emplacements où vous pouvez fournir des informations d'identification. Une fois que le SDK a trouvé des informations d'identification à l'un de ces emplacements, la recherche s'arrête.
Ordre de récupération des informations d'identification
Tous SDKs ont une série de lieux (ou de sources) qu'ils vérifient afin d'obtenir des informations d'identification valides à utiliser pour faire une demande à un Service AWS. Une fois les informations d’identification valides trouvées, la recherche s’arrête. Cette recherche systématique est appelée chaîne de fournisseurs d'informations d'identification.
Pour chaque étape de la chaîne, il existe différentes manières de définir les valeurs. La définition des valeurs directement dans le code est toujours prioritaire, suivie de la définition en tant que variables d'environnement, puis dans le AWS config
fichier partagé. Pour plus d'informations, consultez la section Priorité des paramètres dans le Guide de référence des outils AWS SDKs et des outils.
Le SDK tente de charger les informations d'identification à partir du [default]
profil dans les credentials
fichiers partagés AWS config
et. Vous pouvez utiliser la variable d'AWS_PROFILE
environnement pour choisir un profil nommé que vous souhaitez que le SDK charge au lieu de l'utiliser[default]
. Les credentials
fichiers config
et sont partagés par AWS SDKs et les outils. Le guide de référence AWS SDKs and Tools contient des informations sur les paramètres de configuration du SDK utilisés par tous AWS SDKs et les AWS CLI. Pour en savoir plus sur la configuration du SDK via le AWS config
fichier partagé, consultez la section Fichiers de configuration et d'informations d'identification partagés. Pour en savoir plus sur la configuration du SDK en définissant des variables d'environnement, consultez la section Prise en charge des variables d'environnement.
Pour s'authentifier auprès de AWS lui, le SDK for C++ vérifie les fournisseurs d'informations d'identification dans l'ordre suivant.
-
AWS clés d'accès (informations d'identification temporaires et à long terme)
Le SDK tente de charger les informations d'identification à partir
AWS_ACCESS_KEY_ID
des variables d'AWS_SESSION_TOKEN
environnement etAWS_SECRET_ACCESS_KEY
, ou à partir du AWScredentials
fichier partagé.-
Pour obtenir des conseils sur la configuration de ce fournisseur, consultez les clés AWS d'accès dans le guide de référence AWS SDKs et sur les outils.
-
Pour plus de détails sur les propriétés de configuration du SDK pour ce fournisseur, consultez les clés AWS d'accès dans le guide de référence AWS SDKs et Tools.
-
-
AWS STS identité Web
Lorsque vous créez des applications mobiles ou des applications Web basées sur le client qui nécessitent un accès à AWS, AWS Security Token Service (AWS STS) renvoie un ensemble d'informations d'identification de sécurité temporaires pour les utilisateurs fédérés authentifiés par le biais d'un fournisseur d'identité public (IdP).
-
Lorsque vous le spécifiez dans un profil, le SDK ou l'outil tente de récupérer des informations d'identification temporaires à l'aide de la méthode AWS STS
AssumeRoleWithWebIdentity
API. Pour plus de détails sur cette méthode, reportez-vous AssumeRoleWithWebIdentityà la référence de l'AWS Security Token Service API. -
Pour obtenir des conseils sur la configuration de ce fournisseur, consultez Federate with Web Identity ou OpenID Connect AWS SDKs dans le guide de référence and Tools.
-
Pour plus de détails sur les propriétés de configuration du SDK pour ce fournisseur, voir Assumer le rôle de fournisseur d'informations d'identification dans le guide de référence AWS SDKs and Tools.
-
-
IAM Identity Center
Si vous utilisez IAM Identity Center pour vous authentifier, c'est à ce moment que le SDK pour C++ utilise le jeton d'authentification unique configuré en exécutant la commande CLI. AWS
aws sso login
Le SDK utilise les informations d'identification temporaires que le centre d'identité IAM a échangées contre un jeton valide. Le SDK utilise ensuite les informations d'identification temporaires lorsqu'il appelle Services AWS. Pour obtenir des informations détaillées sur ce processus, consultez la section Comprendre la résolution des informations d'identification du SDK Services AWS dans le guide de référence AWS SDKs and Tools.-
Pour obtenir des conseils sur la configuration de ce fournisseur, consultez la section Authentification IAM Identity Center dans le guide de référence AWS SDKs et Tools.
-
Pour plus de détails sur les propriétés de configuration du SDK pour ce fournisseur, voir le fournisseur d'informations d'identification IAM Identity Center dans le guide de référence AWS SDKs and Tools.
-
-
Fournisseur de processus externe
Ce fournisseur peut être utilisé pour fournir des implémentations personnalisées, telles que la récupération d'informations d'identification à partir d'un magasin d'informations d'identification local ou l'intégration à votre fournisseur d'identité local.
-
Pour obtenir des conseils sur la manière de configurer ce fournisseur, consultez le guide de référence des outils IAM Roles AWS SDKs Anywhere.
-
Pour plus de détails sur les propriétés de configuration du SDK pour ce fournisseur, consultez la section Process Credential Provider dans le guide de référence AWS SDKs and Tools.
-
-
Informations d'identification des conteneurs Amazon ECS et Amazon EKS
Un rôle IAM peut être associé à vos tâches Amazon Elastic Container Service et à vos comptes de service Kubernetes. Les autorisations accordées dans le rôle IAM sont assumées par les conteneurs exécutés dans la tâche ou les conteneurs du pod. Ce rôle permet à votre code d'application SDK for C++ (sur le conteneur) d'en utiliser Services AWS un autre.
Le SDK tente de récupérer les informations d'identification à partir des variables d'
AWS_CONTAINER_CREDENTIALS_FULL_URI
environnementAWS_CONTAINER_CREDENTIALS_RELATIVE_URI
or, qui peuvent être définies automatiquement par Amazon ECS et Amazon EKS.-
Pour plus d'informations sur la configuration de ce rôle pour Amazon ECS, consultez le rôle IAM de la tâche Amazon ECS dans le manuel Amazon Elastic Container Service Developer Guide.
-
Pour obtenir des informations sur la configuration d'Amazon EKS, consultez la section Configuration de l'agent d'identité Amazon EKS Pod dans le guide de l'utilisateur Amazon EKS.
-
Pour plus de détails sur les propriétés de configuration du SDK pour ce fournisseur, consultez la section Fournisseur d'informations d'identification du conteneur dans le guide de référence AWS SDKs and Tools.
-
-
Service de métadonnées d' EC2 instance Amazon
Créez un rôle IAM et attachez-le à votre instance. L'application SDK for C++ de l'instance tente de récupérer les informations d'identification fournies par le rôle à partir des métadonnées de l'instance.
-
Pour plus de détails sur la configuration de ce rôle et l'utilisation des métadonnées, consultez les rôles IAM pour Amazon EC2 et Work with instance metadata dans le guide de l' EC2 utilisateur Amazon.
-
Pour plus de détails sur les propriétés de configuration du SDK pour ce fournisseur, consultez la section fournisseur d'informations d'identification IMDS dans le guide de référence AWS SDKs and Tools.
-
La chaîne de fournisseurs d'informations d'identification peut être consultée AWSCredentialsProviderChain
Si vous avez suivi l'approche recommandée pour les nouveaux utilisateurs pour démarrer, vous avez configuré AWS IAM Identity Center l'authentification au cours Authentification du SDK avec AWS de la rubrique Mise en route. D'autres méthodes d'authentification sont utiles dans différentes situations. Pour éviter les risques de sécurité, nous vous recommandons de toujours utiliser des informations d'identification à court terme. Pour les autres procédures relatives aux méthodes d'authentification, voir Authentification et accès dans le guide de référence des outils AWS SDKs et.
Fournisseur d'informations d'identification explicite
Au lieu de vous fier à la chaîne de fournisseurs d'informations d'identification pour détecter votre méthode d'authentification, vous pouvez spécifier un fournisseur d'informations d'identification spécifique que le SDK doit utiliser. Vous pouvez le faire en fournissant des informations d'identification dans le constructeur de votre client de service.
L'exemple suivant crée un client Amazon Simple Storage Service en fournissant directement des informations d'accès temporaires au lieu d'utiliser la chaîne.
SDKOptions options;
Aws::InitAPI(options);
{
const auto cred_provider = Aws::MakeShared<Auth::SimpleAWSCredentialsProvider>("TestAllocationTag",
"awsAccessKeyId",
"awsSecretKey",
"sessionToken");
S3Client client{cred_provider};
}
Aws::ShutdownAPI(options);
Mise en cache des identités
Le SDK mettra en cache les informations d'identification et les autres types d'identité tels que les jetons SSO. Par défaut, le SDK utilise une implémentation de cache différé qui charge les informations d'identification lors de la première demande, les met en cache, puis tente de les actualiser lors d'une autre demande lorsqu'elles sont sur le point d'expirer. Les clients créés à partir du même Aws::Client::ClientConfiguration