"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como passar credenciais de variáveis ​​para AWS SDK versão 2 para acesso ao serviço IAM?

Como passar credenciais de variáveis ​​para AWS SDK versão 2 para acesso ao serviço IAM?

Publicado em 15/11/2024
Navegar:167

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

Passando credenciais de variáveis ​​para o AWS SDK versão 2

Esta consulta ecoa uma pergunta anterior sobre o uso do AWS SDK com credenciais de variáveis. Porém, neste caso, é utilizado o SDK versão 2, o que elimina o recurso Session.

Para estabelecer um novo cliente com credenciais obtidas a partir de variáveis ​​de acesso ao serviço IAM, considere a seguinte função:

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
}

Como vários usuários podem utilizar o aplicativo simultaneamente, a utilização de arquivos ENV é impraticável. No entanto, a documentação que explica como passar essas credenciais para um cliente pode não estar prontamente disponível.

Solução: Static Credentials Provider

Para resolver esse problema, o StaticCredentialsProvider pode ser utilizado, conforme descrito na seção "Credenciais estáticas" da documentação do AWS SDK for Go V2:

cfg, err := config.LoadDefaultConfig(ctx, config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("AKID", "SECRET_KEY", "TOKEN")))

Ao incorporar esta modificação, as credenciais podem ser passadas de variáveis ​​para o SDK, permitindo a recuperação e uso de serviços IAM.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3