亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

AWS stscreds SDK 用于刷新跨賬戶代入角色的憑證

AWS stscreds SDK 用于刷新跨賬戶代入角色的憑證

Go
天涯盡頭無女友 2023-02-21 16:50:05
我已經設置了跨賬戶讀取運動流,但是當運動客戶端讀取記錄時我收到安全令牌過期錯誤。我使用 sts assume role 在 accountA 中代入 roleA,然后使用 roleA 憑據代入 roleB,最后返回 kinesis 客戶端,因此沒有應用刷新功能,客戶端默認在 1 小時后過期。我查看了 stscreds AssumeRoleProvider 并且文檔說它將刷新憑據。但我不知道如何刷新假定角色 A 的第一個憑據,然后刷新假定角色 B 的第二個憑據。還是調用重新初始化kinesis客戶端的方法更好?這是代碼塊。    cfg, err := config.LoadDefaultConfig(        context.TODO(),        config.WithRegion("us-west-2"),    )    if err != nil {        return nil, err    }    stsclient := sts.NewFromConfig(cfg)    assumingcnf, err := config.LoadDefaultConfig(        context.TODO(),        config.WithRegion("us-west-2"),        config.WithCredentialsProvider(aws.NewCredentialsCache(            stscreds.NewAssumeRoleProvider(                stsclient,                roleToAssumeArn1,            )),        ),    )    if err != nil {        return nil, err    }    stsclient = sts.NewFromConfig(assumingcnf)    cnf, err := config.LoadDefaultConfig(        context.TODO(),        config.WithRegion("us-west-2"),        config.WithCredentialsProvider(aws.NewCredentialsCache(            stscreds.NewAssumeRoleProvider(                stsclient,                roleToAssumeArn2,            )),        ),    )    if err != nil {        return nil, err    }    kClient := kinesis.NewFromConfig(cnf)    return kClient
查看完整描述

1 回答

?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

您應該能夠使用 AWS 提供的提供商執行此操作。我假設您使用的是 aws-sdk-go-v2。

這將使生成的 CredentialsProvider 返回緩存的憑據,直到它們過期;然后它會調用provider2,它用于sts2獲取 的新憑據roleB,并且sts2總是首先調用provider1來獲取 的新憑據roleA。

func createProvider(cfg aws.Config) aws.CredentialsProvider {
    sts1 := sts.NewFromConfig(cfg)
    provider1 := stscreds.NewAssumeRoleProvider(sts1, "roleA")
    sts2 := sts.NewFromConfig(cfg, func (o *sts.Options) { o.Credentials = provider1 })
    provider2 := stscreds.NewAssumeRoleProvider(sts2, "roleB")
        return aws.NewCredentialsCache(provider2)
}


查看完整回答
反對 回復 2023-02-21
  • 1 回答
  • 0 關注
  • 221 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號