"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > IAM 서비스 액세스를 위해 변수에서 AWS SDK 버전 2로 자격 증명을 전달하는 방법은 무엇입니까?

IAM 서비스 액세스를 위해 변수에서 AWS SDK 버전 2로 자격 증명을 전달하는 방법은 무엇입니까?

2024년 11월 15일에 게시됨
검색:208

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

변수의 자격 증명을 AWS SDK 버전 2로 전달

이 문의는 변수의 자격 증명으로 AWS SDK를 사용하는 것과 관련된 이전 질문과 동일합니다. 그러나 이 경우에는 세션 기능이 제거된 SDK 버전 2가 사용됩니다.

IAM 서비스에 액세스하기 위해 변수에서 얻은 자격 증명으로 새 클라이언트를 설정하려면 다음 함수를 고려하십시오.

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
}

여러 사용자가 동시에 애플리케이션을 사용할 수 있으므로 ENV 파일을 활용하는 것은 비현실적입니다. 그러나 이러한 자격 증명을 클라이언트에 전달하는 방법을 설명하는 문서는 쉽게 제공되지 않을 수 있습니다.

해결책: 정적 자격 증명 공급자

이 문제를 해결하려면 StaticCredentialsProvider를 사용할 수 있습니다. Go V2용 AWS SDK 설명서의 "정적 자격 증명" 섹션에 설명된 대로 활용됩니다.

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

이 수정을 통합하면 자격 증명이 변수에서 SDK로 전달되어 IAM 서비스를 검색하고 사용할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3