AWS Federation: Multi Account

AWS Multi Account를 통해 Okta를 연동하는 초간단 설명서

circle-exclamation

Ⅰ. Okta-AWS Account 연동

1. SSO 통합 기능

Okta 생성한 AWS Account Federation 앱에 대한 Metadata를 AWS에 등록하고 Okta 관리자는 ARN을 통해 하나 이상의 역할을 AWS에서 리스트를 받아 사용자에게 할당합니다. 하나 이상의 역할을 할당받은 사용자는 사용할 역할을 선택하여 사용할 수 있습니다. Okta 관리자는 Okta를 통해 사용자의 인증된 세션 기간도 설정할 수 있습니다.

SAML 2.0이 구성되면 Okta에서는 아래 기능을 제공합니다.

  • Okta 대시보드 로그인(IdP initiated SSO)


Ⅱ. Okta-AWS Account 연동 구성

1. AWS Multi Account

1.1 [Okta] AWS 앱 추가 및 설정

경로: Application Application Browse App Catalog AWS Account Federation Add integration

  1. Application label: AWS Account Fedaration 앱을 할당 받은 사람들의 Dashboard에 보여지는 앱의 이름입니다.

circle-info
  • "View Setup instruction"을 열어놓은 뒤, 다음 단계 설정합니다.

1.2 [AWS] Okta를 IdP로 구성

circle-exclamation

경로: AWS Console Identity and Access Management(IAM) Identity Providers Create Provider Save

  1. Provider Type: SAML로 구성할 예정이기 때문에 SAML은 선택합니다.

  2. Provider Name: AWS에 등록할 IdP 이름을 설정합니다.

Metadata Document기입 방법
  1. Metadata document: Okta 서비스를 사용하는 앱과의 연결을 설정하기 위한 정보입니다. Okta에서 제공하는 파일을 XML형태로 저장하여 AWS에 업로드합니다.

circle-info
  • metadata는 View SAML setup instruction 이외에도 아래 경로에서 확인할 수 있습니다.

경로: Application Application AWS Account Federation App Sign on SAML Signing Certificates Actions View IdP metadata

metadata 저장 경로

circle-info
  • Okta IdP 등록이 완료되면 아래와 같은 화면을 볼 수 있습니다.

circle-info

다음 구성을 위해 ARN을 복사합니다.

1.3 [AWS] Okta를 Trusted Source로 등록

1.3.1 기존 역할에 SSO 엑세스 권한을 부여할 경우

경로: Role Okta SSO 엑세스를 허용할 역할 Trust relationships Edit trust policy

circle-info
  • 이전에 구성한 SAML IdP를 사용하여 SSO를 Okta로 허용하도록 신뢰 관계 정책을 수정합니다.

circle-info
  • Identity provider에 등록한 IdP ARN을 넣은 예시입니다.

1.3.2 새 역할에 SSO 엑세스 권한을 부여할 경우

경로: IAM Access management Roles Create role

  1. Trusted entity types: SAML 2.0 Federation 선택

  2. SAML 2.0 Fedaration: Okta와 연결하기 위해 생성했던 Okta IdP를 선택

circle-info
  • Okta에 부여할 역할을 선택합니다.

circle-info
  • 역할 이름과 설명을 기입하고 Create Role을 클릭합니다.

1.4 [Okta] SAML 2.0 세부 설정

  1. Session Duration: 세션의 유효시간을 정할 수 있습니다. 가능한 범위는 900초~43200초입니다.

  2. Group Filter: 사용자가 엑세스할 수 있도록하는 각 계정의 각 AWS 역할 그룹을 생성해주는데 지정한 그룹의 이름을 정규식 표현으로 필터링합니다.

    • 아래 예시 정규식은 Okta에서 권장하는 기본 그룹 필터링 구문입니다.

    • ^aws\#\S+\#(?{{역할}}[\w\-]+)\#(?{{계정 ID}}\d+)$

  1. Role Value Pattern: AWS 역할 그룹의 구문 내에서 캡처된 AWS 역할 및 계정 ID를 가져와 사용자가 로그인할 때 자신의 계정 및 역할을 볼 수 있도록 허용하기 위해 Okta의 SAML Assertion에서 AWS가 요구하는 적절한 구문으로 변환합니다.

    • 이 필드는 항상 다음 특정 구문을 따라야합니다.

    • [SAML 공급자 이름]은 AWS Account에서 설정한 IdP 이름으로 바꿉니다.

    • arn:aws:iam::${accountid}:saml-provider/[SAML 공급자 이름],arn:aws:iam::${accountid}:role/${role}

  2. User Group Mapping: Multi account 연동을 사용하기 위해서는 해당 체크박스를 선택해줘야합니다. AWS Account ID와 Okta의 그룹을 매핑시켜줍니다.

1.5 [Okta] AWS 역할 그룹 생성

경로: Directory ➡ Group ➡ Add group

circle-info
  • Group Filter에 작성한 정규식 표현에 맞는 그룹을 생성합니다


III. 앱 할당

1. 사용자

circle-info
  • 사용자에게 부여하고 싶은 AWS Account-역할 그룹을 할당합니다.


2. 그룹


IV. 최종 사용자 경험

1. Okta Dashboard 로그인

Okta Dashboard 로그인(IdP initiated SSO)

Last updated