Docs 主页 → 开发应用程序 → Python 驱动程序 → pymongo
保护您的数据
在此页面上
Overview
MongoDB 支持多种可用于对应用程序进行身份验证的机制。 本页包含的代码示例展示了每种机制。
要使用此页面中的身份验证示例,请将代码示例复制到示例应用程序或您自己的应用程序中。 请务必将代码示例中的所有占位符(例如 <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
凭证
要学习;了解有关使用Amazon Web Services MongoClient
档案进行凭证验证的更多信息,请参阅身份验证指南中的MongoClient
档案。
环境变量
要了解有关使用Amazon Web Services环境变量进行身份验证的更多信息,请参阅身份验证指南中的环境变量。
共享凭证文件
要学习;了解有关使用共享Amazon Web Services凭证文件进行身份验证的更多信息,请参阅身份验证指南中的共享凭证文件。
Amazon Web Services配置文件
要了解有关使用Amazon Web Services配置文件进行身份验证的更多信息,请参阅身份验证指南中的Amazon Web Services配置文件。
AssumeRole 请求
要学习;了解有关使用AssumeRole
请求进行身份验证的更多信息,请参阅身份验证指南中的AssumeRole 请求。
AssumeRoleWithWebIdentity
要了解有关使用AssumeRoleWithWebIdentity
请求进行身份验证的更多信息,请参阅身份验证指南中的AssumeRoleWithWebIdentity 。
ECS 容器或 EC 2实例
要了解有关从 ECS 容器进行身份验证的更多信息,请参阅身份验证指南中的ECS 容器或 EC 2实例。
Kerberos
注意
仅限 MongoDB Enterprise
Kerberos 身份验证仅在 MongoDB Enterprise 中可用。
Unix
要了解有关使用 Kerberos 进行身份验证的更多信息,请参阅 Enterprise Authentication 指南中的Kerberos 。
Windows
要了解有关使用 Kerberos 进行身份验证的更多信息,请参阅 Enterprise Authentication 指南中的Kerberos 。
PLAIN SASL
注意
仅限 MongoDB Enterprise
PLAIN SASL 身份验证仅在 MongoDB Enterprise 中可用。
要了解有关使用 PLAIN SASL 进行身份验证的更多信息,请参阅 Enterprise Authentication 指南中的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 。