Amazon Web Services 한국 블로그

AWS IAM Identity Center, 사용자 데이터 액세스, 권한 설정 및 감사 간소화 기능 발표

AWS IAM Identity Center의 최근 도입된 기능인 신뢰할 수 있는 ID 전파 (Trusted identity propagation) 기능에 기반한 새로운 사용 사례를 발표했습니다.

일반적으로 사용되는 비즈니스 인텔리전스(BI) 애플리케이션인 Tableau는 이제 최종 사용자 ID를 Amazon Redshift로 전파할 수 있습니다. 여기에는 세 가지 이점이 있습니다. 최종 사용자의 로그인 경험을 단순화합니다. 데이터 소유자가 실제 최종 사용자 ID를 기반으로 액세스를 정의할 수 있습니다. 감사자가 사용자의 데이터 액세스를 확인할 수 있습니다.

신뢰할 수 있는 ID 전파를 사용하면 데이터를 사용하는 애플리케이션(예:Tableau, Amazon QuickSight, Amazon Redshift 쿼리 에디터, Amazon EMR Studio 등)이 사용자의 ID 및 그룹 멤버십을 Amazon Redshift, Amazon Athena, Amazon Simple Storage Service(S3), Amazon EMR 등 데이터에 대한 액세스를 저장 및 관리하는 서비스에 전파할 수 있습니다. 신뢰할 수 있는 ID 전파는 여러 분석 애플리케이션의 로그인 경험을 개선하고, 데이터 액세스 관리를 단순화하고, 감사를 간소화하는 IAM Identity Center의 기능입니다. 최종 사용자는 Single Sign-On의 이점을 누릴 수 있으며 시스템에 연결하기 위해 수임할 IAM 역할을 지정하지 않아도 됩니다.

자세한 내용을 살펴보기 전에 앞으로 사용할 용어를 설명하겠습니다.

  • 자격 증명 공급자: 사용자 ID 및 그룹 멤버십을 보관하는 시스템을 지칭할 때 ‘자격 증명 공급자’라는 용어를 사용합니다. 이러한 시스템은 사용자에게 자격 증명을 요구하고 인증을 수행하는 시스템입니다. 예를 들면 Azure Directory, Okta, Ping Identity 등이 이에 해당합니다. AWS가 지원하는 자격 증명 공급자의 전체 목록을 확인하세요.
  • 사용자 대면 애플리케이션: 사용자 대면 애플리케이션데이터를 소비하는 애플리케이션을 지칭할 때 ‘사용자 대면 애플리케이션’이라는 용어를 사용합니다. 예를 들면 Tableau, Microsoft PowerBI, QuickSight, Amazon Redshift 쿼리 에디터 등이 이에 해당합니다.
  • 다운스트림 서비스: Amazon Redshift, Athena, S3, EMR 등 데이터에 대한 액세스를 처리, 저장 또는 관리하는 분석 엔진 및 스토리지 서비스를 지칭합니다.

신뢰할 수 있는 ID 전파 - 개략적 다이어그램

신뢰할 수 있는 ID 전파의 이점을 이해하기 위해 지금까지 데이터 액세스 권한이 부여된 방식에 대해 간단히 설명하겠습니다. 사용자 대면 애플리케이션이 다운스트림 서비스의 데이터에 액세스할 때 업스트림 서비스는 일반 자격 증명(예: ‘tableau_user’)을 사용하거나 IAM 역할을 수임하여 다운스트림 서비스에 대해 인증합니다. 이것은 두 가지 과제의 근원입니다.

  • 다운스트림 서비스 관리자가 요청을 보내는 실제 사용자에 맞게 미세 조정된 액세스 정책을 정의하기가 어렵습니다. 다운스트림 서비스에서 볼 수 있듯이 모든 요청은 해당 공통 사용자 또는 IAM 역할에서 시작됩니다. Jeff와 Jane이 둘 다 BusinessAnalytics IAM 역할에 매핑되어 있는 경우 이들에게 서로 다른 수준의 액세스 권한(예: 읽기 전용 및 읽기-쓰기)을 부여할 수 없습니다. 또한 Jeff가 재무 그룹에도 속해 있는 경우 작업을 수행할 역할을 선택해야 합니다. 동일한 세션에서 두 그룹 모두의 데이터에 액세스할 수 없습니다.
  • 데이터 액세스 이벤트를 최종 사용자에게 연결하는 작업에는 일상적인 작업 부담이 일부 포함됩니다. 요청이 BusinessAnalytics라는 IAM 역할에서 시작된 경우 해당 작업을 수행한 사용자를 파악하려면 추가 작업이 필요합니다.

이 예시는 매우 단순해 보일 수 있지만 실제로 조직에는 수백 개의 데이터세트와 일치하는 수백 명의 사용자, 수천 개의 그룹이 있습니다. 우리는 발명하고 단순화할 수 있는 기회가 있었습니다.

새로운 신뢰할 수 있는 ID 전파를 구성한 후에는 사용자 대면 애플리케이션이 키보드 뒤에서 실제 사용자를 대신하여 데이터에 액세스할 수 있는 기술적 메커니즘을 제공합니다. 실제 사용자 ID를 알면 세 가지 주요 이점이 있습니다.

  • 다운스트림 서비스 관리자가 실제 사용자 ID, 이들이 속한 그룹 또는 이 둘의 조합을 기반으로 액세스 정책을 생성 및 관리할 수 있습니다. 다운스트림 서비스 관리자는 이제 사용자, 그룹, 데이터세트 측면에서 액세스 권한을 할당할 수 있습니다. 이는 대부분의 고객이 데이터 액세스에 대해 자연스럽게 생각하는 방식입니다. 이러한 패턴을 달성하는 데 더 이상 IAM 역할에 대한 중간 매핑이 필요하지 않습니다.
  • 감사자는 이제 시스템 로그의 원래 사용자 ID에 액세스할 수 있으므로 정책이 올바르게 구현되었고 회사 또는 업계 수준의 모든 요구 사항을 준수하는지 확인할 수 있습니다.
  • BI 애플리케이션 사용자는 애플리케이션 간 Single Sign-On의 이점을 누릴 수 있습니다. 최종 사용자는 더 이상 회사의 AWS 계정과 IAM 역할을 이해할 필요가 없습니다. 대신 회사에서 수행하는 다른 많은 작업에 익숙한 회사 Single Sign-On을 사용하는 등의 방법으로 EMR Studio에 로그인할 수 있습니다.

신뢰할 수 있는 ID 전파는 어떻게 작동할까요?
신뢰할 수 있는 ID 전파는 업계 표준 메커니즘인 OAuth2JWT에 의존합니다. OAuth2는 액세스 권한 위임을 위한 개방형 표준으로, 사용자는 자격 증명을 노출하지 않고도 타사 사용자 대면 애플리케이션에게 다른 서비스(다운스트림 서비스)의 데이터에 대한 액세스 권한을 부여할 수 있습니다. JWT(JSON 웹 토큰)는 양 당사자 간에 전송될 ID 및 클레임을 나타내는 간결하고 URL 안전한 수단입니다. JWT는 서명되므로 그 무결성 및 신뢰성을 확인할 수 있습니다.

신뢰할 수 있는 ID 전파를 구성하는 방법
신뢰할 수 있는 ID 전파를 구성하려면 IAM Identity Center, 사용자 대면 애플리케이션 및 다운스트림 서비스에서 각각 최종 사용자 ID와 함께 작동하도록 설정해야 합니다. 애플리케이션마다 세부 사항은 다르지만 모두 다음과 같은 패턴을 따릅니다.

  1. AWS IAM Identity Center에서 자격 증명 소스를 구성합니다. 자격 증명 공급자가 지원하는 경우(대부분이 지원함) 자동 프로비저닝을 활성화하는 것이 좋습니다. 자동 프로비저닝은 SCIM 동기화 표준을 기반으로 작동하여 디렉터리 사용자 및 그룹을 IAM Identity Center로 동기화합니다. 현재 IAM Identity Center를 사용하여 인력을 AWS Management Console 콘솔로 페더레이션하고 있다면 이미 자동 프로비저닝을 구성했을 것입니다. 이는 일회성 구성이므로 각 사용자 대면 애플리케이션에 대해 이 단계를 반복할 필요가 없습니다.
  2. 자격 증명 공급자를 통해 사용자를 인증하도록 사용자 대면 애플리케이션을 구성합니다. 예를 들어 Okta를 사용하도록 Tableau를 구성하세요.
  3. 사용자 대면 애플리케이션과 다운스트림 서비스 간의 연결을 구성합니다. 예를 들어 Amazon Redshift에 액세스하도록 Tableau를 구성하세요. 경우에 따라서는 Redshift용 ODBC 또는 JDBC 드라이버를 사용해야 합니다.

그 다음은 신뢰할 수 있는 ID 전파와 관련된 구성입니다. 예를 들어, 조직에서 자격 증명 공급자를 통해 사용자를 인증하는 사용자 대면 웹 애플리케이션을 개발했는데, 현재 인증된 사용자를 대신하여 AWS의 데이터에 액세스하려고 한다고 가정해 보겠습니다. 이 사용 사례에서는 IAM Identity Center에서 신뢰할 수 있는 토큰 발급자를 생성해야 합니다. 이 강력한 새 구성은 신뢰할 수 있는 ID 전파를 활용할 수 있도록 애플리케이션의 인증된 사용자를 IAM Identity Center 디렉터리의 사용자에 매핑하는 방법을 제공합니다. 제 동료 Becky가 이러한 애플리케이션을 개발하는 방법을 보여주는 블로그 게시물을 작성했습니다. 이러한 추가 구성은 Tableau와 같은 타사 애플리케이션 또는 AWS 외부에서 인증되는 고객 개발 애플리케이션을 사용하는 경우에만 필요합니다. Amazon QuickSight와 같이 AWS에서 관리하는 사용자 대면 애플리케이션을 사용할 때는 추가 설정이 필요하지 않습니다.

외부 IdP를 설정하여 신뢰할 수 있는 토큰을 발급

마지막으로, 다운스트림 서비스 관리자는 사용자 ID 및 그룹 멤버십을 기반으로 액세스 정책을 구성해야 합니다. 정확한 구성은 다운스트림 서비스마다 다릅니다. 애플리케이션이 Amazon S3에서 데이터를 읽거나 쓰는 경우, 데이터 소유자는 Amazon S3 콘솔에서 S3 액세스 권한 부여를 사용하여 Amazon S3의 접두사에 대한 액세스 권한을 사용자 및 그룹에 부여할 수 있습니다. 애플리케이션이 Amazon Redshift 데이터 웨어하우스에 쿼리를 보내는 경우 데이터 소유자는 Amazon Redshift 콘솔에서 IAM Identity Center의 신뢰할 수 있는 연결을 구성하고 자격 증명 공급자의 대상자 클레임(aud)과 일치해야 합니다.

구성을 개략적으로 살펴보았으니, 이제 가장 중요한 부분인 사용자 경험에 대해 알아보겠습니다.

최종 사용자 경험
정확한 최종 사용자 경험은 분명히 애플리케이션마다 다를 수 있지만, 모든 경우에 이전보다 더 단순하고 직원 사용자에게 친숙할 것입니다. 사용자 상호 작용은 사용자를 자격 증명, 다단계 인증 등으로 로그인할 수 있는 자격 증명 공급자로 이동하는 리디렉션 기반 인증 Single Sign-On 흐름으로 시작됩니다.

신뢰할 수 있는 ID 전파가 구성되어 있을 때 최종 사용자가 Okta 및 Tableau와 상호 작용하는 방식을 자세히 살펴보겠습니다.

다음은 시스템과 서비스 간의 흐름 및 주요 상호 작용을 예시한 그림입니다.

신뢰할 수 있는 ID 전파 흐름

흐름은 다음과 같습니다.

  1. 사용자로서 Tableau에 로그인을 시도합니다.
  2. Tableau가 브라우저 기반 흐름을 시작하고 로그인 자격 증명을 입력할 수 있는 Okta 로그인 페이지로 리디렉션합니다. 인증이 성공하면 Okta가 Tableau에 인증 토큰(ID 및 액세스 토큰)을 발급합니다.
  3. Tableau가 Amazon Redshift와의 JDBC 연결을 시작하고 연결 요청에 액세스 토큰을 포함시킵니다. Amazon Redshift JDBC 드라이버가 Amazon Redshift를 직접적으로 호출합니다. Amazon Redshift 관리자가 IAM Identity Center를 활성화했기 때문에 Amazon Redshift가 액세스 토큰을 IAM Identity Center에 전달합니다.
  4. IAM Identity Center가 액세스 토큰을 확인 및 검증하고 액세스 토큰을 Identity Center에서 발행한 토큰과 교환합니다.
  5. Amazon Redshift가 Identity Center 토큰을 분석하여 해당 Identity Center 사용자를 확인하고 리소스에 대한 액세스를 승인합니다. 인증이 성공하면 Tableau에서 Amazon Redshift로 연결할 수 있습니다.

인증 후에는 평소처럼 Tableau를 사용할 수 있습니다.

신뢰할 수 있는 ID 전파 - Tableau 사용

그리고 Amazon Redshift 쿼리 에디터에 연결하면 sys_query_history 테이블을 관찰하여 쿼리를 수행한 사용자가 누구인지 확인할 수 있습니다. Tableau에서 연결할 때 사용한 Okta 이메일 주소인 awsidc:<이메일 주소>가 올바르게 보고됩니다.

신뢰할 수 있는 ID 전파 - Redshift에서의 감사

이 구성에 대한 자세한 내용은 Tableau 설명서를 참조하세요.

요금 및 가용성
신뢰할 수 있는 ID 전파는 현재 AWS IAM Identity Center를 사용할 수 있는 26개 AWS 리전에서 추가 비용 없이 제공됩니다.

신뢰할 수 있는 ID 전파 및 다운스트림 서비스 구성에 대한 자세한 내용은 다음과 같습니다.

신뢰할 수 있는 ID 전파를 통해 이제 실제 사용자 ID, 그룹 멤버십 및 속성을 Amazon Redshift, Amazon Athena, Amazon S3와 같은 AWS 서비스에 전파하도록 분석 시스템을 구성할 수 있습니다. 이를 통해 이러한 서비스의 액세스 정책 관리를 간소화할 수 있습니다. 또한 감사자가 데이터에 액세스하는 사용자의 실제 ID를 파악하여 조직의 규정 준수 상태를 확인할 수 있습니다.

지금 시작하여 Amazon Redshift와 Tableau의 통합을 구성하세요.

— seb

PS: 게시물 제목 아래에 이름이 하나만 표시되더라도 AWS 블로그 게시물은 항상 팀의 노력을 통해 작성됩니다. 이번에는 신뢰할 수 있는 ID 전파의 여러 가지 중요한 세부 요소와 기술적 세부 사항을 이해하는 데 많은 도움을 준 Eva Mineva, Laura Reith, Roberto Migli에게 감사의 말씀을 전합니다.