자격 증명 공급자 및 페더레이션 - AWS Identity and Access Management

자격 증명 공급자 및 페더레이션

AWS 외부에서 사용자 자격 증명을 이미 관리하고 있다면, AWS 계정에서 IAM 사용자를 생성하는 대신 ID 제공업체를 사용할 수 있습니다. 자격 증명 공급자(IdP)를 사용하면 AWS 외부의 사용자 자격 증명을 관리할 수 있고 이 외부 사용자 자격 증명에 계정의 AWS 리소스에 대한 사용 권한을 부여할 수 있습니다. 기업 사용자 디렉터리처럼 조직 내에 이미 고유의 자격 증명 시스템이 있다면 이 방법이 유용합니다. 그 밖에 AWS 리소스에 액세스해야 하는 모바일 앱이나 웹 애플리케이션을 개발할 때도 효과적입니다.

외부 IdP는 OIDC(OpenID Connect) 또는 SAML 2.0(Security Assertion Markup Language 2.0)을 사용하여 AWS에 ID 정보를 제공합니다. OIDC는 AWS에서 실행되지 않는 GitHub Actions와 같은 애플리케이션을 AWS 리소스에 연결합니다. 잘 알려진 SAML ID 제공업체의 예로는 Shibboleth 및 Active Directory Federation Services가 있습니다.

참고

보안 모범 사례로서, IAM에서 SAML 페더레이션을 사용하는 대신 외부 SAML ID 제공업체를 사용하여 IAM Identity Center에서 사용자 액세스를 관리하는 것이 좋습니다. IAM 사용자가 필요한 특정 상황에 대한 자세한 내용은 IAM 사용자(역할이 아님)를 생성해야 하는 경우를 참조하세요.

자격 증명 공급자를 사용하면 사용자 지정 로그인 코드를 생성할 필요도, 그리고 자신의 사용자 자격 증명을 관리할 필요도 없습니다. IdP에서 이러한 작업을 대신 수행합니다. 외부 사용자는 IdP를 통해 로그인하고, 이러한 외부 자격 증명에 계정의 AWS 리소스를 사용할 권한을 제공할 수 있습니다. ID 제공업체를 사용하면 애플리케이션에서 사용자 액세스 키 같은 장기 보안 인증을 배포하거나 포함할 필요가 없으므로 AWS 계정을 안전하게 보호할 수 있습니다.

이 안내서에서는 IAM 페더레이션을 다룹니다. 사용 사례는 IAM Identity Center 또는 Amazon Cognito에서 더 효과적으로 지원될 수 있습니다. 다음 요약 및 표는 사용자가 AWS 리소스에 대한 페더레이션 액세스를 얻기 위해 사용할 수 있는 방법에 대한 개요를 제공합니다.

계정 유형 액세스 관리.. 지원되는 ID 소스

IAM Identity Center와의 페더레이션

AWS Organizations에서 관리하는 여러 계정

인력의 인간 사용자

  • SAML 2.0

  • Managed Active Directory

  • Identity Center 디렉터리

IAM과의 페더레이션

단일, 독립 실행형 계정

  • 단기적, 소규모 배포의 인간 사용자

  • 기계 사용자

  • SAML 2.0

  • oidc

Amazon Cognito 자격 증명 풀과의 페더레이션

모두

리소스에 액세스하기 위해 IAM 인증이 필요한 앱 사용자

  • SAML 2.0

  • oidc

  • OAuth 2.0 소셜 ID 제공업체 선택

IAM Identity Center와의 페더레이션

인간 사용자의 중앙 액세스 관리를 위해 IAM Identity Center를 사용하여 계정에 대한 액세스 권한과 해당 계정 내 권한을 관리하는 것이 좋습니다. IAM Identity Center의 사용자에게는 AWS 리소스에 대한 단기 보안 인증이 부여됩니다. Active Directory, 외부 IdP(ID 제공업체) 또는 IAM Identity Center 디렉터리를 사용자 및 그룹의 ID 소스로 사용하여 AWS 리소스에 대한 액세스 권한을 할당할 수 있습니다.

IAM Identity Center는 SAML(Security Assertion Markup Language) 2.0과의 ID 페더레이션을 지원하여 AWS 액세스 포털 내에서 애플리케이션을 사용할 권한이 있는 사용자에게 페더레이션된 Single Sign-On 액세스를 제공합니다. 이후 사용자는 Microsoft 365, SAP Concur, Salesforce와 같은 AWS Management Console 및 타사 애플리케이션을 포함하여 SAML을 지원하는 서비스에 Single Sign-On을 할 수 있습니다.

IAM과의 페더레이션

IAM Identity Center에서 인간 사용자를 관리하는 것이 좋지만, 단기간의 소규모 배포에서는 인간 사용자를 위해 IAM과의 페더레이션 사용자 액세스를 활성화할 수 있습니다. IAM을 사용하면 별도의 SAML 2.0 및 OIDC(Open ID Connect) IdP를 사용하고 페더레이션 사용자 속성을 액세스 제어에 사용할 수 있습니다. IAM을 사용하면 IDP에서 AWS로 비용 센터, 제목 또는 로케일과 같은 사용자 속성을 전달하고, 이러한 속성을 기반으로 세분화된 액세스 권한을 구현할 수 있습니다.

워크로드란 애플리케이션이나 백엔드 프로세스같이 비즈니스 가치를 창출하는 리소스 및 코드 모음을 말합니다. 워크로드에서 AWS 서비스, 애플리케이션, 운영 도구 및 구성 요소에 요청을 보내려면 IAM ID가 필요할 수 있습니다. 이러한 자격 증명에는 AWS 환경에서 실행되는 컴퓨터가 포함됩니다(예: Amazon EC2 인스턴스 또는 AWS Lambda 함수).

또한 액세스 권한이 필요한 외부 당사자를 위해 시스템 자격 증명을 관리할 수도 있습니다. 시스템 자격 증명에 대한 액세스 권한을 부여하기 위해 IAM 역할을 사용할 수 있습니다. IAM 역할에는 특정 권한이 있으며 역할 세션과 함께 임시 보안 인증을 사용하여 AWS에 대한 액세스 방법을 제공합니다. 또한 AWS 외부에 AWS 환경에 대한 액세스 권한이 필요한 시스템이 있을 수 있습니다. AWS 외부에서 실행되는 시스템의 경우 IAM Roles Anywhere를 사용할 수 있습니다. 역할에 대한 자세한 내용은 IAM 역할 섹션을 참조하세요. 역할을 사용하여 AWS 계정 전체에서 액세스 권한을 위임하는 방법에 대한 자세한 내용은 튜토리얼: IAM 역할을 사용한 AWS 계정 간 액세스 권한 위임을(를) 참조하세요.

IdP를 IAM과 직접 연결하려면 ID 제공업체 엔터티를 생성하여 AWS 계정과 IdP 간에 신뢰 관계를 설정합니다. IAM은 OpenID Connect(OIDC) 또는 SAML 2.0(Security Assertion Markup Language 2.0)과 호환되는 IdP를 지원합니다. AWS에서 해당 IdP 중 하나를 사용하는 것에 대한 자세한 정보는 다음을 참조하세요.

Amazon Cognito 자격 증명 풀과의 페더레이션

Amazon Cognito는 모바일 및 웹 앱에서 사용자를 인증하고 권한을 부여하고자 하는 개발자를 위해 설계되었습니다. Amazon Cognito 사용자 풀은 앱에 로그인 및 가입 기능을 추가하고, 자격 증명 풀은 AWS에서 관리하는 보호되는 리소스에 대한 액세스 권한을 사용자에게 부여하는 IAM 보안 인증 정보를 제공합니다. 자격 증명 풀은 AssumeRoleWithWebIdentity API 작업을 통해 임시 세션의 보안 인증 정보를 획득합니다.

Amazon Cognito는 SAML 및 OpenID Connect를 지원하는 외부 ID 제공업체, 그리고 Facebook, Google 및 Amazon과 소셜 ID 제공업체와 협력합니다. 앱은 사용자 풀 또는 외부 IdP로 사용자를 로그인한 다음, IAM 역할의 사용자 지정 임시 세션을 통해 리소스를 대신 검색할 수 있습니다.