Workload Identity Federation을 사용하여 MongoDB 구성하여 다양한 플랫폼에서 서비스를 인증합니다. 이를 통해 보안을 강화하고 서비스 ID 관리 간소화할 수 있습니다.
중요
OIDC(OpenID Connect)는 Linux 에서만 지원됩니다.
시작하기 전에
MongoDB Enterprise를 사용하고 있는지 확인합니다.
MongoDB 엔터프라이즈 사용하고 있는지 확인하려면
--version명령줄 옵션을 또는mongodmongos에 전달합니다.mongod --version 이 명령의 출력에서
modules: subscription또는modules: enterprise문자열을 찾아 MongoDB Enterprise 바이너리를 사용하고 있는지 확인합니다.외부 ID 제공자 를 구성합니다. 자세한 내용은 Configure Workload Identity Federation(워크로드 아이덴티티 페더레이션 구성)을 참조하세요.
단계
OIDC(OpenID Connect)로 MongoDB 서버 구성
MongoDB 서버를 구성하려면 MONGODB-OIDC 인증 메커니즘을 활성화하고 oidcIdentityProviders를 사용하여 멱등(IDP) 구성을 지정합니다.
참고
Workload Identity Federation을 위해 MongoDB 구성할 supportsHumanFlows 때 의 oidcIdentityProviders 필드 false 로 설정하다 .
구성 파일 또는 명령줄 사용하여 MongoDB 서버 구성할 수 있습니다.
구성 파일 사용하려면 파일 에 다음 매개변수를 지정합니다.
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: '[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "supportsHumanFlows": false, } ]'
여러 ID 제공자를 지정하려면 oidcIdentityProviders 배열 에 객체를 추가합니다. 예시 를 들면 다음과 같습니다.
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: '[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "supportsHumanFlows": false, }, { "issuer": "https://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "authorizationClaim": "groups", "supportsHumanFlows": false, } ]'
명령줄 사용하려면 다음 스타트업 옵션을 지정합니다.
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "supportsHumanFlows": false, } ]'
여러 ID 제공자를 지정하려면 oidcIdentityProviders 배열 에 객체를 추가합니다. 예시 를 들면 다음과 같습니다.
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "supportsHumanFlows": false }, { "issuer": "https://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "authorizationClaim": "groups", "supportsHumanFlows": false } ]'
(선택 사항) 내부 권한 부여 부여 활성화
내부 권한 부여 활성화 하려면 oidcIdentityProviders 매개변수의 useAuthorizationClaim 필드 false로 설정하다 . 이 설정을 사용하면 ID 제공자 의 권한 부여 클레임 대신 사용자 문서에 의존하여 보다 유연한 사용자 관리 가능합니다.
중요
useAuthorizationClaim 이(가) false(으)로 설정하다 경우 authorizationClaim 필드 포함하지 마세요.
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: '[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "useAuthorizationClaim": false, "supportsHumanFlows": false, } ]'
여러 ID 제공자를 지정하려면 oidcIdentityProviders 배열 에 객체를 추가합니다. 예시 를 들면 다음과 같습니다.
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: '[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "useAuthorizationClaim": false, "supportsHumanFlows": false, }, { "issuer": "https://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "useAuthorizationClaim": false, "supportsHumanFlows": false, } ]'
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "useAuthorizationClaim": false, "supportsHumanFlows": false, } ]'
여러 ID 제공자를 지정하려면 oidcIdentityProviders 배열 에 객체를 추가합니다. 예시 를 들면 다음과 같습니다.
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "useAuthorizationClaim": false, "supportsHumanFlows": false, }, { "issuer": "https://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "useAuthorizationClaim": false, "supportsHumanFlows": false, } ]'
useAuthorizationClaim 를 false로 설정하다 하면 MONGODB-OIDC 메커니즘으로 인증하는 사용자는 $external의 사용자 문서 에서 권한 부여 권한을 얻습니다. 서버 ID 제공자 의 사용자에 대한 모든 OIDC 기반 인증 시도에 대해 authNamePrefix/principalName 클레임 값과 일치하는 _id 가 있는 사용자 문서 를 검색합니다.
(조건부) 내부 X509 TLS용 CA 인증서
내부 인증 기관(CA)에서 서명한 X TLS 인증서를 사용하는 환경의 경우, 이(가) ID 제공자 와 통신할 수 있도록 시스템 CA 인증서 번들에 CA 인증서를 추가해야509 mongod 합니다. 이는 콜백 메서드를 사용할 때 사용자 인증 및 워크로드 인증 에 적용됩니다. 이 단계를 생략하면 OIDC SSL 인증서 또는 JWT 키 확인 오류가 발생할 수 있습니다.