Pasar credenciales de variables a AWS SDK versión 2
Esta consulta se hace eco de una pregunta anterior sobre el uso de AWS SDK con credenciales de variables. Sin embargo, en este caso, se utiliza la versión 2 del SDK, que elimina la función Sesión.
Para establecer un nuevo cliente con credenciales obtenidas de variables para acceder al servicio IAM, considere la siguiente función:
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
}
Dado que varios usuarios pueden utilizar la aplicación simultáneamente, utilizar archivos ENV no es práctico. Sin embargo, es posible que la documentación que explique cómo pasar estas credenciales a un cliente no esté disponible.
Solución: proveedor de credenciales estáticas
Para resolver este problema, StaticCredentialsProvider puede ser utilizado, como se describe en la sección "Credenciales estáticas" de la documentación de AWS SDK para Go V2:
cfg, err := config.LoadDefaultConfig(ctx, config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("AKID", "SECRET_KEY", "TOKEN")))
Al incorporar esta modificación, se pueden pasar credenciales de variables al SDK, lo que permite la recuperación y el uso de servicios IAM.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3