View a markdown version of this page

SCRAM-SHA-256 を使用した認証 - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SCRAM-SHA-256 を使用した認証

Amazon DocumentDB (MongoDB 互換) は、パスワードベースの認証のための Salted Challenge Response Authentication Mechanism (SCRAM) をサポートしています。SCRAM では、サーバーはクライアントがパスワードをサーバーに送信せずにユーザーのパスワードを知っていることを確認します。Amazon DocumentDB は、 SCRAM-SHA-1と の 2 つの SCRAM メカニズムをサポートしていますSCRAM-SHA-256。 は、より強力な SHA-256 ハッシュ関数SCRAM-SHA-256を使用し、FIPS モードと連携します。

ユーザーを作成または更新するときに、1 つまたは両方の SCRAM メカニズムをユーザーに割り当てます。で作成されたユーザーは、変更を加えることなくSCRAM-SHA-1作業を継続します。SCRAM-SHA-256 認証は、Amazon DocumentDB インスタンスベースのクラスターマイナーバージョン 5.0.1 以降および 8.0.1 以降で使用できます。

SCRAM と IAM 認証は相互に排他的です

ユーザーは SCRAM メカニズムまたは MONGODB-AWSメカニズムのいずれかを持つことができますが、両方を持つことはできません。IAM ID 認証については、「」を参照してくださいIAM ID を使用した認証

SCRAM メカニズムを使用したユーザーの作成

ユーザーを作成するときに、 mechanismsフィールドで有効にする SCRAM メカニズムを指定できます。次の例では、 SCRAM-SHA-1 のみ、 SCRAM-SHA-256のみ、および両方のメカニズムを持つユーザーを作成します。

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と の両方を有効にします。次の 2 つのコマンドは同等です。

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-1、すべてのユーザーの SCRAM-SHA-256 mechanismsフィールドに のみを指定します。

既存のユーザーの更新

で作成されたユーザーは、変更なしで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 を使用した認証

ドライバーは、各接続で最初のコマンドを送信する前に、接続文字列パラメータを使用して自動的に認証します。接続 URI SCRAM-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

接続オプションで認証メカニズムを指定しない場合、ドライバーはターゲットデータベースユーザーがサポートするメカニズムを自動的に選択します。