기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SCRAM-SHA-256을 사용한 인증
Amazon DocumentDB(MongoDB 호환)는 암호 기반 인증을 위한 Salted Challenge Response Authentication Mechanism(SCRAM)을 지원합니다. SCRAM을 사용하면 서버는 클라이언트가 암호를 서버에 전송하지 않고 사용자의 암호를 알고 있는지 확인합니다. Amazon DocumentDB는 SCRAM-SHA-1 및의 두 가지 SCRAM 메커니즘을 지원합니다SCRAM-SHA-256.는 더 강력한 SHA-256 해시 함수를 SCRAM-SHA-256 사용하고 FIPS 모드에서 작동합니다.
사용자를 생성하거나 업데이트할 때 사용자에게 SCRAM 메커니즘을 하나 또는 둘 다 할당합니다. 로 생성된 사용자는 변경 없이 SCRAM-SHA-1 계속 작동합니다. SCRAM-SHA-256 인증은 Amazon DocumentDB 인스턴스 기반 클러스터 마이너 버전 5.0.1 이상 및 8.0.1 이상에서 사용할 수 있습니다.
SCRAM 및 IAM 인증은 상호 배타적입니다.
사용자는 SCRAM 메커니즘 또는 MONGODB-AWS 메커니즘을 가질 수 있지만 둘 다 가질 수는 없습니다. IAM 자격 증명 인증은 섹션을 참조하세요IAM 자격 증명을 사용한 인증.
SCRAM 메커니즘을 사용하여 사용자 생성
사용자를 생성할 때 mechanisms 필드로 활성화할 SCRAM 메커니즘을 지정할 수 있습니다. 다음 예제에서는 두 메커니즘SCRAM-SHA-256이 모두 포함된 사용자SCRAM-SHA-1만 생성합니다.
db.runCommand({ createUser: 'sha1user', pwd: passwordPrompt(), roles: ['readWrite'], mechanisms: ['SCRAM-SHA-1'] }); db.runCommand({ createUser: 'sha256user', pwd: passwordPrompt(), roles: ['readWrite'], mechanisms: ['SCRAM-SHA-256'] }); db.runCommand({ createUser: 'bothuser', pwd: passwordPrompt(), roles: ['readWrite'], mechanisms: ['SCRAM-SHA-1','SCRAM-SHA-256'] });
기본 메커니즘
mechanisms 필드를 지정하지 않으면 Amazon DocumentDB는 사용자에 SCRAM-SHA-256 대해 SCRAM-SHA-1 및를 모두 활성화합니다. 다음 두 명령은 동일합니다.
db.runCommand({ createUser: 'user1', pwd: passwordPrompt(), roles: ['readWrite'] }); // is equivalent to: db.runCommand({ createUser: 'user1', pwd: passwordPrompt(), roles: ['readWrite'], mechanisms: ['SCRAM-SHA-1','SCRAM-SHA-256'] });
기본적으로 두 메커니즘을 모두 활성화하면 만 지원하는 이전 MongoDB 드라이버와의 호환성이 유지됩니다SCRAM-SHA-1. 최신 드라이버와 FIPS 모드는를 선호합니다SCRAM-SHA-256. 사용자가 로 인증하지 않도록 하려면 모든 사용자의 SCRAM-SHA-256 mechanisms 필드에만를 SCRAM-SHA-1지정합니다.
기존 사용자 업데이트
에서 생성된 사용자는 변경 없이 SCRAM-SHA-1 계속 지원됩니다. 기존 사용자를에서 SCRAM-SHA-1로 전환하려면 새 암호와 SCRAM-SHA-256 메커니즘으로 사용자를 SCRAM-SHA-256업데이트합니다.
db.runCommand({ updateUser: 'existing', pwd: passwordPrompt(), mechanisms: ['SCRAM-SHA-256'] });
SCRAM-SHA-256으로 인증
드라이버는 각 연결에서 첫 번째 명령을 보내기 전에 연결 문자열 파라미터를 사용하여 자동으로 인증합니다. 연결 URISCRAM-SHA-256에서를 선택하려면 authMechanism 파라미터를 로 설정합니다SCRAM-SHA-256.
mongodb://username:password@hostname:port/authenticationDatabase?authMechanism=SCRAM-SHA-256
mongosh에서 명시적 인증 요청을 보낼 수도 있습니다.
db.auth({user: 'sha256user', pwd: passwordPrompt(), mechanism: 'SCRAM-SHA-256'}) Enter password: 1
연결 옵션에서 인증 메커니즘을 지정하지 않으면 드라이버는 대상 데이터베이스 사용자가 지원하는 메커니즘을 자동으로 선택합니다.