AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

X.509 認証を設定する

X.509 クライアント証明書により、データベース ユーザーにプロジェクト内のデータベース配置にアクセスできるようになります。 Atlas Kubernetes Operator を使用して、 AtlasProjectカスタム リソースAtlasDatabaseUserカスタム リソースの X.509 認証を有効にできます。

X.509 認証のオプションとして、Atlas が管理する X.509 認証と、自己管理型のX.509 認証があります。自己管理型のX.509 認証について詳しくは、「 自己管理型 X.509 証明書の設定 」を参照してください。

X.509 認証を設定するには、次の手順に従います。

  1. X.509 証明書を生成します。

  2. 証明書を使用するようにAtlasProjectカスタム リソースを構成します。

  3. Atlas が管理するまたは自己管理型の X.509 認証を使用するようにAtlasDatabaseUserカスタム リソースを構成します。

注意

自己管理型の X.509 証明書を使用するには、MongoDB Atlas と統合するための公開キー インフラストラクチャが必要です。

証明書マネージャー を使用して X.509 証明書を生成するには、次の手順を実行します。

1

cert-manager をインストールするには、cert-manager のインストール ドキュメント を参照してください。

2

証明書マネージャー Issuer を作成するには、証明書マネージャーの構成ドキュメント を参照してください。

詳細については、の例を参照してください。

3

証明書を作成するには、 cert Manager の使用ドキュメント を参照してください。 。

詳細については、の例を参照してください。

create_X..goスクリプトを使用して509 X.509 証明書を生成するには、次の手順を実行します。

1

create_X..goスクリプトを実行します。509

go run scripts/create_x509.go --path={pem-file-path}

例:

go run scripts/create_x509.go --path=tmp/x509/
2

シークレット に証明書を追加するには、次のコマンドを実行します。

kubectl create secret generic {secret-name} --from-file={pem-file-directory}
kubectl label secret {secret-name} atlas.mongodb.com/type=credentials

例:

kubectl create secret generic my-x509-cert --from-file=./tmp/x509/cert.pem
kubectl label secret my-x509-cert atlas.mongodb.com/type=credentials
1

AtlasProjectカスタム リソースのspec.x509 CertRef.nameパラメーター内でシークレットを指定します。

例:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test Project
projectIpAccessList:
- ipAddress: "192.0.2.15"
comment: "IP address for Application Server A"
- cidrBlock: "203.0.113.0/24"
comment: "CIDR block for Application Servers B - D"
x509CertRef:
name: my-x509-cert
EOF
2

AtlasDatabaseUserカスタム リソースx509Typeパラメータを指定します。

このパラメーターは以下を受け入れます。

なし

X.509 認証を使用しないユーザー。

MANAGED

Atlas が管理する X.509 を使用するユーザー。

spec.databaseNameパラメータに\$externalを指定する必要があります。

CUSTOMER

自己管理型 X.509 x509Typeusernameを使用するユーザー。この で作成されたユーザーには、 フィールドに CN(Common Name、共通名)が必要です。詳細については、 RFC2253 を参照してください。

spec.databaseNameパラメータに\$externalを指定する必要があります。

APIから利用できる構成パラメータの詳細については、「 Atlas Database Users API 」を参照してください。

例:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasDatabaseUser
metadata:
name: my-database-user
spec:
username: CN=my-x509-authenticated-user,OU=organizationalunit,O=organization
databaseName: "\$external"
x509Type: "CUSTOMER"
roles:
- roleName: "readWriteAnyDatabase"
databaseName: "admin"
projectRef:
name: my-project
EOF