단일 자격 증명 설정하다 사용하여 다양한 플랫폼에서 사용자를 인증하도록 MongoDB with Workforce Identity Federation을 구성합니다. 이렇게 하면 보안이 강화되고 사용자 관리 간소화됩니다.
중요
OIDC(OpenID Connect)는 Linux 에서만 지원됩니다.
시작하기 전에
MongoDB Enterprise를 사용하고 있는지 확인합니다.
MongoDB 엔터프라이즈 사용하고 있는지 확인하려면
--version
명령줄 옵션을 또는mongod
mongos
에 전달합니다.mongod --version 이 명령의 출력에서
modules: subscription
또는modules: enterprise
문자열을 찾아 MongoDB Enterprise 바이너리를 사용하고 있는지 확인합니다.외부 ID 제공자 구성합니다. 자세한 내용은 인력 인증을 위한 외부 ID 제공자 구성을 참조하세요.
단계
OIDC(OpenID Connect)로 MongoDB 서버 구성
참고
Workforce Identity Federation을 위해 MongoDB 구성할 때는 supportsHumanFlows
에서 필드 oidcIdentityProviders
생략합니다.
구성 파일 또는 명령줄 사용하여 MongoDB 서버 구성할 수 있습니다.
구성 파일 사용하려면 파일 에 다음 매개변수를 지정합니다.
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: '[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "clientId": "0zzw3ggfd2ase33", } ]'
여러 ID 제공자를 지정하려면 oidcIdentityProviders
배열 에 객체를 추가합니다. 여러 ID 제공자를 지정하는 경우 각 제공자 에 대해 matchPattern
를 지정해야 합니다. 예시 를 들면 다음과 같습니다.
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: '[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "matchPattern": "@okta.com$", "clientId": "0zzw3ggfd2ase33", }, { "issuer": "https://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "authorizationClaim": "groups", "matchPattern": "@azure.com$", "clientId": "1zzw3ggfd2ase33", } ]'
명령줄 사용하려면 다음 스타트업 옵션을 지정합니다.
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "clientId": "0zzw3ggfd2ase33", } ]'
여러 ID 제공자를 지정하려면 oidcIdentityProviders
배열 에 객체를 추가합니다. 여러 ID 제공자를 지정하는 경우 각 제공자 에 대해 matchPattern
를 지정해야 합니다. 예시 를 들면 다음과 같습니다.
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "authorizationClaim": "groups", "matchPattern": "@okta.com$", "clientId": "0zzw3ggfd2ase33", }, { "issuer": "https://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "authorizationClaim": "groups", "matchPattern": "@azure.com$", "clientId": "1zzw3ggfd2ase33", } ]'
(선택 사항) 내부 권한 부여 부여 활성화
내부 권한 부여 활성화 하려면 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, "clientId": "0zzw3ggfd2ase33" } ]'
여러 ID 제공자를 지정하려면 oidcIdentityProviders
배열 에 객체를 추가합니다. 예시 를 들면 다음과 같습니다.
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: '[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "useAuthorizationClaim": false, "clientId": "0zzw3ggfd2ase33" }, { "issuer": "https://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "useAuthorizationClaim": false, "clientId": "1zzw3ggfd2ase33" } ]'
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ { "issuer": "https://okta-test.okta.com", "audience": "example@kernel.mongodb.com", "authNamePrefix": "okta-issuer", "useAuthorizationClaim": false, "clientId": "0zzw3ggfd2ase33" } ]'
여러 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, "clientId": "0zzw3ggfd2ase33" }, { "issuer": "https://azure-test.azure.com", "audience": "example2@kernel.mongodb.com", "authNamePrefix": "azure-issuer", "useAuthorizationClaim": false, "clientId": "1zzw3ggfd2ase33" } ]'
useAuthorizationClaim
를 false
로 설정하다 하면 MONGODB-OIDC
메커니즘으로 인증하는 사용자는 $external
의 사용자 문서 에서 권한 부여 권한을 얻습니다. 서버 ID 제공자 의 사용자에 대한 모든 OIDC 기반 인증 시도에 대해 authNamePrefix/principalName
클레임 값과 일치하는 _id
가 있는 사용자 문서 를 검색합니다.