Workload Identity Federation을 사용하여 MongoDB 구성하여 다양한 플랫폼에서 서비스를 인증합니다. 이를 통해 보안을 강화하고 서비스 ID 관리 간소화할 수 있습니다.
중요
OIDC(OpenID Connect)는 Linux 에서만 지원됩니다.
시작하기 전에
MongoDB Enterprise를 사용하고 있는지 확인합니다.
MongoDB 엔터프라이즈 사용하고 있는지 확인하려면
--version명령줄 옵션을 또는mongodmongos에 전달합니다.mongod --version 이 명령의 출력에서
modules: subscription또는modules: enterprise문자열을 찾아 MongoDB Enterprise 바이너리를 사용하고 있는지 확인합니다.외부 자격 증명 공급자를 구성합니다. 자세한 내용은 Configure Workload Identity Federation(워크로드 아이덴티티 페더레이션 구성)을 참조하세요.
단계
OIDC(OpenID Connect)로 MongoDB 서버 구성
MongoDB 서버 구성하려면 MONGODB-OIDC 인증 메커니즘 활성화 하고 oidcIdentityProviders 를 사용하여 자격 증명 공급자 구성을 지정합니다.
참고
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, } ]'
여러 IdP를 지정하려면 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, } ]'
여러 IdP를 지정하려면 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로 설정하다 . 이 설정을 사용하면 IdP의 권한 부여 클레임 대신 사용자 문서에 의존하여 보다 유연한 사용자 관리 가능합니다.
중요
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, } ]'
여러 IdP를 지정하려면 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, } ]'
여러 IdP를 지정하려면 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, } ]'
When you set useAuthorizationClaim to false, users who authenticate with the MONGODB-OIDC mechanism obtain their 권한 부여 rights from a user document in $external. 서버 자격 증명 공급자 사용자에 대한 모든 OIDC 기반 인증 시도에 대해 authNamePrefix/principalName 클레임 값과 일치하는 _id 가 있는 사용자 document 검색합니다.
(조건부) 내부 X509 TLS용 CA 인증서
내부 인증 기관(CA)에서 서명한 X509 TLS 인증서를 사용하는 환경의 경우, mongod 이(가) 자격 증명 공급자와 통신할 수 있도록 시스템 CA 인증서 번들에 CA 인증서를 추가해야 합니다. 이는 콜백 메서드를 사용할 때 사용자 인증 및 워크로드 인증 에 적용됩니다. 이 단계를 생략하면 OIDC SSL 인증서 또는 JWT 키 확인 오류가 발생할 수 있습니다.