기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS SDK for C++ 자격 증명 공급자 사용
를 AWS 사용하여에 요청하기 위해 SDK는 AWS SDK for C++에서 발급한 암호화 서명 자격 증명을 사용합니다 AWS. 런타임 시 SDK는 여러 위치를 확인하여 자격 증명의 구성 값을 검색합니다.
를 사용한 인증은 코드베이스 외부에서 처리할 AWS 수 있습니다. SDK는 자격 증명 공급자 체인을 사용하여 많은 인증 방법을 자동으로 감지, 사용 및 새로 고칠 수 있습니다.
프로젝트의 AWS 인증을 시작하기 위한 안내 옵션은 SDK 및 도구 참조 안내서의 인증 및 액세스를 참조하세요. AWS SDKs
자격 증명 공급자 체인
클라이언트를 구성할 때 자격 증명 공급자를 명시적으로 지정하지 않으면 C++용 SDK는 자격 증명을 제공할 수 있는 일련의 위치를 확인하는 자격 증명 공급자 체인을 사용합니다. SDK가 이러한 위치 중 하나에서 자격 증명을 찾으면 검색이 중지됩니다.
자격 증명 검색 순서
모든 SDK에는 AWS 서비스에 요청하는 데 사용할 유효한 보안 인증을 얻기 위해 확인하는 일련의 장소(또는 소스)가 있습니다. 유효한 보안 인증 정보를 찾은 후에는 검색이 중지됩니다. 이러한 체계적인 검색을 자격 증명 공급자 체인이라고 합니다.
체인의 각 단계마다 값을 설정하는 다양한 방법이 있습니다. 코드에서 직접 값을 설정하는 것이 항상 우선하며, 환경 변수로를 설정한 다음 공유 AWS config
파일에서를 설정합니다. 자세한 내용은AWS SDK 및 도구 참조 안내서의 Precedence of settings를 참조하세요.
SDK는 공유 AWS config
및 credentials
파일의 [default]
프로필에서 자격 증명을 로드하려고 시도합니다. AWS_PROFILE
환경 변수를 사용하여를 사용하는 대신 SDK가 로드할 명명된 프로파일을 선택할 수 있습니다[default]
. config
및 credentials
파일은 AWS SDKs 및 도구에서 공유됩니다. AWS SDKs 및 도구 참조 가이드에는 AWS SDKs 및에서 사용하는 SDK 구성 설정에 대한 정보가 있습니다 AWS CLI. 공유 AWS config
파일을 통해 SDK를 구성하는 방법에 대한 자세한 내용은 공유 구성 및 자격 증명 파일을 참조하세요. 환경 변수 설정을 통해 SDK를 구성하는 방법에 관해 자세히 알아보려면 Environment variables support 단원을 참조하세요.
를 인증하기 위해 C++용 SDK AWS는 자격 증명 공급자를 다음 순서로 확인합니다.
-
AWS 액세스 키(임시 및 장기 자격 증명)
SDK는
AWS_ACCESS_KEY_ID
및AWS_SECRET_ACCESS_KEY
,AWS_SESSION_TOKEN
환경 변수 또는 공유 AWScredentials
파일에서 자격 증명을 로드하려고 시도합니다.-
이 공급자 구성에 대한 지침은 SDK 및 도구 참조 안내서의 AWS 액세스 키를 참조하세요. AWS SDKs
-
이 공급자의 SDK 구성 속성에 대한 자세한 내용은 SDK 및 도구 참조 안내서의 AWS 액세스 키를 참조하세요. AWS SDKs
-
-
AWS STS 웹 자격 증명
액세스가 필요한 모바일 애플리케이션 또는 클라이언트 기반 웹 애플리케이션을 생성할 때 AWS AWS Security Token Service (AWS STS)는 퍼블릭 자격 증명 공급자(IdP)를 통해 인증된 페더레이션 사용자를 위한 임시 보안 자격 증명 세트를 반환합니다.
-
프로필에서 이를 지정하면 SDK 또는 도구가
AssumeRoleWithWebIdentity
API 메서드를 사용하여 AWS STS 임시 자격 증명을 검색하려고 시도합니다. 이 방법에 대한 자세한 내용은 API 참조의 AssumeRoleWithWebIdentity를 참조하세요. AWS Security Token Service -
이 공급자 구성에 대한 지침은 SDK 및 도구 참조 안내서의 웹 자격 증명 또는 OpenID Connect를 사용한 페더레이션을 참조하세요. AWS SDKs
-
이 공급자의 SDK 구성 속성에 대한 자세한 내용은 SDK 및 도구 참조 안내서의 역할 자격 증명 공급자 수임을 참조하세요. AWS SDKs
-
-
IAM Identity Center
IAM Identity Center를 사용하여 인증하는 경우 C++용 SDK가 AWS CLI 명령를 실행하여 설정한 Single Sign-On 토큰을 사용하는 경우입니다
aws sso login
. SDK는 IAM Identity Center가 유효한 토큰으로 교환한 임시 자격 증명을 사용합니다. 그러면 SDK는를 호출할 때 임시 자격 증명을 사용합니다 AWS 서비스. 이 프로세스에 대한 자세한 내용은 SDK 및 도구 참조 안내서의에 대한 SDK 자격 증명 확인 이해를 AWS 서비스 AWS SDKs.-
이 공급자 구성에 대한 지침은 SDK 및 도구 참조 안내서의 IAM Identity Center 인증을 참조하세요. AWS SDKs
-
이 공급자의 SDK 구성 속성에 대한 자세한 내용은 SDK 및 도구 참조 안내서의 IAM Identity Center 보안 인증 공급자를 참조하세요. AWS SDKs
-
-
외부 프로세스 공급자
이 공급자는 온프레미스 자격 증명 저장소에서 자격 증명을 검색하거나 온프레미스 ID 제공업체와 통합하는 등 사용자 지정 구현을 제공하는 데 사용할 수 있습니다.
-
이 공급자를 구성하는 한 가지 방법에 대한 지침은 SDK 및 도구 참조 안내서의 IAM Roles Anywhere를 참조하세요. AWS SDKs
-
이 공급자의 SDK 구성 속성에 대한 자세한 내용은 SDK 및 도구 참조 안내서의 프로세스 자격 증명 공급자를 참조하세요. AWS SDKs
-
-
Amazon ECS 및 Amazon EKS 컨테이너 자격 증명
Amazon Elastic Container Service 태스크와 Kubernetes 서비스 계정에는 IAM 역할이 연결될 수 있습니다. IAM 역할에 부여된 권한은 포드의 작업 또는 컨테이너에서 실행되는 컨테이너에서 수임합니다. 이 역할을 사용하면 SDK for C++ 애플리케이션 코드(컨테이너에 있음)가 다른 코드를 사용할 수 있습니다 AWS 서비스.
SDK는 Amazon ECS 및 Amazon EKS에서 자동으로 설정할 수 있는
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
또는AWS_CONTAINER_CREDENTIALS_FULL_URI
환경 변수에서 자격 증명을 검색하려고 시도합니다.-
Amazon ECS에 대해이 역할을 설정하는 방법에 대한 자세한 내용은 Amazon Elastic Container Service 개발자 안내서의 Amazon ECS 태스크 IAM 역할을 참조하세요.
-
Amazon EKS 설정 정보는 Amazon EKS 사용 설명서의 Amazon EKS Pod Identity Agent 설정을 참조하세요.
-
이 공급자의 SDK 구성 속성에 대한 자세한 내용은 SDK 및 도구 참조 안내서의 컨테이너 자격 증명 공급자를 참조하세요. AWS SDKs
-
-
Amazon EC2 인스턴스 메타데이터 서비스
IAM 역할을 생성하여 인스턴스에 연결합니다. 인스턴스의 SDK for C++ 애플리케이션은 인스턴스 메타데이터에서 역할이 제공한 자격 증명을 검색하려고 시도합니다.
-
이 역할을 설정하고 메타데이터, Amazon EC2용 IAM 역할 및 인스턴스 메타데이터 작업에 대한 자세한 내용은 Amazon EC2 사용 설명서에서 확인하세요. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
-
이 공급자의 SDK 구성 속성에 대한 자세한 내용은 SDK 및 도구 참조 안내서의 IMDS 자격 증명 공급자를 참조하세요. AWS SDKs
-
자격 증명 공급자 체인은 GitHub의 AWS SDK for C++ 소스 코드AWSCredentialsProviderChain
새 사용자가 시작할 수 있도록 권장 접근 방식을 따른 경우 시작하기 주제 를 사용하여 C++용 AWS SDK 인증 AWS 중에 AWS IAM Identity Center 인증을 설정합니다. 상황에 따라 다른 인증 방법이 유용할 수 있습니다. 보안 위험을 방지하려면 항상 단기 보안 인증을 사용하는 것이 좋습니다. 다른 인증 방법 절차에 대해서는AWS SDK 및 도구 참조 안내서의 Authentication and access를 참조하세요.
명시적 자격 증명 공급자
자격 증명 공급자 체인을 사용하여 인증 방법을 감지하는 대신 SDK에서 사용해야 하는 특정 자격 증명 공급자를 지정할 수 있습니다. 서비스 클라이언트의 생성자에 자격 증명을 제공하여이 작업을 수행할 수 있습니다.
다음 예시에서는 체인을 사용하는 대신 임시 액세스 자격 증명을 직접 제공하여 Amazon Simple Storage Service 클라이언트를 생성합니다.
SDKOptions options; Aws::InitAPI(options); { const auto cred_provider = Aws::MakeShared<Auth::SimpleAWSCredentialsProvider>("TestAllocationTag", "awsAccessKeyId", "awsSecretKey", "sessionToken"); S3Client client{cred_provider}; } Aws::ShutdownAPI(options);
자격 증명 캐싱
SDK는 자격 증명 및 SSO 토큰과 같은 기타 자격 증명 유형을 캐시합니다. 기본적으로 SDK는 첫 번째 요청 시 자격 증명을 로드하고 캐싱한 다음 만료에 가까워지면 다른 요청 중에 자격 증명을 새로 고치려고 시도하는 지연 캐시 구현을 사용합니다. 동일한에서 생성된 클라이언트는 캐시를 Aws::Client::ClientConfiguration