cloud

AWS Idp(Identity Provider)

IdP(Identity Provider)란 무엇인가?

IdP(Identity Provider, 신원 공급자)는 사용자의 신원을 확인하고 인증(Authentication) 정보를 제공하는 시스템을 의미합니다. 쉽게 말해, 웹 서비스나 애플리케이션에 로그인하려는 사용자가 누구인지 확인해주는 역할을 합니다. 대표적인 예로는 구글(Google), 페이스북(Facebook), 애플(Apple), 마이크로소프트(Microsoft) 등이 있으며, 이들 서비스 계정을 사용하여 다른 애플리케이션이나 웹사이트에 로그인할 수 있습니다. 이러한 방식을 소셜 로그인(Social Login)이라고도 합니다.

IdP는 보통 SSO(Single Sign-On, 싱글 사인온) 환경에서 많이 활용됩니다. 사용자가 한 번 인증하면, 여러 서비스에서 동일한 인증 결과를 재사용할 수 있기 때문에 편의성과 보안성을 동시에 확보할 수 있습니다. 또한, 기업 환경에서는 Active Directory(AD), LDAP 같은 사내 디렉토리 서비스도 대표적인 IdP로 활용됩니다. 일반적인 IdP가 제공하는 핵심 기능은 다음과 같습니다.

  • 사용자 인증(Authentication): 비밀번호, OTP, 생체인식 등 다양한 인증 수단을 통해 사용자를 검증합니다.
  • 사용자 속성 관리(Attribute Management): 사용자 이름, 이메일, 권한 등 프로필 정보를 관리합니다.
  • 토큰 발급(Token Issuance): 인증된 사용자를 대상으로 SAML, OpenID Connect, OAuth 같은 표준 프로토콜 기반의 토큰을 발급합니다.
  • SSO 지원: 여러 시스템 간 통합 로그인 환경을 제공합니다.

일반적인 IdP를 간단히 알아봤으니, AWS IdP를 확인해 봅시다.

AWS IdP

AWS(Amazon Web Services) 환경에서는 IAM(Identity and Access Management)과 결합하여 IdP 기능을 확장할 수 있습니다. AWS 자체적으로도 사용자 및 권한 관리를 제공하지만, 외부 IdP와 연동하여 연합 인증(Federated Authentication)을 구현할 수 있다는 점이 특징입니다.

AWS에서의 IdP는 크게 두 가지 방식으로 나눌 수 있습니다.

1. 외부 IdP를 AWS에 등록(=AWS에서 IdP 생성)

AWS에서 외부 IdP를 등록하는 경우, AWS Management Console의 IAM → Identity providers 메뉴에서 설정할 수 있습니다. 여기서 IdP를 생성하면 Azure AD, Okta, Google Workspace, Ping Identity 같은 외부 IdP와 AWS를 연결하게 되며, 이때 AWS는 서비스 제공자(SP) 역할을 수행합니다. 즉, 사용자는 외부 IdP에서 인증을 받고 AWS는 그 인증 결과를 받아들여 접근 권한을 부여하는 구조입니다.

2. AWS Cognito 같은 서비스로 애플리케이션 인증 구현

반면, AWS Cognito는 애플리케이션 인증을 위한 별도의 서비스로, 자체적으로 사용자 풀(User Pool)을 만들어 IdP와 유사한 역할을 할 수 있습니다. 또한 Cognito는 Google, Facebook 등 외부 IdP와 연동하여 통합 인증 환경을 구성할 수도 있습니다. 다만 이 방식은 AWS 콘솔에서 제공하는 IAM IdP 생성 기능과는 구분되며, AWS 내부 애플리케이션 인증 서비스로 활용된다는 점이 특징입니다.

AWS에서 IdP와 Role의 관계

AWS에서 외부 IdP를 등록하는 과정은 SAML 메타데이터나 OIDC 엔드포인트를 AWS에 알려주는 방식으로 이뤄집니다. 이를 통해 Azure AD, Okta, Google Workspace 같은 외부 IdP가 인증을 책임지고, AWS는 그 결과를 신뢰하는 구조가 형성됩니다. 즉, 인증 주체는 외부 IdP이고, AWS는 서비스 제공자로 동작하게 됩니다.

AWS 내부에서는 접근 권한을 IAM Role이 관리합니다. 외부 IdP 사용자가 로그인하면 IdP가 SAML 어설션이나 OIDC 토큰을 발급하고, AWS는 이를 검증한 후 해당 사용자와 미리 매핑된 IAM Role을 부여합니다. 따라서 사용자는 IAM User 계정을 직접 갖지 않고, Role을 통해 얻는 임시 세션 자격 증명으로 리소스에 접근하게 됩니다.

예를 들어 사용자가 회사 계정(Azure AD 등)으로 로그인하면, IdP가 인증 후 AWS에 SAML 어설션을 전달합니다. AWS는 이 정보를 검토해 사용자가 Role을 Assume할 수 있는지 판단하고, 권한이 확인되면 **STS(Security Token Service)**를 통해 임시 자격 증명을 발급합니다. 사용자는 이 자격 증명을 이용해 필요한 AWS 리소스에 접근할 수 있게 됩니다.

정리

IdP(Identity Provider)는 사용자 인증을 전담하는 핵심 시스템이며, SSO, 보안성, 사용자 편의성 측면에서 필수적인 역할을 합니다. AWS에서는 자체적으로 IdP 기능을 제공하기도 하고, 외부 IdP와 연동하여 유연한 인증 환경을 구성할 수도 있습니다. 특히 AWS Cognito와 IAM Federation은 AWS에서 IdP를 활용하는 대표적인 방법으로, 기업 및 개발 환경 모두에서 광범위하게 사용됩니다.