AWS SDKs 및 도구를 사용한 인증 및 액세스 - AWS SDKs 및 도구

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

AWS SDKs 및 도구를 사용한 인증 및 액세스

AWS SDK 애플리케이션을 개발하거나 사용할 AWS 도구를 사용하는 AWS 서비스경우 코드 또는 도구가 인증되는 방법을 설정해야 합니다 AWS. 코드가 실행되는 환경과 사용 가능한 액세스에 따라 다양한 방식으로 AWS 리소스에 대한 프로그래밍 방식 AWS 액세스를 구성할 수 있습니다.

아래 옵션은 자격 증명 공급자 체인의 일부입니다. 즉, 그에 따라 공유 AWS configcredentials 파일을 구성하면 AWS SDK 또는 도구가 해당 인증 방법을 자동으로 검색하고 사용합니다.

애플리케이션 코드를 인증할 메서드 선택

애플리케이션에서 수행한 호출을 인증할 메서 AWS 드를 선택합니다.

코드가 실행되면 애플리케이션에서 자격 AWS증명을 자동으로 사용할 수 있습니다. 예를 들어 애플리케이션이 Amazon Elastic Compute Cloud에서 호스팅되고 해당 리소스와 연결된 IAM 역할이 있는 경우 자격 증명이 애플리케이션에 자동으로 제공됩니다. 마찬가지로 Amazon ECS 또는 Amazon EKS 컨테이너를 사용하는 경우 SDK의 자격 증명 공급자 체인을 통해 컨테이너 내에서 실행되는 코드에서 IAM 역할에 대해 설정된 자격 증명을 자동으로 가져올 수 있습니다.

IAM 역할을 사용하여 Amazon EC2에 배포된 애플리케이션 인증 - Amazon EC2 인스턴스에서 IAM 역할을 사용하여 사용자 애플리케이션을 안전하게 실행합니다.

Lambda 함수를 생성할 때 Lambda는 최소한의 권한으로 실행 역할을 생성합니다. 그런 다음 AWS SDK 또는 도구는 Lambda 실행 환경을 통해 런타임 시 Lambda에 연결된 IAM 역할을 자동으로 사용합니다.

작업에 IAM 역할을 사용합니다. 태스크 역할을 생성하고 Amazon ECS 태스크 정의에서 해당 역할을 지정해야 합니다. 그러면 AWS SDK 또는 도구는 Amazon ECS 메타데이터를 통해 런타임에 작업에 할당된 IAM 역할을 자동으로 사용합니다.

Amazon EKS Pod Identity를 사용하는 것이 좋습니다.

참고: 서비스 계정에 대한 IAM 역할(IRSA)이 고유한 요구 사항에 더 적합할 수 있다고 생각되면 Amazon EKS 사용 설명서의 EKS Pod Identity 및 IRSA 비교를 참조하세요.

CodeBuild에 대한 자격 증명 기반 정책 사용을 참조하세요.

에 대한 전용 가이드를 참조하세요 AWS 서비스. 에서 코드를 실행하면 SDK 자격 증명 공급자 체인 AWS이 자동으로 자격 증명을 가져오고 새로 고칠 수 있습니다.

액세스가 필요한 모바일 애플리케이션 또는 클라이언트 기반 웹 애플리케이션을 생성하는 경우 AWS웹 자격 증명 연동을 사용하여 임시 AWS 보안 자격 증명을 동적으로 요청하도록 앱을 빌드합니다.

웹 ID 페더레이션을 사용하면 사용자 정의 로그인 코드를 생성하거나 자신의 사용자 보안 인증을 관리할 필요가 없습니다. 대신에, 앱 사용자는 Login with Amazon, Facebook, Google 또는 다른 OpenID Connect(OIDC)호환 IdP와 같은 널리 알려진 외부 ID 제공업체(idP)를 사용해 로그인할 수 있습니다. 인증 토큰을 받은 다음 해당 토큰을의 리소스를 사용할 권한이 있는 IAM 역할에 매핑 AWS 되는의 임시 보안 자격 증명으로 교환할 수 있습니다 AWS 계정.

SDK 또는 도구에 맞게 이를 구성하는 방법을 알아보려면 웹 자격 증명 또는 OpenID Connect를 사용하여 역할을 수임하여 인증 AWS SDKs 및 도구을 참조하십시오.

모바일 애플리케이션의 경우 Amazon Cognito를 사용하는 것이 좋습니다. Amazon Cognito는 ID 브로커로 활동하며 사용자를 대신하여 상당한 페더레이션을 합니다. 자세한 정보는 IAM 사용 설명서모바일 앱용 Amazon Cognito를 참조하십시오.

를 사용하는 것이 좋습니다IAM Identity Center를 사용하여 AWS SDK 및 도구 인증.

보안 모범 사례로 IAM Identity Center AWS Organizations 와 함께를 사용하여 모든에서 액세스를 관리하는 것이 좋습니다 AWS 계정. 에서 사용자를 생성하거나 AWS IAM Identity Center, Microsoft Active Directory를 사용하거나, SAML 2.0 ID 제공업체(IdP)를 사용하거나, IdP를에 개별적으로 페더레이션할 수 있습니다 AWS 계정. 사용자 리전에서 Identity Center를 지원하는지 확인하려면 Amazon Web Services 일반 참조.의 AWS IAM Identity Center 엔드포인트 및 할당량을 참조하십시오.

(권장) 대상 역할에에 sts:AssumeRole 대한 권한이 있는 최소 권한의 IAM 사용자를 생성합니다. 그런 다음 해당 사용자에 대한 source_profile 설정을 사용하여 역할을 수임하도록 프로필을 구성합니다.

환경 변수 또는 공유 AWS credentials 파일을 통해 임시 IAM 자격 증명을 사용할 수도 있습니다. 단기 자격 증명을 사용하여 AWS SDKs 및 도구 인증을(를) 참조하세요.

참고: 샌드박스 또는 학습 환경에서만를 고려할 수 있습니다 장기 자격 증명을 사용하여 AWS SDKs 및 도구 인증.

예: 단원을 참조하십시오IAM Roles Anywhere를 사용하여 AWS SDKs 및 도구 인증. IAM Roles Anywhere를 사용하여 외부에서 실행되는 서버, 컨테이너 및 애플리케이션과 같은 워크로드에 대해 IAM에서 임시 보안 자격 증명을 얻을 수 있습니다 AWS. IAM Roles Anywhere를 사용하려면 워크로드에 X.509 인증서를 사용해야 합니다.

프로세스 보안 인증 제공자를 사용하여 런타임에 자격 증명을 자동으로 검색합니다. 이러한 시스템은 헬퍼 도구 또는 플러그인을 사용하여 자격 증명을 얻고를 사용하여 백그라운드에서 IAM 역할을 수임할 수 있습니다sts:AssumeRole.

를 통해 주입된 임시 자격 증명을 사용합니다 AWS Secrets Manager. 수명이 짧은 액세스 키를 얻는 옵션은 IAM 사용 설명서임시 보안 자격 증명 요청을 참조하세요. 이러한 임시 자격 증명을 저장하는 옵션은 섹션을 참조하세요AWS 액세스 키.

이러한 자격 증명을 사용하여 프로덕션 보안 암호 또는 수명이 긴 역할 기반 자격 증명을 저장할 수 있는 Secrets Manager에서 더 광범위한 애플리케이션 권한을 안전하게 검색할 수 있습니다.

자격 증명 획득에 대한 최상의 지침은 타사 공급자가 작성한 설명서를 참조하세요.

예: 환경 변수와 임시 AWS STS 자격 증명을 사용합니다.

아니요: 암호화된 보안 암호 관리자(마지막 수단)에 저장된 정적 액세스 키를 사용합니다.

인증 방법

AWS 환경 내에서 실행되는 코드에 대한 인증 방법

코드가 실행되면 애플리케이션에서 자격 AWS증명을 자동으로 사용할 수 있습니다. 예를 들어 애플리케이션이 Amazon Elastic Compute Cloud에서 호스팅되고 해당 리소스와 연결된 IAM 역할이 있는 경우 자격 증명이 애플리케이션에 자동으로 제공됩니다. 마찬가지로 Amazon ECS 또는 Amazon EKS 컨테이너를 사용하는 경우 SDK의 자격 증명 공급자 체인을 통해 컨테이너 내에서 실행되는 코드에서 IAM 역할에 대해 설정된 자격 증명을 자동으로 가져올 수 있습니다.

웹 기반 ID 제공자를 통한 인증 - 모바일 혹은 클라이언트 기반 웹 애플리케이션

액세스가 필요한 모바일 애플리케이션 또는 클라이언트 기반 웹 애플리케이션을 생성하는 경우 AWS웹 자격 증명 연동을 사용하여 임시 AWS 보안 자격 증명을 동적으로 요청하도록 앱을 빌드합니다.

웹 ID 페더레이션을 사용하면 사용자 정의 로그인 코드를 생성하거나 자신의 사용자 보안 인증을 관리할 필요가 없습니다. 대신에, 앱 사용자는 Login with Amazon, Facebook, Google 또는 다른 OpenID Connect(OIDC)호환 IdP와 같은 널리 알려진 외부 ID 제공업체(idP)를 사용해 로그인할 수 있습니다. 인증 토큰을 받은 다음 해당 토큰을의 리소스를 사용할 권한이 있는 IAM 역할에 매핑 AWS 되는의 임시 보안 자격 증명으로 교환할 수 있습니다 AWS 계정.

SDK 또는 도구에 맞게 이를 구성하는 방법을 알아보려면 웹 자격 증명 또는 OpenID Connect를 사용하여 역할을 수임하여 인증 AWS SDKs 및 도구을 참조하십시오.

모바일 애플리케이션의 경우 Amazon Cognito를 사용하는 것이 좋습니다. Amazon Cognito는 ID 브로커로 활동하며 사용자를 대신하여 상당한 페더레이션을 합니다. 자세한 정보는 IAM 사용 설명서모바일 앱용 Amazon Cognito를 참조하십시오.

로컬에서 실행되는 코드에 대한 인증 방법(에 없음 AWS)

액세스 관리에 대한 추가 정보

IAM 사용 설명서에는 AWS 리소스에 대한 액세스를 안전하게 제어하는 방법에 대한 다음 정보가 나와 있습니다.

Amazon Web Services 일반 참조에는 다음에 대한 기본 사항이 있습니다.

액세스를 위한 IAM Identity Center 신뢰할 수 있는 자격 증명 전파(TIP) 플러그인 AWS 서비스

  • TIP 플러그인을 사용하여 액세스 AWS 서비스 - 신뢰할 수 있는 자격 증명 전파를 지원하는 Amazon Q Business 또는 기타 서비스용 애플리케이션을 생성하고 AWS SDK for Java 또는를 사용하는 경우 AWS SDK for JavaScript간소화된 권한 부여 환경을 위해 TIP 플러그인을 사용할 수 있습니다.

AWS Builder ID

는 이미 소유하거나 생성하려는 모든 AWS 계정 를 AWS Builder ID 보완합니다. 는 사용자가 생성하는 AWS 리소스의 컨테이너 AWS 계정 역할을 하고 해당 리소스에 대한 보안 경계를 제공하지만는 사용자를 개인으로 AWS Builder ID 나타냅니다. 로 로그인하여 Amazon Q 및 Amazon CodeCatalyst와 같은 개발자 도구 및 서비스에 AWS Builder ID 액세스할 수 있습니다.