Docs Menu

Docs Homeアプリケーションの開発Python ドライバーPyMongo

データの保護

項目一覧

  • Overview
  • サンプル アプリケーション
  • SCRAM-SHA-256
  • SCRAM-SHA-1
  • MONGODB-X509
  • MongoDB-AWS
  • MongoClient Credentials
  • 環境変数
  • 共有認証情報ファイル
  • Amazon Web Services設定ファイル
  • AssumeRole リクエスト
  • AssumeRoleWithWebIdentity
  • ECS コンテナまたは EC 2インスタンス
  • Kerberos
  • Unix
  • Windows
  • PLAIN SASL
  • MONGODB-OIDC
  • Azure IMDS
  • GCP IMDS
  • その他の Azure 環境
  • GCP GKE

MongoDB は、アプリケーションの認証に使用できる複数のメカニズムをサポートしています。 このページでは、これらのそれぞれのメカニズムを示すコード例が紹介されています。

Tip

このページの認証メカニズムの詳細については、認証メカニズムおよびエンタープライズ認証メカニズムのページを参照してください。

このページの認証例えを使用するには、コード例をサンプル アプリケーションまたは独自のアプリケーションにコピーします。 <hostname>など、コード例にあるすべてのプレースホルダーを、MongoDB 配置に関連する値に置き換えてください。

次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。

  1. PyMongo がインストールされていることを確認します。

  2. 次のコードをコピーし、新しい.pyファイルに貼り付けます。

  3. このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。

1from pymongo import MongoClient
2
3try:
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
15except Exception as e:
16 raise Exception(
17 "The following error occurred: ", e)

SCRAM-SHA- 256認証の詳細については、認証ガイドのSCRAM-SHA- 256を参照してください。

SCRAM-SHA- 1認証の詳細については、認証ガイドのSCRAM-SHA- 1を参照してください。

MONGODB-X 509認証の詳細については、認証ガイドの「 MONGODB-X 509 」を参照してください。

Amazon Web Services MongoClient 認証情報による認証の詳細については、認証ガイドの「 MongoClient 認証情報 」を参照してください。

Amazon Web Services環境変数を使用した認証の詳細については、認証ガイドの「環境変数 」を参照してください。

共有Amazon Web Services認証情報ファイルによる認証の詳細については、 認証 ガイドの「共有認証情報ファイル 」を参照してください。

Amazon Web ServicesAmazon Web ServicesAmazon Web Services 設定ファイルを使用した認証の詳細については、認証ガイドの「 ファイル 」を参照してください。

AssumeRoleリクエストによる認証の詳細については、認証ガイドの「 AssumeRoleリクエスト」を参照してください。

AssumeRoleWithWebIdentityリクエストによる認証の詳細については、認証ガイドのAssumeRoleWithWebIdentityを参照してください。

ECS コンテナからの認証の詳細については、認証ガイドの「 ECS コンテナ 」または「 EC 2インスタンス」を参照してください。

注意

MongoDB Enterprise のみ

Kerberos 認証は MongoDB Enterprise でのみ利用できます。

Kerberos による認証の詳細については、エンタープライズ認証ガイドの「 Kerberos 」を参照してください。

Kerberos による認証の詳細については、エンタープライズ認証ガイドの「 Kerberos 」を参照してください。

注意

MongoDB Enterprise のみ

PLAIN SASL 認証は MongoDB Enterprise でのみ利用できます。

PLAIN SASL による認証の詳細については、エンタープライズ認証ガイドの「 PLAIN SASL 」を参照してください。

注意

MongoDB Enterprise のみ

MONGODB-OIDC 認証は MongoDB Enterprise でのみ利用できます。

OIDC を使用した認証の詳細については、認証ガイドの「 Azure IMDS 」を参照してください。

OIDC による認証の詳細については、認証ガイドの「 GCP IMDS 」を参照してください。

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 環境」を参照してください。

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 」を参照してください。

← 複数フィールド結合