애플리케이션에서 자격 증명 및 프로필에 액세스 - AWS SDK for .NET (V4)

버전 4(V4) AWS SDK for .NET 가 릴리스되었습니다.

변경 사항 해제 및 애플리케이션 마이그레이션에 대한 자세한 내용은 마이그레이션 주제를 참조하세요.

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

애플리케이션에서 자격 증명 및 프로필에 액세스

자격 증명을 사용하는 데 선호되는 방법은에 설명된 대로가 사용자를 대신하여 자격 증명을 AWS SDK for .NET 찾고 검색할 수 있도록 허용하는 것입니다보안 인증 정보 및 프로파일 확인.

그러나 프로필과 자격 증명을 적극적으로 검색한 다음 AWS 서비스 클라이언트를 생성할 때 해당 자격 증명을 명시적으로 사용하도록 애플리케이션을 구성할 수도 있습니다.

프로필과 자격 증명을 미리 검색하려면 Amazon.Runtime.CredentialManagement 네임스페이스의 클래스를 사용하세요.

  • 자격 AWS 증명 파일 형식(기본 위치의 공유 AWS 자격 증명 파일 또는 사용자 지정 자격 증명 파일)을 사용하는 파일에서 프로파일을 찾으려면 SharedCredentialsFile 클래스를 사용합니다. 이 텍스트에서는 간결하게 설명하기 위해 이 형식의 파일을 간단히 보안 인증 파일이라고 부르기도 합니다.

  • SDK 스토어에서 프로필을 찾으려면 NetSDKCredentialsFile 클래스를 사용하세요.

  • 클래스 속성의 구성에 따라 보안 인증 파일과 SDK 스토어에서 모두 검색하려면 CredentialProfileStoreChain 클래스를 사용하세요.

    이 클래스를 사용하여 프로필을 찾을 수 있습니다. 클래스를 사용하는 대신이 AWSCredentialsFactory 클래스를 사용하여 자격 AWS 증명을 직접 요청할 수도 있습니다(다음 설명 참조).

  • 프로필에서 다양한 유형의 보안 인증을 검색하거나 생성하려면 AWSCredentialsFactory 클래스를 사용하세요.

다음 섹션에는 이러한 클래스의 예가 나와 있습니다.

클래스 CredentialProfileStoreChain의 예

TryGetAWSCredentials 또는 TryGetProfile 메서드를 사용하여 CredentialProfileStoreChain 클래스에서 보안 인증 및 프로필을 가져올 수 있습니다. 다음과 같이 클래스의 ProfilesLocation 속성은 메서드의 동작을 결정합니다.

  • ProfilesLocation가 null이거나 비어 있는 경우 플랫폼이 지원하는 경우 SDK 스토어를 검색한 다음 기본 위치에서 공유 AWS 자격 증명 파일을 검색합니다.

  • ProfilesLocation 속성에 값이 포함된 경우 속성에 지정된 보안 인증 파일을 검색하세요.

SDK 스토어 또는 공유 자격 증명 파일에서 AWS 자격 증명 가져오기

이 예제는 CredentialProfileStoreChain 클래스를 사용하여 보안 인증을 가져온 다음 보안 인증을 사용하여 AmazonS3Client 객체를 생성하는 방법을 보여줍니다. 보안 인증 정보는 SDK 스토어에서 가져오거나 기본 위치의 공유 AWS 보안 인증 파일에서 가져올 수 있습니다.

이 예제에서는 Amazon.Runtime.AWSCredentials 클래스도 사용합니다.

var chain = new CredentialProfileStoreChain(); AWSCredentials awsCredentials; if (chain.TryGetAWSCredentials("some_profile", out awsCredentials)) { // Use awsCredentials to create an Amazon S3 service client using (var client = new AmazonS3Client(awsCredentials)) { var response = await client.ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); } }

SDK 스토어 또는 공유 AWS 자격 증명 파일에서 프로필 가져오기

이 예제에서는 CredentialProfileStoreChain 클래스를 사용하여 프로필을 가져오는 방법을 보여 줍니다. 자격 증명은 SDK 스토어 또는 기본 위치의 공유 AWS 자격 증명 파일에서 가져올 수 있습니다.

이 예제에서는 CredentialProfile 클래스도 사용합니다.

var chain = new CredentialProfileStoreChain(); CredentialProfile basicProfile; if (chain.TryGetProfile("basic_profile", out basicProfile)) { // Use basicProfile }

사용자 지정 보안 인증 파일에서 보안 인증 정보 가져오기

이 예제에서는 CredentialProfileStoreChain 클래스를 사용하여 보안 인증을 가져오는 방법을 보여 줍니다. 자격 증명은 AWS 자격 증명 파일 형식을 사용하지만 대체 위치에 있는 파일에서 가져옵니다.

이 예제에서는 Amazon.Runtime.AWSCredentials 클래스도 사용합니다.

var chain = new CredentialProfileStoreChain("c:\\Users\\sdkuser\\customCredentialsFile.ini"); AWSCredentials awsCredentials; if (chain.TryGetAWSCredentials("basic_profile", out awsCredentials)) { // Use awsCredentials to create an AWS service client }

클래스 SharedCredentialsFile 및 AWSCredentialsFactory의 예

SharedCredentialsFile 클래스를 사용하여 AmazonS3Client 생성

이 예제에서는 공유 AWS 자격 증명 파일에서 프로필을 찾고, 프로필에서 자격 증명을 생성한 AWS 다음, 자격 증명을 사용하여 AmazonS3Client 객체를 생성하는 방법을 보여줍니다. 이 예제에서는 SharedCredentialsFile 클래스를 사용합니다.

이 예제에서는 CredentialProfile 클래스 및 Amazon.Runtime.AWSCredentials 클래스도 사용합니다.

CredentialProfile basicProfile; AWSCredentials awsCredentials; var sharedFile = new SharedCredentialsFile(); if (sharedFile.TryGetProfile("basic_profile", out basicProfile) && AWSCredentialsFactory.TryGetAWSCredentials(basicProfile, sharedFile, out awsCredentials)) { // use awsCredentials to create an Amazon S3 service client using (var client = new AmazonS3Client(awsCredentials, basicProfile.Region)) { var response = await client.ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); } }
참고

NetSDKCredentialsFile 클래스를 동일한 방식으로 사용할 수 있습니다. 단, SharedCredentialsFile 객체 대신 새 NetSDKCredentialsFile 객체를 인스턴스화한다는 점이 다릅니다.