Docs Home → アプリケーションの開発 → Python ドライバー → PyMongo
データの保護
項目一覧
Overview
MongoDB は、アプリケーションの認証に使用できる複数のメカニズムをサポートしています。 このページでは、これらのそれぞれのメカニズムを示すコード例が紹介されています。
Tip
このページの認証メカニズムの詳細については、認証メカニズムおよびエンタープライズ認証メカニズムのページを参照してください。
このページの認証例えを使用するには、コード例をサンプル アプリケーションまたは独自のアプリケーションにコピーします。 <hostname>
など、コード例にあるすべてのプレースホルダーを、MongoDB 配置に関連する値に置き換えてください。
サンプル アプリケーション
次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。
PyMongo がインストールされていることを確認します。
次のコードをコピーし、新しい
.py
ファイルに貼り付けます。このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。
1 from pymongo import MongoClient 2 3 try: 4 # start example code here 5 6 # end example code here 7 8 client.admin.command("ping") 9 print("Connected successfully") 10 11 # other application code 12 13 client.close() 14 15 except Exception as e: 16 raise Exception( 17 "The following error occurred: ", e)
SCRAM-SHA-256
SCRAM-SHA- 256認証の詳細については、認証ガイドのSCRAM-SHA- 256を参照してください。
SCRAM-SHA-1
SCRAM-SHA- 1認証の詳細については、認証ガイドのSCRAM-SHA- 1を参照してください。
MONGODB-X509
MONGODB-X 509認証の詳細については、認証ガイドの「 MONGODB-X 509 」を参照してください。
MongoDB-AWS
MongoClient
Credentials
Amazon Web Services MongoClient
認証情報による認証の詳細については、認証ガイドの「 MongoClient
認証情報 」を参照してください。
環境変数
Amazon Web Services環境変数を使用した認証の詳細については、認証ガイドの「環境変数 」を参照してください。
共有認証情報ファイル
共有Amazon Web Services認証情報ファイルによる認証の詳細については、 認証 ガイドの「共有認証情報ファイル 」を参照してください。
Amazon Web Services設定ファイル
Amazon Web ServicesAmazon Web ServicesAmazon Web Services 設定ファイルを使用した認証の詳細については、認証ガイドの「 ファイル 」を参照してください。
AssumeRole リクエスト
AssumeRole
リクエストによる認証の詳細については、認証ガイドの「 AssumeRoleリクエスト」を参照してください。
AssumeRoleWithWebIdentity
AssumeRoleWithWebIdentity
リクエストによる認証の詳細については、認証ガイドのAssumeRoleWithWebIdentityを参照してください。
ECS コンテナまたは EC 2インスタンス
ECS コンテナからの認証の詳細については、認証ガイドの「 ECS コンテナ 」または「 EC 2インスタンス」を参照してください。
Kerberos
注意
MongoDB Enterprise のみ
Kerberos 認証は MongoDB Enterprise でのみ利用できます。
Unix
Kerberos による認証の詳細については、エンタープライズ認証ガイドの「 Kerberos 」を参照してください。
Windows
Kerberos による認証の詳細については、エンタープライズ認証ガイドの「 Kerberos 」を参照してください。
PLAIN SASL
注意
MongoDB Enterprise のみ
PLAIN SASL 認証は MongoDB Enterprise でのみ利用できます。
PLAIN SASL による認証の詳細については、エンタープライズ認証ガイドの「 PLAIN SASL 」を参照してください。
MONGODB-OIDC
注意
MongoDB Enterprise のみ
MONGODB-OIDC 認証は MongoDB Enterprise でのみ利用できます。
Azure IMDS
OIDC を使用した認証の詳細については、認証ガイドの「 Azure IMDS 」を参照してください。
GCP IMDS
OIDC による認証の詳細については、認証ガイドの「 GCP IMDS 」を参照してください。
その他の Azure 環境
from pymongo import MongoClient from azure.identity import DefaultAzureCredential from pymongo.auth_oidc import OIDCCallback, OIDCCallbackContext, OIDCCallbackResult # define callback, properties, and MongoClient audience = "<audience configured on the MongoDB deployment>" client_id = "<Azure client ID>" class MyCallback(OIDCCallback): def fetch(self, context: OIDCCallbackContext) -> OIDCCallbackResult: credential = DefaultAzureCredential(managed_identity_client_id=client_id) token = credential.get_token(f"{audience}/.default").token return OIDCCallbackResult(access_token=token) properties = {"OIDC_CALLBACK": MyCallback()} client = MongoClient( "mongodb://<hostname>:<port>", authMechanism="MONGODB-OIDC", authMechanismProperties=properties )
OIDC による認証の詳細については、認証ガイドの「その他の Azure 環境」を参照してください。
GCP GKE
from pymongo import MongoClient from pymongo.auth_oidc import OIDCCallback, OIDCCallbackContext, OIDCCallbackResult # define callback, properties, and MongoClient class MyCallback(OIDCCallback): def fetch(self, context: OIDCCallbackContext) -> OIDCCallbackResult: with open("/var/run/secrets/kubernetes.io/serviceaccount/token") as fid: token = fid.read() return OIDCCallbackResult(access_token=token) properties = {"OIDC_CALLBACK": MyCallback()} client = MongoClient( "mongodb://<hostname>:<port>", authMechanism="MONGODB-OIDC", authMechanismProperties=properties )
OIDC による認証の詳細については、認証ガイドの「 GCP GKE 」を参照してください。