AWS를 사용한 SDK 인증 - AWS SDK루비를 위해

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

AWS를 사용한 SDK 인증

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

인증 방법을 선택하고 SDK에 맞게 구성하려면 AWS SDK 및 도구 참조 가이드Authentication and access를 참조하세요.

현지에서 개발 중이고 고용주로부터 인증 방법을 제공하지 않은 신규 사용자는 AWS IAM Identity Center 설정하는 것이 좋습니다. 이 방법에는 구성을 쉽게 하고 AWS 액세스 포털에 정기적으로 로그인하기 위한 AWS CLI 설치가 포함됩니다. 이 방법을 선택하는 경우 AWS SDK 및 도구 참조 가이드IAM Identity Center authentication 절차를 완료한 후 환경에 다음 요소가 포함되어야 합니다.

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

  • SDK에서 참조할 수 있는 구성 값 세트가 포함된 [default] 프로필이 있는 shared AWSconfig file입니다. 이 파일의 위치를 찾으려면 AWS SDK 및 도구 참조 가이드에서 공유 파일의 위치를 참조하세요.

  • 공유 config 파일은 region 설정을 지정합니다. 이는 SDK가 AWS 요청에 사용하는 기본 AWS 리전을 설정합니다. 이 리전은 사용할 리전이 지정되지 않은 SDK 서비스 요청에 사용됩니다.

  • SDK는 AWS에 요청을 보내기 전에 프로필의 SSO token provider configuration을 사용하여 보안 인증을 얻습니다. sso_role_name 값은 IAM Identity Center 권한 집합에 연결된 IAM 역할로, 애플리케이션에서 사용되는 AWS services에 대한 액세스를 허용합니다.

    다음 샘플 config 파일은 SSO 토큰 공급자 구성으로 설정된 기본 프로필을 보여줍니다. 프로필의 sso_session 설정은 이름이 지정된 sso-session section을 참조합니다. 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 SDK for Ruby는 IAM Identity Center 인증을 사용하기 위해 애플리케이션에 추가 패키지(SSOSSOOIDC 등)를 추가할 필요가 없습니다.

AWS 액세스 포털 세션 시작

AWS services에 액세스하는 애플리케이션을 실행하기 전에 SDK가 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는 SDK for Python를 기반으로 구축되므로 권한 메시지에는 botocore 이름의 변형이 포함될 수 있습니다.

세부 인증 정보

인간 사용자(인간 ID라고도 함)는 애플리케이션의 사용자, 관리자, 개발자, 운영자 및 소비자입니다. AWS 환경 및 애플리케이션에 액세스하려면 ID가 있어야 합니다. 조직의 구성원인 인간 사용자, 즉 개발자는 작업 인력 ID라고도 합니다.

AWS에 액세스할 때 임시 보안 인증을 사용합니다. 임시 보안 인증을 제공하는 역할을 가정하여 인간 사용자가 AWS 계정에 페더레이션 액세스를 제공하도록 ID 공급자를 사용할 수 있습니다. 중앙 액세스 관리를 위해 AWS IAM Identity Center(IAM Identity Center)을 사용하여 계정에 대한 액세스 권한과 해당 계정 내 권한을 관리하는 것이 좋습니다. 더 많은 대안을 보려면 다음을 참조하세요.