MongoDB 7.0 이상에서는 Workforce Identity Federation을 통해 회사 자격 증명 공급자(자격 증명 공급자)와 같은 외부 자격 증명 공급자(자격 증명 공급자)를 사용할 수 있습니다. 인력 인증 페더레이션은 직원, 제휴하다, 계약업체 등 인력을 인증하고 권한을 부여합니다.
Workforce Identity Federation을 사용하면 다음을 수행할 수 있습니다.
기존 IdP를 통해 MongoDB deployment에 대한 직원 액세스를 관리합니다.
비밀번호 복잡성, 자격 증명 순환, 다단계 인증 과 같은 보안 정책을 IdP 내에서 시행합니다.
Workforce Identity Federation(직원 ID 페더레이션)은 프로젝트 당 하나만 생성할 수 있지만, 언제든지 구성을 편집하거나 다시 생성할 수 있습니다.
필요한 액세스 권한
Workforce Identity Federation을 구성하려면 MongoDB Ops Manager 에 대한 액세스 이 있어야 Project Owner MongoDB Ops Manager합니다.
전제 조건
다음 전제 조건을 충족해야 합니다:
mongosh1.9.1 이상입니다.MongoDB 7.0 이상.
MongoDB Agent 가 구성된 다른 인증 메커니즘 이 하나 이상 있습니다.
참고
MongoDB Agent는 OIDC를 통해 배포서버에 연결할 수 없습니다. MongoDB Agent에 대해 다른 인증 메커니즘을 사용하도록 설정해야 합니다. MongoDB Ops Manager 가 모니터링 또는 백업을 관리 하지 않는 경우, 대체 인증 메커니즘을 사용하도록 수동으로 구성해야 합니다.
절차
MongoDB Ops Manager Workforce Identity Federation을 사용하여 MongoDB Ops Manager 배포서버에 액세스 하려면 다음 단계를 따르세요.
인력 ID 제공자를 구성합니다(일회성 설정).
외부 자격 증명 공급자 앱 구성
중요한: 프로젝트의 인증 및 TLS 설정을 재설정 하려면, 먼저 MongoDB Ops Manager 프로젝트에서 관리하는 모든 MongoDB 배포를 관리 해제 합니다.
OIDC를 사용하여 Workforce Identity Federation을 구성하려면 OIDC 표준을 지원하는 자격 증명 공급자 에 OIDC 앱을 등록합니다. 예시로는 Microsoft Entra ID, Okta, 및 핑 Identity 등이 있습니다.
다음 권한 부여 유형에 대해 OIDC 앱을(를) 구성할 수 있습니다.
PKCE를 사용한 권한 부여 코드 흐름
기기 권한 부여 흐름
MongoDB는 보안 강화를 위해 PKCE 와 함께 Authorization Code Flow(권한 부여 코드 흐름)를 사용할 것을 권장합니다. 사용자가 브라우저 없이 컴퓨터에서 데이터베이스에 액세스해야 하는 경우에만 Device Authorization Flow(장치 권한 부여 흐름)를 사용하세요.
OIDC 앱 등록 단계는 자격 증명 공급자에 따라 다라질 수 있습니다. 앱 등록 시 다음 항목을 설정합니다:
OIDC 앱의 일반적인 등록 단계는 다음과 같습니다.
(선택 사항) MongoDB 클라이언트가 더 나은 사용자 경험을 위해 토큰을 새로 고침하도록 하려면 refresh tokens(새로 고침 토큰)를 허용하세요.
(선택 사항) 데이터베이스 연결 세션 시간에 맞게 액세스 토큰 수명(exp 클레임)을 구성합니다.
애플리케이션 을 등록한 후 구성의 다음 단계에서 사용할 issuer, clientId 및 audience 값을 저장합니다.
Microsoft Entra ID 로 OIDC 앱 을(를) 등록하려면 다음을 수행합니다.
애플리케이션을 등록합니다.
App registrations(으)로 이동합니다.
Azure Portal 계정에서 Microsoft Entra ID를 검색 하고 클릭합니다.
좌측 탐색의 Manage 섹션에서 App registrations을 클릭합니다.
New registration를 클릭합니다.
다음 값을 적용합니다.
필드값Name
Ops Manager Database - Workforce
Supported Account Types
Accounts in this organizational directory only (single tenant)
Redirect URI
- Public client/native (mobile & desktop)
-http://localhost:27097/redirectRegister를 클릭합니다.
애플리케이션 등록에 대해 자세히 학습하려면 Azure 설명서를 참조하세요.
그룹 클레임을 추가합니다.
Token Configuration(으)로 이동합니다.
좌측 탐색의 Manage 섹션에서 Token Configuration을 클릭합니다.
Add groups claim를 클릭합니다.
Edit groups claim 0} 모달에서 을 Security 선택합니다.
선택하는 그룹은 Azure 환경에서 구성한 그룹 유형에 따라 다릅니다. 적절한 그룹 정보를 전송하려면 다른 그룹 유형을 선택해야 할 수도 있습니다.
Customize token properties by type 섹션에서 Group ID 만 선택합니다.
Add를 클릭합니다.
그룹 클레임 추가에 대해 자세히 학습하려면 Azure 설명서를 참조하세요.
매니페스트를 업데이트합니다.
좌측 탐색의 Manage 섹션에서 Manifest을 클릭합니다.
0}을 accessTokenAcceptedVersion
null에서2로 업데이트합니다.숫자
2는 Microsoft의 액세스 토큰 버전 2를 나타냅니다. 다른 애플리케이션에서는 이를 Active Directory에서 관리하는 사용자 ID의 서명된 증명으로 사용합니다. 버전 2는 토큰이 MongoDB가 이해할 수 있는 JSON Web Token인지 확인합니다.Save를 클릭합니다.
선택적 클레임을 추가하는 방법에 대해 자세히 학습하려면 Azure 설명서를 참조하세요.
메타데이터를 기억하세요.
왼쪽 탐색에서 Overview을 클릭합니다.
Application (client) ID 값을 복사합니다.
상단 탐색에서 Endpoints을 클릭합니다.
/.well-known/openid-configuration부분을 제외한 OpenID Connect metadata document 값을 복사합니다.OpenID Connect metadata document URL 에서
issuer값을 복사하여 이 값을 가져올 수도 있습니다.
다음 표는 이러한 Microsoft Entra ID UI 값이 MongoDB Atlas 구성 속성에서 매핑되는 것을 보여줍니다.
Microsoft Entra ID UI | MongoDB Atlas 구성 속성 |
|---|---|
Application (client) ID | Client ID |
OpenID Connect metadata document (without /.well-known/openid-configuration) | Issuer URI. |
Workforce Identity Federation 인증 구성
OIDC를 사용하여 Workforce Identity Federation을 구성하려면 다음 절차를 완료하세요.
참고
Workforce Identity Federation은 JSON Web Token(JWT) 인증만 지원합니다. 불투명 액세스 토큰을 지원하지 않습니다.
배포서버 에 대한 Security Settings 대화 상자로 이동합니다.
탐색 표시줄의 메뉴에서 프로젝트 가 포함된 조직 을 선택합니다. Organizations
탐색 표시줄의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Deployment를 클릭합니다.
Security 탭을 클릭합니다.
Settings 탭을 클릭합니다.
다음 작업 중 하나를 수행합니다.
이 프로젝트에 대한 TLS, 인증 또는 권한 부여 설정을 처음 구성하는 경우 Get Started을(를) 클릭합니다.
이 프로젝트에 대한 TLS 인증 또는 권한 부여 설정을 이미 구성한 경우, 을(를) Edit 클릭합니다.
선택 사항: TLS 설정을 지정합니다.
필드 | 작업 |
|---|---|
MongoDB deployment TLS(전송 계층 보안) | 이 슬라이더를 ON(으)로 전환합니다. |
TLS CA 파일 경로 | TLS 인증 기관 파일은 인증 기관의 루트 인증서 체인을 포함하는
MongoDB 프로세스를 실행하는 모든 호스트에서 TLS 인증 기관 파일의 파일 경로를 입력합니다.
이렇게 하면 프로젝트의 MongoDB 프로세스에 대한 배포서버의 각 호스트에 지정된 경로에 TLS 인증 기관이 있는지 테스트하려면 Validate을(를) 클릭하세요. |
클러스터 TLS CA 파일 경로 | 클라이언트가 연결을 구축할 때 제시한 인증서의 유효성을 검사할 때 사용된 인증 기관의 루트 인증서 체인이 포함되어 있는
|
클라이언트 인증서 모드 | Select if client applications or MongoDB Agents must present a TLS certificate when connecting to TLS-enabled MongoDB deployments. Each MongoDB deployment checks for certificates from these client hosts when they try to connect. If you choose to require the client TLS certificates, make sure they are valid. 허용되는 값은 다음과 같습니다.
|
다음 설정을 입력합니다.
설정 | 필요성 | 값 |
|---|---|---|
Configuration Name | 필수 사항 | 이 구성을 식별하는 고유 레이블입니다. 이 레이블은 MongoDB Ops Manager 사용자가 볼 수 MongoDB Ops Manager 있으며 권한 부여 를 위한 사용자 및 역할을 생성할 때 사용됩니다. 대소문자를 구분하며 다음 문자만 포함할 수 있습니다.
구성을 저장한 후에는 구성 이름을 편집할 수 없습니다. |
Issuer URI | 필수 사항 | 등록된 IdP 애플리케이션에서 제공하는 발급자 값입니다. MongoDB는 이 URI를 사용하여 |
Client ID | 필수 사항 | 등록된 애플리케이션 의 고유 식별자입니다. 외부 ID 제공자에 등록한 앱 의 |
Audience | 필수 사항 | 외부 ID 제공자 가 토큰을 사용하는 엔티티입니다. 외부 ID 제공자에 등록한 앱 의 |
Requested Scopes | 옵션 | 사용자에게 권한 부여 엔드포인트에서 데이터를 요청할 수 있는 권한을 부여하는 토큰. 추가하려는 각 추가 범위에 대해 Add more scopes를 클릭합니다. |
권한 부여 유형 | 필수 사항 | 자격 증명 공급자 사용자 그룹 멤버십을 기반으로 권한을 부여하려면 |
Customize User Claim | 필수 사항 | 사용자 보안 주체 ID를 포함하는 클레임의 식별자. IdP가 다른 클레임을 사용하지 않는 한 기본값을 그대로 사용합니다. 기본값: |
Customize Group Claim | 필수 사항 | 권한 부여 유형으로 기본값: |
OIDC 권한 부여 구성
MongoDB는 OIDC에 대해 명시적으로 데이터베이스 사용자를 생성하지 않습니다. 구성을 기반으로 OIDC 사용자를 MongoDB 역할에 매핑합니다.
OIDC 인증 구성할 때 선택한 권한 부여 유형에 따라 절차를 따르십시오. OIDC 인증 구성할 때:
그룹 멤버십
Group Membership 권한 부여 유형을 선택한 경우, 다음 단계를 따라 자격 증명 공급자 사용자 그룹 멤버십을 기반으로 권한 부여를 부여하는 사용자 지정 역할을 생성합니다.
OIDC 역할을 만듭니다.
다음 필드를 입력합니다.
필드필요성설명Identifier
필수 사항
Database 상자에
admin을 입력합니다.Name 상자에 OIDC 자격 증명 공급자 구성 이름과 외부 자격 증명 공급자의 그룹 이름을 슬래시(
/)로 구분하여 입력합니다:{configuration_name}/{group_name}Inherits From
옵션
역할 이름 및 데이터베이스 쌍 목록입니다. 이러한 쌍의 형식은
roleName@dbName입니다.Authentication Restrictions
옵션
IdP 에서 제한하려는 IP 주소 또는 CIDR 표기법의 목록입니다.
Privilege Actions by Resource
옵션
리소스에 허용된 조치입니다.
학습 내용은 권한 작업을 참조하세요.
Add Role를 클릭합니다.
사용자 ID
User ID 권한 부여 유형을 선택한 경우 새 사용자를 생성하여 개별 사용자에게 권한을 권한 부여 합니다.
OIDC 사용자를 추가합니다.
참고
사용자를 추가하기 전에 사용자에게 할당하려는 역할을 생성했는지 확인합니다.
사용자 계정 필드를 작성합니다.
필드설명Identifier
첫 번째 필드 에
$external데이터베이스 를 입력합니다.두 번째 필드 에는 귀하의 OIDC 자격 증명 공급자 구성 이름과 구성의 사용자 주체 클레임을 슬래시(
/)로 구분한 사용자 이름{configuration_name}/{user_principal_claim}을(를) 입력합니다.
Roles
이 상자에 사용 가능한 사용자 정의 역할과 기본 제공 역할을 입력합니다. 콤보 상자를 클릭하면 기존 역할 목록이 제공됩니다.
Authentication Restrictions
Add Entry를 클릭합니다.
Client Source 또는 Server Address 상자에 하나 이상의 IP 주소 및/또는 CIDR 블록을 추가합니다. 쉼표로 여러 개의 주소 또는 블록을 구분하세요.
Client Source 이 사용자가 인증하고 지정된 역할을 사용할 수 있는 주소를 제한합니다.
Server Address 이 사용자가 인증할 수 있고 지정된 역할을 갖는 주소를 제한합니다.
Save를 클릭합니다.
다른 항목을 추가하려면 Add Entry 을 클릭합니다.
Add User를 클릭합니다.
Workforce Identity Federation으로 MongoDB 에 연결하기
mongosh 또는 Compass 를 사용하여 Workforce Identity Federation 인증으로 앱을 MongoDB에 연결합니다.
기존 Workforce Identity Federation 구성 관리
Workforce Identity Federation 구성을 관리하기 위해 이러한 조치를 수행할 수 있습니다.
Revoke JSON Web Key Sets (JWKS)
참고
이 기능을 사용하여 서명키를 순환하지 마세요. OIDC IdP 서명키를 순환하면 기존 액세스 토큰이 만료될 때 MongoDB가 자동으로 JWKS를 가져옵니다.
개인 키가 손상된 경우, MongoDB 노드에 캐시된 JSON 웹 키 세트를 즉시 취소할 수 있습니다.
구성 편집
Workforce Identity Federation 구성을 편집하려면 다음을 수행합니다.
구성 삭제
Workforce Identity Federation 구성을 삭제 다음을 수행합니다.