OIDC로 Workforce Identity Federation 설정하기
이 페이지의 내용
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 클러스터에 액세스 하려면 다음 단계를 완료하세요.
인력 ID 제공자를 구성합니다(일회성 설정).
외부 ID(사용자 주체) 또는 그룹에 MongoDB 클러스터에 액세스 을 부여합니다.
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 에 따라 다를 수 있습니다. 등록 프로세스 중에 다음 항목을 완료해야 합니다.
(조건부) 그룹으로 인증하는 경우 클레임을 추가하거나 groups 활성화 합니다.
그룹의 경우 이 단계에서는 액세스 토큰에 인증하는 사용자의 그룹 멤버십 정보가 포함되어 있는지 확인합니다. MongoDB는 권한 부여를 위해 그룹 클레임으로 전송된 값을 사용합니다.
(선택 사항) MongoDB 클라이언트가 더 나은 사용자 경험을 위해 토큰을 새로 고침하도록 하려면 refresh tokens(새로 고침 토큰)를 허용하세요.
(선택 사항) 데이터베이스 연결 세션 시간에 맞게 액세스 토큰 수명(exp
클레임)을 구성합니다.
애플리케이션 을 등록한 후 issuer
, clientId
및 audience
값을 저장하여 Atlas Workforce IdP 구성의 다음 단계에서 사용할 수 있습니다.
Microsoft Entra ID 로 OIDC 애플리케이션 을 등록하려면 다음을 수행합니다.
애플리케이션을 등록합니다.
App registrations(으)로 이동합니다.
Azure Portal 에서 계정을 검색 하고 를 Microsoft Entra ID 클릭합니다.
좌측 탐색의 Manage 섹션에서 App registrations을 클릭합니다.
New registration를 클릭합니다.
다음 값을 적용합니다.
필드값NameAtlas Database - WorkforceSupported Account TypesAccounts in this organizational directory only (single tenant)Redirect URI- Public client/native (mobile & desktop)-http://localhost:27097/redirect
Register를 클릭합니다.
애플리케이션 등록에 대해 자세히 알아보려면 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
값을 복사하여 이 값을 가져올 수도 있습니다.
다음 표는 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. |
Workforce Identity Federation 인증 구성
참고
전제 조건
이 절차에서는 Organization Owner
액세스 권한이 있어야 하며 IdP 에 OIDC 애플리케이션이 이미 생성되어 있다고 가정합니다. IdP 를 구성하는 방법을 알아보려면 외부 ID 제공자 애플리케이션 구성을 참조하세요.
Federation Management Console에서 Atlas의 데이터베이스 액세스를 위해 OIDC를 사용하여 Workforce Identity Federation을 구성할 수 있습니다.
Atlas 에서 Workforce Identity Provider를 구성하려면 다음을 수행합니다.
도메인 소유권을 추가하고 확인합니다.
IdP 에 등록하는 도메인의 소유권을 확인해야 합니다. 이미 Atlas 에 SAML SSO에 도메인을 등록한 경우 이 단계를 건너뛸 수 있습니다.
왼쪽 사이드바에서 Domains(도메인)를 선택합니다.
Add Domain 버튼을 클릭합니다.
Display Name 상자에 표시 이름을 입력합니다.
Domain Name 상자에 도메인 이름을 입력합니다.
HTML File Upload 또는 DNS Record 버튼을 클릭하여 도메인의 소유자임을 확인하는 데 사용할 방법을 선택합니다.
HTML File Upload 을(를) 선택한 경우 제공된 HTML 파일을 다운로드하여 도메인에 업로드하여
https://<your-domain/mongodb-site-verification.html>
에서 액세스할 수 있습니다.DNS Record 을(를) 선택한 경우 제공된
TXT Record
을(를) 복사하여 도메인 제공자에 업로드합니다.Continue를 클릭합니다.
마지막으로 Domains 페이지에서 새로 추가된 도메인의 Verify 버튼을 클릭합니다.
다음 Workforce Identity Provider Protocol Settings(직원 ID 제공자 프로토콜 설정)를 입력합니다.
설정 | 필요성 | 값 |
---|---|---|
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 | 옵션 | 사용자에게 권한 부여 엔드포인트에서 데이터를 요청할 수 있는 권한을 부여하는 토큰입니다. 새로 고침 토큰을 지원할 계획인 경우 이 필드에 ID 제공자 가 Microsoft Entra ID 인 경우 Atlas 에 이 설정이 필요합니다. 기본값 범위인 추가하려는 각 추가 범위에 대해 Add more scopes를 클릭합니다. |
User Claim | 필수 사항 | 사용자 주체 ID를 포함하는 클레임의 식별자입니다. IdP 가 다른 클레임을 사용하지 않는 한 기본값을 그대로 사용합니다. 기본값: |
Groups Claim | 필수 사항 | 주체의 IdP 사용자 그룹 구성원 자격 정보를 포함하는 클레임의 식별자입니다. IdP 가 다른 클레임을 사용하거나 사용자 지정 클레임이 필요한 경우가 아니라면 기본값을 그대로 사용합니다. 이 필드는 기본값: |
인력 인증을 사용하여 데이터베이스 사용자 추가
AtlasGo Atlas 에서 프로젝트 의 Database Access 페이지로 고 (Go) 합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Database 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.14+
기존 Workforce Identity Federation 구성 관리
Revoke JWKS
참고
자체 서명 키를 관리하는 경우에만 다음 절차를 사용하세요.
이 기능 을 사용하여 서명 키를 순환하지 마세요. 인력 ID 제공자 서명 키를 순환하면 기존 액세스 토큰이 만료되면 MongoDB 가 자동으로 JWKS를 가져옵니다.
개인키가 손상된 경우 MongoDB 노드에 캐시된 JSON 웹 키 세트(JWKS)를 즉시 취소할 수 있습니다.
Atlas에서 Organization Settings 페이지로 이동합니다.
아직 표시되지 않은 경우 다음 목록에서 원하는 조직 을 선택하세요. 탐색 표시줄의 Organizations 메뉴.
1} 메뉴 옆에 있는 아이콘을 클릭합니다.Organization Settings Organizations
조직 설정 페이지가 표시됩니다.
인력 ID 제공자 구성 삭제
인력 ID 제공자 구성을 삭제 다음을 수행합니다.
Atlas에서 Organization Settings 페이지로 이동합니다.
아직 표시되지 않은 경우 다음 목록에서 원하는 조직 을 선택하세요. 탐색 표시줄의 Organizations 메뉴.
1} 메뉴 옆에 있는 아이콘을 클릭합니다.Organization Settings Organizations
조직 설정 페이지가 표시됩니다.
Workforce Identity Provider에 연결한 각 조직 의 연결을 해제합니다.
왼쪽 사이드바에서 Organizations 을(를) 클릭합니다.
Workforce Identity Federation(직원 ID 페더레이션)이 활성화된 조직 을 클릭합니다.
Workforce Identity Federation 카드의 Manage 드롭다운에서 Disconnect 을(를) 클릭합니다.
Disconnect identity provider? 모달에서 Disconnect를 클릭합니다.
IdP 연결을 끊으면 IdP 를 사용하여 인증하는 사용자는 표에 나열된 Atlas 프로젝트의 Workforce Identity Federation에 액세스 을 잃게 Project 됩니다.
Delete Identity Provider? 모달에서 Delete를 클릭합니다.