Amazon web services 如何在Go AWS SDK v2中使用IAM用户凭据
我正在动态获取IAM用户的凭据,我想使用我使用程序生成的凭据创建会话/客户端。不是共享凭据方法。通过代码。我试过了,我知道这不是正确的方法,反正也不行。有人知道如何正确地做到这一点吗Amazon web services 如何在Go AWS SDK v2中使用IAM用户凭据,amazon-web-services,go,sdk,Amazon Web Services,Go,Sdk,我正在动态获取IAM用户的凭据,我想使用我使用程序生成的凭据创建会话/客户端。不是共享凭据方法。通过代码。我试过了,我知道这不是正确的方法,反正也不行。有人知道如何正确地做到这一点吗 staticCred := aws.NewStaticCredentialsProvider(accessKey, secretKey, "") cfg, err := external.LoadDefaultAWSConfig() if err != nil { panic
staticCred := aws.NewStaticCredentialsProvider(accessKey, secretKey, "")
cfg, err := external.LoadDefaultAWSConfig()
if err != nil {
panic("unable to load SDK config, " + err.Error())
}
cfg.Credentials = staticCred
cfg.Region = aws.String("ap-southeast-1")
fmt.Println(cfg)
svc := ssm.New(cfg)
req := svc.StartSessionRequest(&ssm.StartSessionInput{
Target: aws.String(instanceId),
})
fmt.Println(req)
resp, _ := req.Send(context.Background())
if err != nil {
log.Fatalf("error sending ssm request : %v", err)
}
fmt.Println(resp)
您必须等待一段时间,直到凭证真正起作用。顺便说一句,我正在使用Hashicorp Vault制作凭证。 我正在使用 GetCallerIdentityRequest(&sts.GetCallerIdentityInput{}) 检查他们是否还活着。
如果有人对这两个问题都有更好的解决方案,请随时发表意见您想试试这个-我需要使用程序生成的凭据创建一个会话,而不是使用凭据文件或环境变量。