이 가이드 Okta를 IdP로 사용하여 Workforce Identity Federation을 구성하는 방법을 설명합니다.
Okta와 Atlas 통합한 후, 직원은 Okta 자격 증명 사용하여 OIDC 인증 통해 Atlas cluster에 액세스 수 있습니다.
필요한 액세스 권한
연합 인증을 관리하려면 인스턴스에 페더레이션 설정을 위임하는 하나 이상의 조직에 대한 Organization Owner 액세스 권한이 있어야 합니다.
전제 조건
Okta를 Atlas의 IdP로 사용하려면 다음이 필요합니다.
라우팅 가능한 사용자 지정 도메인 이름.
절차
다음 절차를 진행하는 동안 브라우저 탭 하나를 Atlas 페더레이션 관리 콘솔에, 다른 탭 하나는 Okta 계정에 열어 두는 것이 도움이 됩니다.
Okta를 멱등으로 구성하기
Okta 계정을 사용하여 Okta를 OIDC IdP로 구성합니다.
Okta에 OIDC 애플리케이션 등록하려면 다음을 수행합니다.
Okta에서 애플리케이션 생성합니다.
Okta Admin 대시보드 에서 왼쪽 탐색 창을 사용하여 Applications → Applications(으)로 고 (Go) .
Applications 화면에서 Create App Integration을 클릭합니다.
Sign-in method 섹션에서 OIDC - OpenID Connect를 선택합니다.
Application type 섹션에서 Native Application를 선택합니다.
Next를 클릭합니다.
자세한 학습 은 OIDC 앱 통합 생성을 참조하세요.
을(를) New Native App Integration 구성합니다.
앱 통합을 생성하면 자동으로 New Native App Integration 화면으로 리디렉션됩니다.
App integration name 필드 에 애플리케이션 의 이름을 입력합니다.
Grant type 필드 에서 권한 부여 유형을 선택합니다.
다음 권한 부여 유형을 활성화합니다.
Authorization Code or Device Authorization
(선택 사항) Refresh Token
토큰 새로 고침을 활성화하면 더 나은 사용자 경험을 제공할 수 있습니다. 새로 고침 토큰이 활성화되지 않은 경우 사용자는 액세스 토큰이 만료되면 ID 제공자 로 다시 인증해야 합니다.
Sign-in redirect URIs 섹션에 URL 입력합니다.
다음 URL 입력합니다:
http://localhost:27097/redirect.Assignments 섹션에서 Controlled access 및 Enable immediate access 필드를 구성합니다.
Controlled access 필드 에서 Allow everyone in your organization to access을 선택합니다.
Enable immediate access 필드 의 경우 Enable immediate access with Federation Broker Mode 이 선택되어 있는지 확인합니다.
Save를 클릭합니다.
자세한 학습 은 OIDC 앱 통합 생성을 참조하세요.
Groups 클레임을 추가합니다.
권한 부여 서버 화면에서 Claims 탭 으로 고 (Go) Add Claim을 클릭합니다.
다음 구성 정보를 사용하여 Groups 클레임을 구성합니다.
필드값Name
클레임의 이름을 입력합니다.
Include in token type
드롭다운을 클릭하고 Access Token을 선택합니다.
Value type
드롭다운을 클릭하고 Groups을 선택합니다.
Filter
드롭다운을 클릭하고 Matches regex을 선택합니다. 드롭다운 옆에 Atlas 권한 부여 에 사용되는 그룹만 일치하는 정규 표현식 입력합니다. 예시 를 들어, Atlas 권한 부여 그룹이 공통 명명 접두사를 사용하는 경우
^<mongodb-atlas-group-prefix>.*을 입력하고, 여기서<mongodb-atlas-group-prefix>는 선택한 접두사입니다.Disable claim
확인하지 마세요.
Include in
Any scope0}을 선택합니다.
Create를 클릭합니다.
중요
필터하다 값으로 .* 을 사용하지 마세요. .* 표현식 Atlas 권한 부여 와 관련이 없는 그룹을 포함하여 사용자에게 할당된 모든 그룹 과 일치합니다. 확장 필터하다 액세스 토큰 크기를 늘리고 토큰이 preAuthMaximumMessageSizeBytes 제한( 기본값 으로 16KiB)을 초과할 때 인증 실패를 일으킬 수 있습니다.
토큰 크기를 줄이려면 Atlas 권한 부여 그룹에 대한 전용 명명 규칙을 만들고 해당 규칙에 따라 필터하다 .
배포서버 의도적으로 대규모 그룹 클레임이 필요한 경우, 클러스터 에서 preAuthMaximumMessageSizeBytes 매개변수를 늘릴 수 있습니다. 그러나 이 한도를 늘리면 리소스 및 보안에 영향을 미치므로 불필요하게 광범위한 클레임에 대한 해결 방법으로 사용해서는 안 됩니다.
액세스 정책에 대한 규칙을 만듭니다.
Access Policies 탭 에서 Add Rule을(를) 클릭합니다.
Rule Name 필드 에 액세스 정책의 이름을 입력합니다.
IF Grant Type is에 대해 부여 유형을 선택합니다.
권한 부여 유형을 구성할 때 클라이언트 동작에 따라 적절한 옵션을 선택합니다.
클라이언트 자체를 대행하는 경우 Client Credentials를 선택합니다.
클라이언트 사용자를 대신하는 경우 다음을 선택합니다.
Authorization Code
Device Authorization
조직의 보안 정책에 따라 규칙 구성을 추가합니다.
Okta 규칙 구성 예시:
필드값AND user is
Any user assigned to the app0}을 선택합니다.
AND Scopes requested
Any scopes0}을 선택합니다.
THEN Use this inline hook
없음(비활성화)
AND Access token lifetime is
1 Hours
AND Refresh token lifetime is
두 번째 드롭다운을 클릭하고 Unlimited을 선택합니다.
but will expire if not used every
7 days을(를) 입력합니다.
Create Rule를 클릭합니다.
그룹 만듭니다.
왼쪽 탐색 창에서 Directory → Groups(으)로 고 (Go) 하여 Add Group을(를) 클릭합니다.
Name 필드 에서 디렉토리 이름을
OIDC로 지정합니다.(선택 사항) Description 필드 에 규칙에 대한 설명을 입력합니다.
Save를 클릭합니다.
Okta 설명서에 따라 그룹에 사람을 수동으로 할당합니다.
조직 에 사용자를 추가합니다.
왼쪽 탐색 창에서 Directory → People(으)로 고 (Go) 하여 Add Person을(를) 클릭합니다.
해당 필드에 다음 값을 입력하여 사용자 세부 정보를 제공합니다.
필드값User type
User0}을 선택합니다.
First name
필요에 따라 이름을 입력합니다.
Last name
필요에 따라 이름을 입력합니다.
Username
사용자 이름 으로 이메일 입력합니다.
Primary email
이메일 입력합니다. 이메일 Username 필드 에 사용된 이메일과 동일해야 합니다.
Secondary email
선택 사항.
Groups
OIDC을(를) 입력합니다.
Activation
Activate Now 을(를) 선택하고 I will set password을(를) 확인합니다.
Password
비밀번호를 입력합니다.
User must change password on first login
SELECT Optional
Save를 클릭합니다.
자세히 학습 수동으로 사용자 추가를 참조하세요.
Atlas 에서 Workforce Identity Federation 구성
참고
전제 조건
이 절차에서는 Organization Owner 액세스 있어야 하며,IdP에 OIDC 애플리케이션 이미 생성되어 있다고 가정합니다.IdP를 구성하는 방법을 학습 보려면 Okta를 ID 제공자로 구성하기를 참조하세요.
Atlas 에서 Workforce Identity Provider를 구성하려면 다음을 수행합니다.
Atlas 에서 조직 의 Federation Management 콘솔로 이동합니다.
아직 표시되지 않은 경우 다음 목록에서 원하는 조직 을 선택하세요. 탐색 표시줄의 Organizations 메뉴.
사이드바에서 Identity & Access 제목 아래의 Federation를 클릭합니다.
Open Federation Management App를 클릭합니다.
페더레이션 페이지가 표시됩니다.
다음 Workforce Identity Provider Protocol Settings(직원 ID 제공자 프로토콜 설정)를 입력합니다.
설정 | 필요성 | 값 |
|---|---|---|
Configuration Name | 필수 사항 | 이 구성을 식별하는 사람이 읽을 수 있는 레이블입니다. 이 레이블은 Atlas 사용자가 볼 수 있습니다. |
Configuration Description | 옵션 | 이 구성을 설명하는 사람이 읽을 수 있는 레이블입니다. |
Issuer URI | 필수 사항 | 등록된 IdP 애플리케이션에서 제공하는 발급자 값입니다. MongoDB는 이 URI를 사용하여 |
Client ID | 필수 사항 | 등록된 애플리케이션 의 고유 식별자입니다. 외부 ID 제공자에 등록한 앱 의 |
Audience | 필수 사항 | 외부 ID 제공자 가 토큰을 사용하는 엔티티입니다. 외부 ID 제공자에 등록한 앱 의 |
Requested Scopes | 옵션 | 사용자에게 권한 부여 엔드포인트에서 데이터를 요청할 수 있는 권한을 부여하는 토큰입니다. 새로 고침 토큰을 지원할 계획인 경우 이 필드에 추가하려는 각 추가 범위에 대해 Add more scopes를 클릭합니다. |
Authorization Type | 필수 사항 | IdP 사용자 그룹 멤버십을 기반으로 권한 부여 부여하려면 Group Membership을 선택하고, 개별 사용자에게 권한 부여 부여하려면 User ID를 선택합니다. |
Customize Groups Claim | 필수 사항 | 주체의 IdP 사용자 그룹 구성원 자격 정보를 포함하는 클레임의 식별자입니다.IdP가 다른 클레임을 사용하거나 사용자 지정 클레임이 필요한 경우가 아니라면 기본값 사용합니다. 이 필드 Group Membership를 선택한 경우에만 필요합니다. 기본값: |
Customize User Claim | 필수 사항 | 사용자 주체 ID를 포함하는 클레임의 식별자입니다. IdP 가 다른 클레임을 사용하지 않는 한 기본값을 그대로 사용합니다. 기본값: |
(선택 사항) 도메인을 Workforce 자격 증명 공급자에 연결합니다.
참고
이 단계는 도메인이 다른 동일한 조직에 여러 Workforce 자격 증명 공급자를 연결해야 하는 경우에만 필요합니다. Atlas 조직에 연결된 최대 두 개의 Workforce 자격 증명 공급자를 지원합니다: 하나는 OIDC 자격 증명 공급자 (데이터베이스 액세스용)이고 다른 하나는 SAML 자격 증명 공급자 (UI 액세스용)입니다.
Workforce Identity Provider(직원 ID 제공자) 카드에서 Associate Domains 을(를) 클릭합니다.
Associate Domains with Identity Provider 모달에서 하나 이상의 도메인을 선택합니다.
Submit를 클릭합니다.
인력 인증을 사용하여 데이터베이스 사용자 추가
Atlas 에서 프로젝트 의 Database & Network Access 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Database & Network Access를 클릭합니다.
데이터베이스 & 이전 단계를 완료하면 네트워크 액세스 페이지가 표시됩니다.
Add New Database User or Group 대화 상자를 엽니다.
딸깍 하는 소리 Add New Database User or Group.
참고
Workforce IdP를 Atlas에 적용하기 전까지는 이 버튼에 Add New Database User라고 표시됩니다.
Federated Auth을(를) 선택합니다.
Authentication Method 섹션에서 Federated Auth를 선택합니다.
참고
조직에서 Workforce IdP를 활성화할 때까지 이 상자를 선택할 수 없습니다.
사용자 또는 그룹 권한을 할당합니다.
새 사용자 또는 그룹에 권한을 할당하려면 다음 작업 중 하나 이상을 수행합니다.
Built-in Role 드롭다운 메뉴에서 내장 역할을 선택합니다.
Atlas UI에서 데이터베이스 그룹당 하나의 기본 제공 역할을 선택할 수 있습니다.
기본 옵션을 삭제하는 경우 Add Built-in Role 을 클릭하여 새 기본 제공 역할을 선택할 수 있습니다.
사용자 지정 역할을 정의한 경우 Custom Roles 섹션을 확장하고 Custom Roles 드롭다운 메뉴에서 하나 이상의 역할을 선택할 수 있습니다.
사용자 지정 역할을 더 추가하려면 Add Custom Role 를 클릭합니다.
Custom Roles 링크를 클릭하면 프로젝트의 사용자 지정 역할을 볼 수 있습니다.
Specific Privileges 섹션을 확장하고 Specific Privileges 드롭다운 메뉴에서 하나 이상의 권한을 선택합니다.
더 많은 권한을 추가하려면 Add Specific Privilege 을 클릭합니다. 이렇게 하면 개별 데이터베이스 및 컬렉션에 대한 특정 권한이 그룹에 할당됩니다.
적용된 역할 또는 권한을 제거합니다.
- 클릭 Delete 옆에
- 역할 또는 권한을 삭제합니다.
참고
Atlas는 하나의 옵션만 선택한 경우 Built-in Role, Custom Role 또는 Specific Privilege 선택 항목 옆에 Delete 아이콘을 표시하지 않습니다. 다른 역할이나 권한을 적용한 후에는 선택한 역할이나 권한을 삭제할 수 있습니다.
Atlas는 내장 역할, 여러 사용자 지정 역할, 여러 특정 권한을 데이터베이스 그룹에 적용할 수 있습니다.
권한 부여에 대해 자세히 알아보려면 MongoDB 매뉴얼 에서 역할 기반 액세스 제어 및 기본 제공 역할을 참조하세요.
임시 사용자 또는 그룹으로 저장합니다.
Temporary User 또는 Temporary Group 를 On 로 전환하고 Atlas가 Temporary User Duration 또는 Temporary Group Duration 드롭다운에서 사용자 또는 그룹을 삭제할 수 있는 시간을 선택합니다. 그룹이 존재하는 기간에 대해 다음 중 하나를 선택할 수 있습니다.
6시간
1일
1주
Database Users 탭에서 임시 사용자 또는 그룹은 Atlas가 사용자 또는 그룹을 삭제할 때까지 남은 시간을 표시합니다. Atlas가 사용자 또는 그룹을 삭제하면 임시 사용자 또는 그룹의 자격 증명을 사용하는 모든 클라이언트 또는 애플리케이션은 클러스터에 대한 액세스 권한을 잃게 됩니다.
Workforce Identity Federation을 사용하여 클라이언트를 MongoDB 에 연결하기
다음은 Workforce Identity Federation 인증 사용하여 클라이언트 를 MongoDB 에 연결하는 방법입니다.
Compass v1.38+
MongoDB Shell v2.1.4+
참고
Device Authorization Flow(장치 권한 부여 흐름)를 구성한 경우 mongosh 연결 시 --oidcFlows=device-auth 플래그를 전달해야 합니다. 예시 들면 다음과 같습니다.
mongosh "<connection-string>" \ --authenticationMechanism MONGODB-OIDC \ --oidcFlows=device-auth