Übergabe von Anmeldeinformationen von Variablen an AWS SDK Version 2
Diese Anfrage spiegelt eine frühere Frage bezüglich der Verwendung von AWS SDK mit Anmeldeinformationen von Variablen wider. In diesem Fall wird jedoch SDK Version 2 verwendet, wodurch die Sitzungsfunktion entfällt.
Um einen neuen Client mit aus Variablen erhaltenen Anmeldeinformationen für den Zugriff auf den IAM-Dienst einzurichten, berücksichtigen Sie die folgende Funktion:
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
}
Da mehrere Benutzer die Anwendung gleichzeitig verwenden können, ist die Verwendung von ENV-Dateien unpraktisch. Eine Dokumentation, die erklärt, wie diese Anmeldeinformationen an einen Client weitergegeben werden, ist jedoch möglicherweise nicht ohne weiteres verfügbar.
Lösung: Static Credentials Provider
Um dieses Problem zu beheben, kann der StaticCredentialsProvider verwendet werden verwendet, wie im Abschnitt „Statische Anmeldeinformationen“ der AWS SDK for Go V2-Dokumentation beschrieben:
cfg, err := config.LoadDefaultConfig(ctx, config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("AKID", "SECRET_KEY", "TOKEN")))
Durch die Einbindung dieser Änderung können Anmeldeinformationen von Variablen an das SDK übergeben werden, was den Abruf und die Nutzung von IAM-Diensten ermöglicht.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3