Docs Home → 애플리케이션 개발 → Python 드라이버 → PyMongo
데이터 보안 유지
이 페이지의 내용
개요
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-X509 인증에 대해 자세히 알아보려면 인증 가이드에서 MONGODB-X509 를 참조하세요.
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 컨테이너 또는 EC2 인스턴스
ECS 컨테이너에서 인증하는 방법에 대해 자세히 알아보려면 인증 가이드의 ECS 컨테이너 또는 EC2 인스턴스 를 참조하세요.
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 를 참조하세요.