」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何將變數中的憑證傳遞到 AWS 開發工具包版本 2 以進行 IAM 服務存取?

如何將變數中的憑證傳遞到 AWS 開發工具包版本 2 以進行 IAM 服務存取?

發佈於2024-11-15
瀏覽:806

How to Pass Credentials from Variables to AWS SDK Version 2 for IAM Service Access?

將憑證從變數傳遞到AWS SDK 版本2

將憑證從變數傳遞到AWS SDK 版本2

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
}
若要使用從變數取得的憑證建立新客戶端以存取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 服務。 How to Pass Credentials from Variables to AWS SDK Version 2 for IAM Service Access?

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3