Transmission des informations d'identification des variables vers AWS SDK version 2
Cette enquête fait écho à une question précédente concernant l'utilisation du SDK AWS avec les informations d'identification des variables. Cependant, dans ce cas, la version 2 du SDK est utilisée, ce qui élimine la fonctionnalité de session.
Pour établir un nouveau client avec les informations d'identification obtenues à partir de variables pour accéder au service IAM, envisagez la fonction suivante :
func getIAMClient(ctx context.Context) (*iam.Client, error) {
cfg, err := config.LoadDefaultConfig(ctx, config.WithRegion("no-region"))
if err != nil {
return nil, errors.Wrap(err)
}
cfg.HTTPClient, err = getHTTPClient(ctx)
if err != nil {
return nil, err
}
return iam.NewFromConfig(cfg), nil
}
Étant donné que plusieurs utilisateurs peuvent utiliser l'application simultanément, l'utilisation de fichiers ENV n'est pas pratique. Cependant, la documentation expliquant comment transmettre ces informations d'identification à un client peut ne pas être facilement disponible.
Solution : fournisseur d'informations d'identification statiques
Pour résoudre ce problème, le StaticCredentialsProvider peut être utilisé, comme indiqué dans la section « Informations d'identification statiques » de la documentation AWS SDK for Go V2 :
cfg, err := config.LoadDefaultConfig(ctx, config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("AKID", "SECRET_KEY", "TOKEN")))
En incorporant cette modification, les informations d'identification peuvent être transmises des variables au SDK, permettant la récupération et l'utilisation des services IAM.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3