AWS를 사용하여 SDK 인증 구성 - AWS SDK for .NET

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS를 사용하여 SDK 인증 구성

AWS 서비스로 개발할 때는 코드가 AWS에서 인증되는 방법을 설정해야 합니다. 환경 및 사용 가능한 AWS 액세스에 따라 AWS 리소스에 대한 프로그래밍 방식의 액세스를 구성할 수 있는 다양한 방법이 있습니다.

SDK에 대한 다양한 인증 방법을 확인하려면 AWS SDK 및 도구 참조 가이드에서 인증 및 액세스를 참조하세요.

이 주제에서는 새 사용자가 로컬에서 개발 중이고, 고용주로부터 인증 방법을 받지 않았으며, 임시 보안 인증 정보를 얻기 위해 AWS IAM Identity Center를 사용한다고 가정합니다. 사용자 환경이 이러한 가정에 해당하지 않는 경우 이 주제의 일부 정보가 사용자에게 적용되지 않거나 일부 정보가 이미 제공되었을 수 있습니다.

이 환경을 구성하려면 몇 가지 단계를 수행해야 하며, 요약하면 다음과 같습니다.

IAM Identity Center 사용 및 구성

IAM Identity Center를 사용하려면 먼저 사용하도록 설정하고 구성해야 합니다. SDK에서 이 작업을 수행하는 방법에 대한 자세한 내용은 AWS SDK 및 도구 참조 가이드IAM Identity Center 인증 항목에 있는 1단계를 참조하세요. 특히 IAM Identity Center를 통한 액세스가 설정되어 있지 않습니다 아래에 있는 필요한 지침을 따르세요.

IAM Identity Center를 사용하도록 SDK를 구성합니다.

IAM Identity Center를 사용하도록 SDK를 구성하는 방법에 대한 정보는 AWS SDK 및 도구 참조 가이드IAM Identity Center 인증에 대한 항목의 2단계에 나와 있습니다. 이 구성을 완료하면 시스템에 다음 요소가 포함되어야 합니다.

  • AWS CLI는 애플리케이션을 실행하기 전에 AWS 액세스 포털 세션을 시작하는 데 사용합니다.

  • SDK에서 참조할 수 있는 구성 값 집합이 있는 [default] 프로필이 포함된 공유 AWS config 파일입니다. 이 파일의 위치를 찾으려면 AWS SDK 및 도구 참조 가이드에서 공유 파일의 위치를 참조하세요. AWS SDK for .NET는 AWS에 요청을 보내기 전에 프로필의 SSO 토큰 공급자를 사용하여 자격 증명을 얻습니다. sso_role_name 값은 IAM 신원 센터 권한 집합에 연결된 IAM 역할로, 애플리케이션에서 사용되는 AWS 서비스 서비스에 대한 액세스를 허용해야 합니다.

    다음 샘플 config 파일은 SSO 토큰 공급자로 설정된 기본 프로필을 보여줍니다. 프로필의 sso_session 설정은 이름이 지정된 sso-session 섹션을 참조합니다. sso-session 섹션에는 AWS 액세스 포털 세션을 시작하기 위한 설정이 포함되어 있습니다.

    [default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://provided-domain.awsapps.com/start sso_registration_scopes = sso:account:access
중요

AWS IAM Identity Center를 인증에 사용 중인 경우 SSO 확인이 작동하려면 애플리케이션이 다음 NuGet 패키지를 참조해야 합니다.

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

이러한 패키지를 참조하지 않으면 런타임 예외가 발생합니다.

AWS 액세스 포털 세션 시작

AWS 서비스에 액세스하는 애플리케이션을 실행하기 전에 IAM Identity Center 인증을 사용하여 보안 인증을 확인하려면 활성 AWS 액세스 포털 세션이 있어야 합니다. 구성된 세션 길이에 따라 결국 액세스가 만료되고 SDK에 인증 오류가 발생합니다. AWS 액세스 포털에 로그인하려면 AWS CLI에서 다음 명령을 실행합니다.

aws sso login

기본 프로필이 설정되어 있으므로 --profile 옵션으로 명령을 호출할 필요가 없습니다. SSO 토큰 공급자 구성에서 명명된 프로필을 사용하는 경우 aws sso login --profile named-profile 명령을 사용합니다.

이미 활성 세션이 있는지 테스트하려면 다음 AWS CLI 명령을 실행합니다.

aws sts get-caller-identity

이 명령에 대한 응답은 공유 config 파일에 구성된 IAM Identity Center 계정 및 권한 집합을 보고해야 합니다.

참고

이미 활성 AWS 액세스 포털 세션이 있고 aws sso login을 실행하는 경우 보안 인증 정보를 제공하지 않아도 됩니다.

로그인 과정에서 데이터 AWS CLI 액세스를 허용하라는 메시지가 표시될 수 있습니다. AWS CLI는 Python용 SDK를 기반으로 구축되므로 권한 메시지에는 botocore 이름의 변형이 포함될 수 있습니다.

추가 정보

  • 개발 환경에서 IAM Identity Center 및 SSO를 사용하는 방법에 대한 추가 정보는 고급 인증섹션의 Single Sign-On를 참조하세요. 이 정보에는 대체 방법 및 고급 방법과 이러한 방법을 사용하는 방법을 보여주는 자습서가 포함되어 있습니다.

  • 프로필 및 환경 변수 사용과 같은 SDK 인증에 대한 자세한 옵션은 AWS SDK 및 도구 참조 가이드구성 장을 참조하세요.

  • 모범 사례에 대해 자세히 알아보려면 IAM 사용 설명서에서 IAM의 보안 모범 사례를 참조하세요.

  • 단기 AWS 보안 인증 정보를 만들려면 IAM 사용 설명서에서 임시 보안 인증 정보를 참조하세요.

  • 다른 보안 인증 공급자에 대해 알아보려면 AWS SDK 및 도구 참조 가이드에서 표준화된 보안 인증 공급자를 참조하세요.