AWS SDKRuby용으로 설정하기 - AWS SDK루비를 위해

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

AWS SDKRuby용으로 설정하기

AWS SDKRuby용으로 구성하는 방법을 알아보세요. AWS services로 개발할 때는 코드가 AWS 에서 인증되는 방법을 설정해야 합니다. 또한 사용할 항목을 설정해야 합니다. AWS 리전

보안 인증 공급자 체인

모든 SDKs 사이트에는 요청을 하는 데 사용할 유효한 자격 증명을 얻기 위해 확인하는 일련의 위치 (또는 출처) 가 AWS service있습니다. 유효한 보안 인증 정보를 찾은 후에는 검색이 중지됩니다. 이러한 체계적인 검색을 기본 보안 인증 공급자 체인이라고 합니다.

체인의 각 단계마다 값을 설정하는 다양한 방법이 있습니다. 코드에서 값을 직접 설정하는 것이 항상 우선하며, 환경 변수로 설정, 공유 AWS config 파일에서 설정 순입니다. 자세한 내용은 AWS SDKs및 도구 참조 안내서의 설정 우선 순위를 참조하십시오.

AWS SDKs및 도구 참조 안내서에는 모든 AWS SDKs 및 에서 사용하는 SDK 구성 설정에 대한 정보가 있습니다. AWS CLI공유 AWS config 파일을 SDK 통해 구성하는 방법에 대한 자세한 내용은 공유 구성 및 자격 증명 파일을 참조하십시오. 환경 변수 설정을 SDK 통해 구성하는 방법에 대한 자세한 내용은 환경 변수 지원을 참조하십시오.

인증을 위해 AWS SDK for Ruby는 다음 표에 나열된 순서대로 자격 증명 공급자를 확인합니다. AWS

우선 순위에 따른 보안 인증 공급자 AWS SDKs및 도구 참조 가이드 AWS SDK for Ruby API레퍼런스
AWS 액세스 키 (임시 및 장기 자격 증명) AWS 액세스 키

Aws::Credentials

Aws::SharedCredentials

AWS Security Token Service (AWS STS) 의 웹 ID 토큰 역할 보안 인증 공급자 위임

role_arn, role_session_name, 및 web_identity_token_file 사용

Aws::AssumeRoleWebIdentityCredentials
AWS IAM Identity Center. 이 안내서의 AWS를 사용한 SDK 인증를 참조하세요. IAM아이덴티티 센터 자격 증명 제공업체 Aws::SSOCredentials
신뢰할 수 있는 엔터티 공급자(예: AWS_ROLE_ARN). 이 안내서의 AWS STS 액세스 토큰 생성을 참조하세요. 역할 보안 인증 공급자 위임

role_arnrole_session_name 사용

Aws::AssumeRoleCredentials
프로세스 보안 인증 공급자 프로세스 보안 인증 공급자 Aws::ProcessCredentials
아마존 엘라스틱 컨테이너 서비스 (AmazonECS) 자격 증명 컨테이너 보안 인증 공급자 Aws::ECSCredentials
Amazon Elastic Compute Cloud (AmazonEC2) 인스턴스 프로필 자격 증명 (자격 IMDS 증명 공급자) IMDS자격 증명 공급자 Aws::InstanceProfileCredentials

AWS SDKRuby용 환경 변수가 설정된 경우 공유 AWS config 파일 (일반적으로 at ~/.aws/config) AWS_SDK_CONFIG_OPT_OUT 은 자격 증명을 위해 파싱되지 않습니다.

신규 사용자에게 권장되는 시작하기 접근 방식을 따랐다면 시작하기 항목의 AWS를 사용한 SDK 인증 중에 AWS IAM Identity Center 인증을 설정합니다. 상황에 따라 다른 인증 방법이 유용할 수 있습니다. 보안 위험을 방지하려면 항상 단기 보안 인증을 사용하는 것이 좋습니다. 다른 인증 방법 절차에 대해서는 도구 참조 안내서의 인증AWS SDKs 및 액세스를 참조하십시오.

AWS STS 액세스 토큰 생성

역할을 가정하려면 일반적으로 액세스할 수 없는 AWS 리소스에 액세스하는 데 사용할 수 있는 일련의 임시 보안 자격 증명을 사용해야 합니다. 이러한 임시 보안 인증은 액세스 키 ID, 보안 액세스 키 및 보안 토큰으로 구성됩니다. Aws::AssumeRoleCredentials 메서드를 사용하여 AWS Security Token Service (AWS STS) 액세스 토큰을 만들 수 있습니다.

다음 예제는 액세스 토큰을 사용하여 Amazon S3 클라이언트 객체를 생성합니다. 여기서 linked::account::arn 는 맡을 역할의 Amazon 리소스 이름 (ARN) session-name 이고 위임된 역할 세션의 식별자입니다.

role_credentials = Aws::AssumeRoleCredentials.new( client: Aws::STS::Client.new, role_arn: "linked::account::arn", role_session_name: "session-name" ) s3 = Aws::S3::Client.new(credentials: role_credentials)

설정 role_arn 또는 role_session_name 공유 AWS config 파일을 대신 사용하여 설정하는 방법에 대한 자세한 내용은 AWS SDKs및 도구 참조 안내서의 역할 자격 증명 공급자 위임을 참조하십시오.

리전 설정

대부분의 AWS services를 사용할 때에는 리전을 설정해야 합니다. AWS SDKfor Ruby는 다음과 같은 순서로 지역을 검색합니다.

region설정에 대한 자세한 내용은 AWS SDKs및 도구 참조 안내서를 참조하십시오 AWS 리전. 이 섹션의 나머지 부분에서는 가장 일반적인 접근 방식부터 시작해 리전을 설정하는 방법을 설명합니다.

공유 config 파일을 사용하여 리전 설정

공유 AWS config 파일에서 region 변수를 설정하여 영역을 설정합니다. 공유 config 파일에 대한 자세한 내용은 및 도구 참조 안내서의 공유 구성 및 자격 증명 파일을 참조하십시오.AWS SDKs

config 파일에서 이 값을 설정하는 예:

[default] region = us-west-2

환경 변수 AWS_SDK_CONFIG_OPT_OUT이 설정되어 있으면 공유 config 파일을 확인하지 않습니다.

환경 변수를 사용하여 리전 설정

AWS_REGION 환경 변수를 설정해 리전을 설정합니다.

Linux 또는 macOS와 같은 Unix 기반 시스템에서 export 명령을 사용하여 이 변수를 설정합니다. 다음 예제는 리전을 us-west-2로 설정합니다.

export AWS_REGION=us-west-2

Windows에서 이러한 변수를 설정하려면 set 명령을 사용합니다. 다음 예제는 리전을 us-west-2로 설정합니다.

set AWS_REGION=us-west-2

Aws.config로 리전 설정

Aws.config 해시에 region 값을 추가해 리전을 설정합니다. 다음 예제에서는 us-west-1 리전을 사용하도록 Aws.config 해시를 업데이트합니다.

Aws.config.update({region: 'us-west-1'})

이후에 생성하는 클라이언트나 리소스는 이 리전에 구속됩니다.

클라이언트 또는 리소스 객체에서 리전 설정

AWS 클라이언트 또는 리소스를 생성할 때 지역을 설정하세요. 다음 예제는 us-west-1 리전에서 Amazon S3 리소스 객체를 생성합니다. AWS 리소스에 적합한 지역을 선택하세요. 서비스 클라이언트 객체는 변경할 수 없으므로 요청하는 각 서비스에 대한 새 클라이언트 및 다른 구성을 사용하여 동일한 서비스에 요청을 보낼 새 클라이언트를 만들어야 합니다.

s3 = Aws::S3::Resource.new(region: 'us-west-1')

비표준 엔드포인트 설정

리전은 AWS 요청에 사용할 SSL 엔드포인트를 구성하는 데 사용됩니다. 선택한 리전에서 비표준 엔드포인트를 사용해야 하는 경우 Aws.configendpoint 입력을 추가하세요. 또는 서비스 클라이언트나 리소스 객체를 생성할 때 endpoint:를 설정하세요. 다음 예제는 other_endpoint 엔드포인트에서 Amazon S3 리소스 객체를 생성합니다.

s3 = Aws::S3::Resource.new(endpoint: other_endpoint)

API요청에 대해 선택한 엔드포인트를 사용하고 해당 선택권을 계속 유지하려면 및 도구 참조 가이드의 서비스별 엔드포인트 구성 옵션을 참조하십시오.AWS SDKs