Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

OAuth 2.0으로 Workload Identity Federation 설정

이 페이지의 내용

  • 작동 방법
  • 내장 인증
  • 콜백 인증
  • 절차
  • 외부 ID 제공자 준비
  • Workload Identity Federation 인증 구성
  • Workload Identity Federation 인증을 사용하여 데이터베이스 사용자 추가
  • Workload Identity Federation을 사용하여 애플리케이션을 MongoDB에 연결하기
  • 기존 워크로드 아이덴티티 페더레이션 구성 관리
  • Revoke JWKS
  • 워크로드 아이덴티티 페더레이션 구성 삭제

Workload Identity Federation을 사용하면 애플리케이션이 Azure 서비스 주체, Azure 관리형 ID 및 Google 서비스 계정과 같은 외부 프로그래밍 ID를 사용하여 MongoDB Atlas 클러스터 액세스 할 수 있습니다.

하나 이상의 조직에 대해 워크로드 ID 제공자를 원하는 수만큼 활성화 할 수 있습니다. Atlas 조직 에서 Workload Identity Provider를 활성화 하면 해당 조직 의 모든 프로젝트에서 데이터베이스 액세스 를 위해 사용할 수 있습니다.

Atlas 는 MongoDB 버전 7.0.11 이상을 실행 전용 클러스터(M10 이상)에서만 선택한 드라이버에 대해서만 Workload Identity Federation을 지원합니다.

선택한 운전자 를 사용하여 Workload Identity Federation 액세스 를 구현하는 방법에 학습 보려면 Workload Identity Federation을 사용하여 MongoDB 에 애플리케이션 연결을 참조하세요.

Workload Identity Federation을 사용하면 애플리케이션이 OAuth2.0 을 사용하여 MongoDB 클러스터에 액세스 할 수 있습니다. 액세스 토큰. 액세스 토큰은 Azure Entra ID 및 Google Cloud Platform 을 포함한 모든 외부 ID 제공자가 발급할 수 있습니다. Atlas 는 사용자 식별자와 권한을 저장하지만 시크릿은 저장하지 않습니다. 애플리케이션에 대한 이 인증 메커니즘 은 MongoDB 드라이버에서만 지원됩니다. mongosh 및 MongoDB Compass 와 같은 다른 MongoDB 도구는 이 인증 메커니즘 을 지원 하지 않습니다.

MongoDB 드라이버는 워크로드 아이덴티티 페더레이션에 대해 내장 인증과 콜백 인증, 두 가지 유형의 인증 흐름을 지원 합니다.

지원되는 주체 유형으로 지원되는 인프라에 애플리케이션 을 배포 경우 내장 인증 을 사용할 수 있습니다. 비밀번호를 입력하거나 cloud 제공자의 메타데이터 서비스에 을 수동으로 요청하지 않고도 애플리케이션 Atlas 에서 클러스터에 액세스 할 수 있습니다.JSON web token 대신 선택한 MongoDB 운전자 는 기존 주체 식별자를 사용하여 내부적으로 JSON web token 액세스 토큰을 요청 다음, 애플리케이션 이 연결될 때 자동으로 Atlas 클러스터 에 전달됩니다.

구현에 대한 자세한 내용 은 선택한 드라이버의 설명서를 참조하세요.

기본 제공 인증 지원 인프라 및 주체 유형

클라우드 제공자
인프라 유형
주체 유형

GCP

Compute Engine

GCP 서비스 계정

App Engine 표준 환경

App Engine 가변형 환경

Cloud 함수

Cloud Run

Google Kubernetes Engine

클라우드 빌드

Azure

Azure VM

Azure 관리 ID(사용자 및 시스템 할당)

OAuth2.0 을 지원하는 모든 서비스에서 콜백 인증 을 사용할 수 있습니다. 액세스 토큰. Workload Identity Federation은 콜백 메서드를 호출하여,JSON web token 권한 부여 서버 또는 cloud 제공자 에게 애플리케이션 Atlas 이 Workload Identity Federation을 통해 에 연결할 때 전달해야 하는 필수 을 요청 수 있습니다.

추가 구현 세부 정보는 선택한 드라이버의 설명서를 검토하세요 .

MongoDB의 Workload Identity Federation을 구성하려면 다음을 수행합니다.

  1. 워크로드 아이덴티티 제공자를 구성합니다(일회성 설정).

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

    2. Atlas 에서 Workload Identity Provider를 구성하고 Atlas 조직 에 대해 활성화 합니다.

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

  3. MongoDB 드라이버 를 사용하여 애플리케이션 을 Atlas 에 연결합니다.

Azure 관리형 ID 또는 Azure 서비스 주체를 사용하여 MongoDB Atlas 클러스터에 액세스 하려면 Azure Entra ID 애플리케이션 을 등록해야 합니다. 워크포스 (인간 사용자) 액세스 에 대한 기존 애플리케이션 이 있는 경우 워크로드 액세스 에 대해 별도의 애플리케이션 을 등록하는 것이 좋습니다.

1
  1. App registrations 로 이동합니다.

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

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

  2. New registration를 클릭합니다.

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

    필드

    Name

    Atlas Database - Workload

    Supported Account Types

    Accounts in this organizational directory only (single tenant)

    Redirect URI

    Web

2

Atlas 에서 액세스 권한을 정의하는 동안 서비스 주체 식별자를 MongoDB 사용자 식별자로 사용하는 것이 가장 좋습니다. 이 일반적인 접근 방식을 사용할 계획이라면 이 단계를 건너뛰세요. 그러나 Azure AD 보안 그룹 식별자와 같은 그룹 식별자를 대신 사용하려는 경우 아래 단계에 따라 애플리케이션 등록에서 그룹 클레임을 설정하다 수 있습니다.

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

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

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

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

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

  4. 0} Customize token properties by type 섹션에서 만 선택했는지 확인합니다.Group ID

    Group Id를 선택하면 Azure에서 보안 그룹의 객체 ID를 보냅니다.

  5. Add를 클릭합니다.

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

3
  1. 왼쪽 사이드바에서 Expose an API (으)로 이동하여 애플리케이션 ID URI를 활성화 합니다.

  2. 애플리케이션 ID URI를 활성화합니다.

    1. Azure 에서 할당한 기본값 애플리케이션 ID URI인 <application_client_id> 을 유지합니다. MongoDB Atlas 및 모든 MongoDB 드라이버는 Workload Identity Federation 구성에 이 값을 요구하므로 이 값을 복사하여 저장 합니다.

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 구성 속성

OpenID Connect metadata document (without /.well-known/openid-configuration)

Issuer URI.

Application (client) ID

Client ID.

Application ID URI (<Application ID>)

Audience

Google Cloud Platform 계정에서 구성을 변경할 필요가 없습니다.

참고

전제 조건

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

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

Atlas 에서 Azure Entra ID 를 사용하여 Workload Identity Federation ID 제공자를 구성하려면 다음을 수행합니다.

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

2
  1. Set Up Identity Provider 또는 Configure Identity Provider을(를) 클릭합니다.

  2. Workload Identity Provider Continue0}을 선택하고 을 클릭합니다.

3
설정
필요성

Configuration Name

필수 사항

이 구성을 식별하는 사람이 읽을 수 있는 레이블을 지정합니다. 이 레이블은 Atlas 사용자가 볼 수 있습니다.

Configuration Description

옵션

이 구성을 설명합니다.

Issuer URI

필수 사항

Microsoft Entra ID 애플리케이션 등록 시 제공한 발급자 URI 값을 지정합니다. 학습 내용은 외부 ID 준비하기 표를 참조하세요.

오디언스

필수 사항

Azure Entra ID 애플리케이션 등록에서 애플리케이션 ID URI 값을 지정합니다.학습 내용은 외부 ID 준비하기 표를 참조하세요.

권한 부여 유형

필수 사항

그룹 멤버십을 기반으로 권한 부여 을 부여하려면 Group Membership 을 선택하고, 개별 사용자에게 권한을 부여하려면 User ID 을 선택합니다.

애플리케이션 액세스 에는 사용자 ID 를 사용하는 것이 더 일반적입니다.

Groups Claim

조건부

주체의 IdP 사용자 그룹 구성원 자격 정보를 포함하는 클레임의 식별자를 지정합니다. 권한 부여 유형으로 Groups Membership 를 선택하는 경우 이 필드 를 지정해야 합니다. 설정하다 을 기본값 인 groups 으로 그대로 둡니다.

기본값: groups

User Claim

필수 사항

기본값 인 sub 을(를) 수정하지 마세요.

기본값: sub

4
5
  1. Connect Organizations를 클릭합니다.

  2. Workload Identity Federation에 연결하려는 조직 의 경우 Configure Access 을(를) 클릭합니다.

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

    참고

    다른 IdP 를 이미 구성한 경우 Atlas 는 대신 Connect Identity Provider(s) 버튼을 표시합니다.

6

Connect Identity Provider(s) 모달에서 PurposeWorkload Identity Federation 인 워크로드 아이덴티티 제공자를 선택합니다.

7

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

에서 을 사용하여 Workload Identity Federation ID 제공자를 구성하려면 Google Cloud Platform Atlas 다음을 수행합니다.

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

2
  1. Set Up Identity Provider 또는 Configure Identity Provider을(를) 클릭합니다.

  2. Workload Identity Provider Continue0}을 선택하고 을 클릭합니다.

3
설정
필요성

Configuration Name

필수 사항

이 구성을 식별하는 사람이 읽을 수 있는 레이블을 지정합니다. 이 레이블은 Atlas 사용자가 볼 수 있습니다.

Configuration Description

옵션

이 구성을 설명합니다.

Issuer URI

필수 사항

URI https://accounts.google.com 을(를) 입력합니다.

오디언스

필수 사항

사용자 지정 값을 지정합니다. Audience는 MongoDB 드라이버를 호출하는 동안 사용됩니다.

권한 부여 유형

필수 사항

그룹 멤버십을 기반으로 권한 부여 을 부여하려면 Group Membership 을 선택하고, 개별 사용자에게 권한을 부여하려면 User ID 을 선택합니다.

애플리케이션 액세스 에는 사용자 ID 를 사용하는 것이 더 일반적입니다.

User Claim

필수 사항

기본값 인 sub 을(를) 수정하지 마세요.

기본값: sub

4
5
  1. Connect Organizations를 클릭합니다.

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

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

    참고

    다른 IdP 를 이미 구성한 경우 Atlas 는 대신 Connect Identity Provider(s) 버튼을 표시합니다.

6

Connect Identity Provider(s) 모달에서 PurposeWorkload Identity Federation 인 워크로드 아이덴티티 제공자를 선택합니다.

7

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

시작하기 전에 데이터베이스 사용자를 추가하려면 다음 항목이 있어야 합니다.

  • Project Owner 액세스

  • Atlas 에서 구성되고 조직에 대해 활성화된 Workload Identity Federation.

1
2

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

참고

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

3
  1. Select Identity Provider 섹션에서 구성된 워크로드 아이덴티티 제공자를 선택합니다.

  2. 구성된 워크로드 아이덴티티 공급자와 연결된 사용자 식별자 또는 그룹 식별자를 지정합니다.

참고

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

  • GCP 사용자의 경우 이 값은 GCP 서비스 계정의 고유 ID에 매핑됩니다.

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

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

다음 MongoDB 드라이버 중 나열된 버전 이상을 사용하여 Workload Identity Federation 인증 을 통해 애플리케이션 을 MongoDB 에 연결합니다.

참고

이 절차는 자신의 서명 키를 관리 하는 사용자에게만 해당됩니다.

이 기능 을 사용하여 서명 키를 순환하지 마세요. Workload Identity Federation 서명 키를 순환하면 기존 액세스 토큰이 만료될 때 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)를 다시 시작해야 합니다.

Workload Identity Federation 구성을 삭제하려면 다음을 수행합니다.

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

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

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

2

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

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

  2. Workload Identity Federation이 활성화된 조직을 클릭합니다.

  3. Workload Identity Federation 카드의 Manage 드롭다운에서 Disconnect 을 클릭합니다.

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

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

4

왼쪽 탐색에서 Identity Providers를 클릭합니다.

5
6

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

돌아가기

인력(휴먼)