將憑證從變數傳遞到AWS SDK 版本2
將憑證從變數傳遞到AWS SDK 版本2func 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
}
若要使用從變數取得的憑證建立新客戶端以存取IAM 服務,請考慮下列函數:func getIAMClient(ctx context.Context) (*iam.Client,錯誤) { cfg, err := config.LoadDefaultConfig(ctx, config.WithRegion("無區域")) 如果錯誤! = nil { 返回 nil,errors.Wrap(err) } cfg.HTTPClient, err = getHTTPClient(ctx) 如果錯誤! = nil { 回傳零,錯誤 } 返回 iam.NewFromConfig(cfg), nil }由於多個使用者可能同時使用該應用程序,因此利用 ENV 檔案是不切實際的。但是,解釋如何將這些憑證傳遞給客戶端的文件可能不容易取得。
解決方案:靜態憑證提供者cfg, err := config.LoadDefaultConfig(ctx, config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("AKID", "SECRET_KEY", "TOKEN")))
要解決此問題,可以使用StaticCredentialsProvider使用,如AWS SDK for Go V2 文件的「靜態憑證」部分所述:cfg, err := config.LoadDefaultConfig(ctx, config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("AKID) ", "SECRET_KEY", "TOKEN")) [&]&][&]]), "透過合併此修改,憑證可以從變數傳遞到SDK,從而能夠檢索和使用IAM 服務。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3