將憑證從變數傳遞到AWS SDK 版本2
此查詢呼應了先前有關使用來自變數的憑證的AWS SDK 的問題。但是,在本例中,使用的是 SDK 版本 2,這消除了會話功能。
要使用從變數取得的憑證建立新客戶端以存取IAM 服務,請考慮以下函數:
<code class="go">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 }</code>
由於多個使用者可能同時使用該應用程序,因此利用ENV文件是不切實際的。但是,解釋如何將這些憑證傳遞給客戶端的文件可能不容易取得。
解決方案:靜態憑證提供者
要解決此問題,可以使用StaticCredentialsProvider如適用於Go V2 的AWS 開發工具包的「靜態憑證」部分所述文檔:
<code class="go">cfg, err := config.LoadDefaultConfig(ctx, config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("AKID", "SECRET_KEY", "TOKEN")))</code>
透過合併此修改,憑證可以從變數傳遞到SDK,從而啟用IAM 服務的檢索和使用。
以上是如何將變數中的憑證傳遞到 AWS 開發工具包版本 2 以進行 IAM 服務存取?的詳細內容。更多資訊請關注PHP中文網其他相關文章!