Docs Menu

LDAP (PLAIN) ์ธ์ฆ

PLAIN ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์‚ฌ์šฉํ•˜๋ฉด LDAP(Lightweight Directory Access Protocol) ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ MongoDB ์— ์ธ์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ MongoDB Enterprise Advanced ์— ์ธ์ฆํ•  ๋•Œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒ

PLAIN ์ธ์ฆ

LDAP ์ธ์ฆ uses the PLAIN Simple Authentication and Security Layer (SASL) defined in 4616RFC-.

์ด ํŽ˜์ด์ง€์˜ ์ฝ”๋“œ ์˜ˆ์ œ์—์„œ๋Š” ๋‹ค์Œ ์ž๋ฆฌ ํ‘œ์‹œ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • <username>: LDAP ์‚ฌ์šฉ์ž ์ด๋ฆ„ ์ž…๋‹ˆ๋‹ค.

  • <password>: LDAP ๋น„๋ฐ€๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.

  • <hostname>: MongoDB deployment ์˜ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ .

  • <port>: MongoDB deployment ์˜ ํฌํŠธ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. ์ด ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ƒ๋žตํ•˜๋ฉด ์šด์ „์ž ๊ธฐ๋ณธ๊ฐ’ ํฌํŠธ ๋ฒˆํ˜ธ(27017)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. MongoDB Atlas cluster ์— ์—ฐ๊ฒฐํ•  ๋•Œ๋Š” ํฌํŠธ๋ฅผ ์ง€์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

  • <authenticationDb>: ์‚ฌ์šฉ์ž์˜ LDAP ์ž๊ฒฉ ์ฆ๋ช… ํฌํ•จ๋œ MongoDB database .
    ์ด ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ƒ๋žตํ•˜๋ฉด ์šด์ „์ž ๊ธฐ๋ณธ๊ฐ’ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (admin)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€์˜ ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ด๋Ÿฌํ•œ ์ž๋ฆฌ ํ‘œ์‹œ์ž๋ฅผ ์›ํ•˜๋Š” ๊ฐ’์œผ๋กœ ๋ฐ”๊พธ์„ธ์š”.

PLAIN ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ง€์ •ํ•˜๊ณ  MongoCredential ๊ฐ์ฒด ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด ์˜ ์ผ๋ถ€๋กœ LDAP ์ž๊ฒฉ ์ฆ๋ช… ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Connection String ๋˜๋Š” MongoCredential ํƒญ ์„ ํƒํ•˜์—ฌ ํ•ด๋‹น ๊ตฌ๋ฌธ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?authSource=<authenticationDb>" +
"&authMechanism=PLAIN");
var credential = MongoCredential
.CreatePlainCredential("<authenticationDb>", "<username>", "<password>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

์ด ํŽ˜์ด์ง€์—์„œ ์„ค๋ช…ํ•˜๋Š” ๋ฉ”์„œ๋“œ ๋˜๋Š” ์œ ํ˜•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ํ•™์Šต ๋‹ค์Œ API ์„ค๋ช…์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.