Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

OIDC로 Workforce Identity Federation 설정하기

이 페이지의 내용

  • 필요한 액세스 권한
  • 절차
  • 외부 멱등 애플리케이션 구성
  • Workforce Identity Federation 인증 구성
  • 인력 인증을 사용하여 데이터베이스 사용자 추가
  • Workforce Identity Federation을 사용하여 애플리케이션을 MongoDB 에 연결
  • 기존 Workforce Identity Federation 구성 관리
  • Revoke JWKS
  • 인력 ID 제공자 구성 삭제

MongoDB 7.0 이상에서는 Workforce Identity Federation을 사용하면 회사 IdP 와 같은 외부 ID 제공자(IdP)를 사용하여 직원, 파트너, 계약업체 등의 특정 인력을 인증하고 권한을 부여할 수 있습니다.

Workforce Identity Federation을 사용하면 다음을 수행할 수 있습니다.

  • 기존 IdP를 통해 MongoDB deployment에 대한 직원 액세스를 관리합니다.

  • 비밀번호 복잡성, 자격증명 순환, MFA와 같은 보안 정책을 IdP 내에서 시행합니다.

  • 사용자 그룹 또는 단일 사용자에게 액세스 권한을 부여합니다.

외부 IdP 를 구성하여 Workforce Identity Federation에 한 번 추가한 후에는 여러 Atlas 조직에 대해 Workforce Identity Provider를 활성화 할 수 있습니다. 특정 조직에서 Workforce Identity Federation을 활성화 한 후에는 해당 조직 의 모든 프로젝트에서 데이터베이스 액세스 를 위해 이를 사용할 수 조직 .

Workforce Identity Federation은 MongoDB 버전 7.0.11 이상을 실행 하는 Atlas 전용 클러스터(M10 이상)에서 지원됩니다. Workforce Identity Federation을 통해 Atlas 에 액세스 하려면 MongoDB Shell 또는 Compass 를 사용해야 합니다.

Workforce Identity Federation 액세스 구현에 학습 보려면 Workforce Identity Federation을 사용 하여 MongoDB 에 애플리케이션 연결을 참조하세요.

Workforce Identity Federation 구성을 관리 하려면 Atlas 에 대한 Organization Owner 액세스 이 있어야 합니다.

Workforce Identity Federation을 사용하여 Atlas 클러스터에 액세스 하려면 다음 단계를 완료하세요.

  1. 인력 ID 제공자를 구성합니다(일회성 설정).

    1. 외부 ID 제공자 를 구성합니다.

    2. Atlas 에서 Workforce Identity Provider를 활성화 하고 |service| 조직(들).

  2. 외부 ID(사용자 주체) 또는 그룹에 MongoDB 클러스터에 액세스 을 부여합니다.

  3. MongoDB Shell 또는 Compass 를 사용하여 Atlas 클러스터를 인증합니다.

OIDC 를 사용하여 Workforce Identity Federation을 구성하려면 Microsoft Entra ID , Okta 또는 Ping Identity와 같은 OIDC 표준을 지원하는 IdP 에 OIDC 애플리케이션을 등록합니다.

참고

Workforce Identity Federation은 인증을 위해 JSON web token만 지원합니다. 불투명 액세스 토큰은 지원하지 않습니다.

다음 권한 부여 유형에 대해 OIDC 애플리케이션을 구성할 수 있습니다.

  • PKCE를 사용한 권한 부여 코드 흐름

  • 기기 권한 부여 흐름

MongoDB는 보안 강화를 위해 PKCE 와 함께 Authorization Code Flow(권한 부여 코드 흐름)를 사용할 것을 권장합니다. 사용자가 브라우저 없이 컴퓨터에서 데이터베이스에 액세스해야 하는 경우에만 Device Authorization Flow(장치 권한 부여 흐름)를 사용하세요.

OIDC 애플리케이션 등록 단계는 IdP 에 따라 다를 수 있습니다. 등록 프로세스 중에 다음 항목을 완료해야 합니다.

1

클라이언트 유형으로 public client/native application 를 선택합니다.

2
3

그룹의 경우 이 단계에서는 액세스 토큰에 인증하는 사용자의 그룹 멤버십 정보가 포함되어 있는지 확인합니다. MongoDB는 권한 부여를 위해 그룹 클레임으로 전송된 값을 사용합니다.

4

(선택 사항) MongoDB 클라이언트가 더 나은 사용자 경험을 위해 토큰을 새로 고침하도록 하려면 refresh tokens(새로 고침 토큰)를 허용하세요.

5

(선택 사항) 데이터베이스 연결 세션 시간에 맞게 액세스 토큰 수명(exp 클레임)을 구성합니다.

애플리케이션 을 등록한 후 issuer, clientIdaudience 값을 저장하여 Atlas Workforce IdP 구성의 다음 단계에서 사용할 수 있습니다.

Microsoft Entra ID 로 OIDC 애플리케이션 을 등록하려면 다음을 수행합니다.

1
  1. App registrations(으)로 이동합니다.

    1. Azure Portal 에서 계정을 검색 하고Microsoft Entra ID 클릭합니다.

    2. 좌측 탐색의 Manage 섹션에서 App registrations을 클릭합니다.

  2. New registration를 클릭합니다.

  3. 다음 값을 적용합니다.

    필드
    Name
    Atlas Database - Workforce
    Supported Account Types
    Accounts in this organizational directory only (single tenant)
    Redirect URI
    - Public client/native (mobile & desktop)
    - http://localhost:27097/redirect
  4. Register를 클릭합니다.

애플리케이션 등록에 대해 자세히 알아보려면 Azure 설명서를 참조하세요.

2
  1. Token Configuration(으)로 이동합니다.

    좌측 탐색의 Manage 섹션에서 Token Configuration을 클릭합니다.

  2. Add groups claim를 클릭합니다.

  3. Edit groups claim 0} 모달에서 을 Security 선택합니다.

    선택하는 그룹은 Azure 환경에서 구성한 그룹 유형에 따라 다릅니다. 적절한 그룹 정보를 전송하려면 다른 그룹 유형을 선택해야 할 수도 있습니다.

  4. Customize token properties by type 섹션에서 Group ID 만 선택합니다.

  5. Add를 클릭합니다.

그룹 클레임 추가에 대해자세히 알아보려면 Azure 설명서를 참조하세요.

3
  1. Add optional claim를 클릭합니다.

  2. Add optional claim 0} 모달에서 을 Access 선택합니다.

  3. 이메일과 같은 MongoDB 액세스 로그에서 참조할 수 있는 사용자 식별자가 포함된 클레임을 선택합니다.

    UPN 클레임을 사용하여 이메일 주소 로 사용자를 식별할 수 있습니다.

  4. Add를 클릭합니다.

  5. Microsoft Graph Permissions 노트에서 확인란을 선택하고 Add를 클릭합니다.

자세한 내용은 Azure 설명서를 참조하세요.

4
  1. 좌측 탐색의 Manage 섹션에서 Manifest을 클릭합니다.

  2. 0}을 accessTokenAcceptedVersion null 에서 2 로 업데이트합니다.

    숫자 2는 Microsoft의 액세스 토큰 버전 2를 나타냅니다. 다른 애플리케이션에서는 이를 Active Directory에서 관리하는 사용자 ID의 서명된 증명으로 사용합니다. 버전 2는 토큰이 MongoDB가 이해할 수 있는 JSON Web Token인지 확인합니다.

  3. Save를 클릭합니다.

선택적 클레임을 추가하는 방법에 대해 자세히 알아보려면 Azure 설명서를 참조하세요.

5
  1. 왼쪽 탐색에서 Overview을 클릭합니다.

    Application (client) ID 값을 복사합니다.

  2. 상단 탐색에서 Endpoints을 클릭합니다.

    /.well-known/openid-configuration 부분을 제외한 OpenID Connect metadata document 값을 복사합니다.

    OpenID Connect metadata document URL 에서 issuer 값을 복사하여 이 값을 가져올 수도 있습니다.

다음 표는 Atlas 구성 속성에서 이러한 Microsoft Entra ID UI 값이 매핑하는 것을 보여 줍니다.

Microsoft Entra ID UI
Atlas 구성 속성
Application (client) ID
Client ID
Audience
OpenID Connect metadata document (without /.well-known/openid-configuration)
Issuer URI.

참고

전제 조건

이 절차에서는 Organization Owner 액세스 권한이 있어야 하며 IdP 에 OIDC 애플리케이션이 이미 생성되어 있다고 가정합니다. IdP 를 구성하는 방법을 알아보려면 외부 ID 제공자 애플리케이션 구성을 참조하세요.

Federation Management Console에서 Atlas의 데이터베이스 액세스를 위해 OIDC를 사용하여 Workforce Identity Federation을 구성할 수 있습니다.

Atlas 에서 Workforce Identity Provider를 구성하려면 다음을 수행합니다.

1
  1. 조직 설정으로 이동합니다.

  2. Open Federation Management App 을(를) 클릭합니다.

2

IdP 에 등록하는 도메인의 소유권을 확인해야 합니다. 이미 Atlas 에 SAML SSO에 도메인을 등록한 경우 이 단계를 건너뛸 수 있습니다.

  1. 왼쪽 사이드바에서 Domains(도메인)를 선택합니다.

  2. Add Domain 버튼을 클릭합니다.

  3. Display Name 상자에 표시 이름을 입력합니다.

  4. Domain Name 상자에 도메인 이름을 입력합니다.

  5. HTML File Upload 또는 DNS Record 버튼을 클릭하여 도메인의 소유자임을 확인하는 데 사용할 방법을 선택합니다.

  6. HTML File Upload 을(를) 선택한 경우 제공된 HTML 파일을 다운로드하여 도메인에 업로드하여 https://<your-domain/mongodb-site-verification.html> 에서 액세스할 수 있습니다.

  7. DNS Record 을(를) 선택한 경우 제공된 TXT Record 을(를) 복사하여 도메인 제공자에 업로드합니다.

  8. Continue를 클릭합니다.

  9. 마지막으로 Domains 페이지에서 새로 추가된 도메인의 Verify 버튼을 클릭합니다.

3
  1. 왼쪽 사이드바에서 Identity Providers 을(를) 클릭합니다.

  2. 다음 단계 중 하나를 수행합니다.

    • 아직 구성한 ID 공급자가 없는 경우 Setup Identity Provider을 클릭합니다.

    • 그렇지 않으면 Identity Providers 화면에서 Configure Identity Provider(s) 을 클릭합니다.

  3. Workforce Identity Provider Continue0}을 선택하고 을 클릭합니다.

  4. OIDC for Data Access0}을 선택합니다.

4
설정
필요성
Configuration Name
필수 사항
이 구성을 식별하는 사람이 읽을 수 있는 레이블입니다. 이 레이블은 Atlas 사용자가 볼 수 있습니다.
Configuration Description
옵션
이 구성을 설명하는 사람이 읽을 수 있는 레이블입니다.
Issuer URI
필수 사항
등록된 IdP 애플리케이션에서 제공하는 발급자 값입니다. MongoDB는 이 URI를 사용하여 /.wellknown/open-id-configuration 엔드포인트에서 사용할 수 있는 OpenID Provider Configuration Document(OpenID 제공자 구성 문서)를 찾습니다.
Client ID
필수 사항
등록된 애플리케이션 의 고유 식별자입니다. 외부 ID 제공자에 등록한 앱 의 clientId 값을 입력합니다.
오디언스
필수 사항
외부 ID 제공자 가 토큰을 사용하는 엔티티입니다. 외부 ID 제공자에 등록한 앱 의 audience 값을 입력합니다. 일반적으로 이 값은 Client ID 과 동일합니다.
권한 부여 유형
필수 사항
IdP 사용자 그룹 멤버십을 기반으로 권한을 부여하려면 Group Membership 을 선택하고, 개별 사용자에게 권한을 부여하려면 User ID 을 선택합니다.
Requested Scopes
옵션

사용자에게 권한 부여 엔드포인트에서 데이터를 요청할 수 있는 권한을 부여하는 토큰입니다. 새로 고침 토큰을 지원할 계획인 경우 이 필드에 offline_access 값을 포함해야 합니다.

ID 제공자 가 Microsoft Entra ID 인 경우 Atlas 에 이 설정이 필요합니다. 기본값 범위인 <application client id>/.default 을 추가합니다.

추가하려는 각 추가 범위에 대해 Add more scopes를 클릭합니다.

User Claim
필수 사항

사용자 주체 ID를 포함하는 클레임의 식별자입니다. IdP 가 다른 클레임을 사용하지 않는 한 기본값을 그대로 사용합니다.

기본값: sub

Groups Claim
필수 사항

주체의 IdP 사용자 그룹 구성원 자격 정보를 포함하는 클레임의 식별자입니다. IdP 가 다른 클레임을 사용하거나 사용자 지정 클레임이 필요한 경우가 아니라면 기본값을 그대로 사용합니다. 이 필드는 Groups Membership 를 선택한 경우에만 필요합니다.

기본값: groups

5
6
  1. Workforce Identity Provider(직원 ID 제공자) 카드에서 Associate Domains 을(를) 클릭합니다.

  2. Associate Domains with Identity Provider 모달에서 하나 이상의 도메인을 선택합니다.

  3. Submit를 클릭합니다.

7
  1. Connect Organizations를 클릭합니다.

  2. Workforce Identity Provider에 연결하려는 조직 에 대해 Configure Access 을(를) 클릭합니다.

  3. Connect Identity Provider를 클릭합니다.

    참고

    다른 IdP를 구성한 경우 이 버튼에 Connect Identity Provider(s)라고 표시됩니다.

8

Connect Identity Provider(s) 모달에서 PurposeWorkforce Identity Federation 인 Workforce Identity Provider 를 선택합니다.

9

Workforce Identity Provider를 조직 에 연결하면 Atlas 는 해당 조직 내의 모든 프로젝트에 대해 Workforce Identity Provider를 활성화합니다.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Database Access를 클릭합니다.

    데이터베이스 액세스 페이지가 표시됩니다.

2

딸깍 하는 소리 Add New Database User or Group.

참고

Workforce IdP를 Atlas 에 적용 할 때까지 이 버튼에는 다음과 같이 표시됩니다. Add New Database User.

3

Authentication Method 섹션에서 Federated Auth를 선택합니다.

참고

조직 에 대해 Workforce IdP를 활성화 때까지 이 상자를 선택할 수 없습니다.

4

a. Select Identity Provider 섹션에서 구성된 OIDC ID 제공자를 선택합니다.

  1. 구성된 Workforce 자격 증명 공급자와 관련된 사용자 식별자 또는 그룹 식별자를 지정합니다.

참고

Azure Entra ID 사용자의 경우 이 값은 사용자 그룹 이름이 아닌 Azure 사용자 그룹의 Object Id에 매핑됩니다.

5

새 사용자 또는 그룹에 권한을 할당하려면 다음 작업 중 하나 이상을 수행합니다.

  • 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 매뉴얼 에서 역할 기반 액세스 제어 및 기본 제공 역할을 참조하세요.

6

기본적으로 그룹은 프로젝트의 모든 클러스터 및 연합 데이터베이스 인스턴스에 액세스할 수 있습니다. 특정 클러스터 및 연합 데이터베이스 인스턴스에 대한 액세스를 제한하려면 다음을 수행합니다.

  1. Restrict Access to Specific Clusters/Federated Database InstancesOn로 전환합니다.

  2. Grant Access To 목록에서 그룹 액세스 권한을 부여할 클러스터 및 연합 데이터베이스 인스턴스를 선택합니다.

7

Temporary User 또는 Temporary GroupOn 로 전환하고 Atlas가 Temporary User Duration 또는 Temporary Group Duration 드롭다운에서 사용자 또는 그룹을 삭제할 수 있는 시간을 선택합니다. 그룹이 존재하는 기간에 대해 다음 중 하나를 선택할 수 있습니다.

  • 6시간

  • 1일

  • 1주

Database Users 탭에서 임시 사용자 또는 그룹은 Atlas가 사용자 또는 그룹을 삭제할 때까지 남은 시간을 표시합니다. Atlas가 사용자 또는 그룹을 삭제하면 임시 사용자 또는 그룹의 자격 증명을 사용하는 모든 클라이언트 또는 애플리케이션은 클러스터에 대한 액세스 권한을 잃게 됩니다.

8

다음 단계 중 하나를 수행합니다.

  • 사용자를 추가한 경우 Add User 버튼을 클릭합니다.

  • 그룹을 추가한 경우 Add Group 버튼을 클릭합니다.

다음은 Workforce Identity Federation 인증 을 사용하여 애플리케이션 을 MongoDB 에 연결할 수 있는 방법입니다.

참고

자체 서명 키를 관리하는 경우에만 다음 절차를 사용하세요.

이 기능 을 사용하여 서명 키를 순환하지 마세요. 인력 ID 제공자 서명 키를 순환하면 기존 액세스 토큰이 만료되면 MongoDB 가 자동으로 JWKS를 가져옵니다.

개인키가 손상된 경우 MongoDB 노드에 캐시된 JSON 웹 키 세트(JWKS)를 즉시 취소할 수 있습니다.

1
2
  1. 아직 표시되지 않은 경우 다음 목록에서 원하는 조직 을 선택하세요. 탐색 표시줄의 Organizations 메뉴.

  2. 1} 메뉴 옆에 있는 아이콘을 클릭합니다.Organization Settings Organizations

    조직 설정 페이지가 표시됩니다.

3

0}Setup Federated Login 또는 Manage Federation Settings 섹션에서 를 Visit Federation Management App 클릭합니다.

4
5
6

Revoke 를 클릭하면 MongoDB는 JWKS 엔드포인트를 통해 새 키를 가져옵니다. JWKS를 해지한 후에는 클라이언트(예: mongosh 또는 Compass)를 다시 시작해야 합니다.

인력 ID 제공자 구성을 삭제 다음을 수행합니다.

1
  1. 아직 표시되지 않은 경우 다음 목록에서 원하는 조직 을 선택하세요. 탐색 표시줄의 Organizations 메뉴.

  2. 1} 메뉴 옆에 있는 아이콘을 클릭합니다.Organization Settings Organizations

    조직 설정 페이지가 표시됩니다.

2

0}Setup Federated Login 또는 Manage Federation Settings 섹션에서 를 Visit Federation Management App 클릭합니다.

3
  1. 왼쪽 사이드바에서 Organizations 을(를) 클릭합니다.

  2. Workforce Identity Federation(직원 ID 페더레이션)이 활성화된 조직 을 클릭합니다.

  3. Workforce Identity Federation 카드의 Manage 드롭다운에서 Disconnect 을(를) 클릭합니다.

  4. Disconnect identity provider? 모달에서 Disconnect를 클릭합니다.

    IdP 연결을 끊으면 IdP 를 사용하여 인증하는 사용자는 표에 나열된 Atlas 프로젝트의 Workforce Identity Federation에 액세스 을 잃게 Project 됩니다.

4
5
6

Delete Identity Provider? 모달에서 Delete를 클릭합니다.

돌아가기

OIDC/OAuth2.0