Workload Identity Federation을 사용하면, 애플리케이션이 Azure 서비스 주체, Azure managed ID 및 Google 서비스 계정과 같은 외부 프로그래밍 ID를 사용하여 MongoDB Ops Manager 배포서버 액세스 할 수 있습니다.
작동 방법
워크로드 아이덴티티 페더레이션을 사용하면 애플리케이션이 OAuth 2.0 액세스 토큰으로 MongoDB 배포서버에 액세스할 수 있습니다. 액세스 토큰은 Azure Entra ID 및 Google Cloud Platform(GCP)을 포함한 모든 외부 자격 증명 공급자가 발급할 수 있습니다. MongoDB Ops Manager는 사용자 식별자 및 권한을 저장하지만 시크릿은 저장하지 않습니다. 제한된 일부 MongoDB 드라이버는 사용자의 애플리케이션에 대해 이 인증 메커니즘을 제공합니다.
MongoDB 드라이버는 워크로드 아이덴티티 페더레이션에 대해 내장 인증과 콜백 인증, 두 가지 유형의 인증 흐름을 지원 합니다.
내장 인증
앱을 호환되는 주체 유형과 함께 호환되는 인프라에 배포하는 경우 내장 인증을 사용할 수 있습니다. 귀하의 앱은 암호를 제공하거나 클라우드 공급자의 메타데이터 서비스에서 JSON web token을 수동으로 요청하지 않고도 MongoDB Ops Manager 배포서버에 액세스할 수 있습니다. 대신, 드라이버는 기존 주체 식별자를 사용하여 JSON web token(JWT) 액세스 토큰을 요청합니다. 드라이버는 앱이 연결될 때 MongoDB Ops Manager 배포서버에 토큰을 전달합니다.
구현 대한 자세한 내용은 사용하는 드라이버의 설명서를 참조하세요.
기본 제공 인증 지원 인프라 및 주체 유형
클라우드 제공자 | 인프라 유형 | 주체 유형 |
|---|---|---|
GCP | Compute Engine | GCP 서비스 계정 |
App Engine 표준 환경 | ||
App Engine 가변형 환경 | ||
Cloud 함수 | ||
Cloud Run | ||
Google Kubernetes Engine | ||
클라우드 빌드 | ||
Azure | Azure VM | Azure 관리 ID(사용자 및 시스템 할당) |
콜백 인증
OAuth 2.0 액세스 토큰을 지원하는 모든 서비스에서 콜백 인증을 사용할 수 있습니다. 워크로드 인증 페더레이션은 권한 부여 서버 또는 클라우드 공급자에서 필요한 JWT를 요청하는 콜백 메서드를 호출합니다. 앱이 연결되면 그 후 Workload Identity Federation으로 토큰을 MongoDB Ops Manager에게 전달합니다.
더 많은 구현 세부 정보는 드라이버 설명서를 검토하십시오.
Azure managed ID를 사용한 보안
Azure 관리 ID를 사용한 워크로드 Identity Federation은 Azure 에서 실행 MongoDB Ops Manager 배포서버에 인증하는 가장 안전한 방법을 제공합니다. 이 접근 방식은 다음과 같은 보안 이점을 제공합니다.
Managed Identities 활용: 이를 통해 Azure 서비스(예: Azure VM, AKS, Azure Functions)에서 실행되는 애플리케이션이 별도의 MongoDB 자격 증명 관리 없이 할당된 Azure Managed Identities를 사용하여 MongoDB Ops Manager에 인증할 수 있습니다.
안전한 '비밀번호 없는' 인증: 애플리케이션은 Azure 메타데이터 서버 에서 단기 OAuth 2.0 액세스 토큰을 얻은 다음 MongoDB Ops Manager 이를 확인합니다. 이렇게 하면 애플리케이션 코드 또는 구성 내에 민감한 데이터베이스 사용자 이름과 비밀번호를 저장하고 managed할 필요가 없습니다.
중앙 집중식 ID 관리: Azure Entra ID 프레임워크 내에서 Azure 워크로드의 ID를 관리 ID 관리 위한 단일 정보 소스를 제공합니다.
향상된 감사: Azure 서비스 계정 활동에 대한 감사 로그를 제공하여 추적 가능성 및 보안 모니터링 역량을 향상합니다.
필요한 액세스 권한
Workload Identity Federation을 구성하려면 MongoDB Ops Manager 에 대한 액세스 이 있어야 Project Owner MongoDB Ops Manager합니다.
전제 조건
다음 전제 조건을 충족해야 합니다:
MongoDB 7.0 이상.
MongoDB Agent 가 구성된 다른 인증 메커니즘 이 하나 이상 있습니다.
참고
MongoDB Agent는 OIDC를 통해 배포서버에 연결할 수 없습니다. MongoDB Agent에 대해 다른 인증 메커니즘을 사용하도록 설정해야 합니다. MongoDB Ops Manager 가 모니터링 또는 백업을 관리 하지 않는 경우, 대체 인증 메커니즘을 사용하도록 수동으로 구성해야 합니다.
절차
워크로드 Identity Federation을 구성하려면 다음 단계를 완료하세요.
워크로드 아이덴티티 제공자를 구성합니다(일회성 설정).
외부 멱등 애플리케이션 구성
중요한: 프로젝트의 인증 및 TLS 설정을 재설정 하려면, 먼저 MongoDB Ops Manager 프로젝트에서 관리하는 모든 MongoDB 배포를 관리 해제 합니다.
Workload Identity Federation 인증 구성
참고
Workload Identity Federation은 JSON web token 인증 을 위해 JSON web token 만 지원합니다. 불투명 액세스 토큰은 지원 하지 않습니다.
OIDC 인증 구성
MongoDB 는 OIDC에 대한 데이터베이스 사용자를 명시적으로 생성하지 않습니다. 구성을 기반으로 OIDC 사용자를 MongoDB 역할에 매핑합니다.
OIDC 인증 구성할 때 선택한 권한 부여 유형에 대한 절차를 완료하세요.
사용자 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를 클릭합니다.
그룹 멤버십
권한 부여 유형을 선택한 경우 다음 단계를 Group Membership 완료하여 IdP 사용자 그룹 멤버십을 기반으로 권한 부여 을 부여하는 사용자 지정 역할 을 생성합니다.
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를 클릭합니다.
워크로드 Identity Federation을 사용하여 앱을 MongoDB에 연결하기
다음 MongoDB 드라이버를 사용하여 워크로드 Identity Federation 인증을 통해 앱을 MongoDB 에 연결합니다:
기존 워크로드 아이덴티티 페더레이션 구성 관리
워크로드 Identity Federation 구성을 관리하려면 이러한 조치를 수행할 수 있습니다.
Revoke JWKS
참고
이 기능을 사용하여 서명키를 순환하지 마세요. OIDC IdP 서명키를 순환하면 기존 액세스 토큰이 만료될 때 MongoDB가 자동으로 JWKS를 가져옵니다.
개인키가 손상된 경우 MongoDB 노드에 캐시된 JSON 웹 키 세트(JWKS)를 즉시 취소할 수 있습니다.
구성 편집
Workload Identity Federation 구성을 편집하려면 다음을 수행합니다.
구성 삭제
Workload Identity Federation 구성을 삭제하려면 다음을 수행합니다.