Docs Menu
Docs Home
/
MongoDB Enterprise Kubernetes 演算子
/ /

X.509 による安全な配置

項目一覧

X. 509証明書を使用して、Kubernetes クラスター MongoDB のマルチ配置でクライアント アプリケーションを認証するように Kubernetes Operator を構成できます。

X. 509証明書を使用して複数の Kubernetes クラスター MongoDB の配置を保護するには、すべてのアクションを中央クラスターで実行します。 Kubernetes Operator は、X. 509構成を各ノード クラスターに伝達し、各ノード クラスターの Kubernetes Operator 構成を更新します。

TLS暗号化を使用して複数の Kubernetes クラスター MongoDB 配置を保護する前に、次のタスクを完了してください。

プロジェクト レベルで X.509 認証を有効にすると、すべてのエージェントが MongoDB 配置で通信するときに X.509 クライアント認証を使用するように構成されます。

X.509 クライアント認証には次のいずれかが必要です。

  • Cloud Manager

  • Operator バージョンとMongoDB Ops Manager 互換性 のある バージョン。Kubernetes

1

kubectlコマンドを実行して、エージェントの X.509 証明書を保存する新しいシークレットを作成します。

kubectl --context $MDB_CENTRAL_CLUSTER_FULL_NAME \
--namespace=<metadata.namespace> \
create secret tls <prefix>-<metadata.name>-agent-certs \
--cert=<agent-tls-cert> \
--key=<agent-tls-key>
2

Kubernetes Operator MongoDB MultiCluster リソース仕様 のセキュリティ設定を使用し て MongoDB MultiCluster カスタム リソースを更新します 。結果の構成は、次の例のようになります。

apiVersion: mongodb.com/v1
kind: MongoDBMultiCluster
metadata:
name: multi-replica-set
spec:
version: 6.0.0-ent
type: ReplicaSet
persistent: false
duplicateServiceObjects: true
credentials: my-credentials
opsManager:
configMapRef:
name: my-project
security:
tls:
ca: custom-ca
certsSecretPrefix: <prefix>
authentication:
enabled: true
modes: ["X509"]
agents:
mode: "X509"
clusterSpecList:
- clusterName: ${MDB_CLUSTER_1_FULL_NAME}
members: 3
- clusterName: ${MDB_CLUSTER_2_FULL_NAME}
members: 2
- clusterName: ${MDB_CLUSTER_3_FULL_NAME}
members: 3
The |k8s-op-short| copies the ConfigMap with the |certauth| created in
the central cluster to each member cluster, generates a concatenated
|pem| secret, and distributes it to the member clusters.
3
  1. ノードクラスターの場合は、次のコマンドを実行して、MongoDB ポッドが実行状態であることを確認します。

    kubectl get pods \
    --context=$MDB_CLUSTER_1_FULL_NAME \
    --namespace mongodb
    kubectl get pods \
    --context=$MDB_CLUSTER_2_FULL_NAME \
    --namespace mongodb
    kubectl get pods \
    --context=$MDB_CLUSTER_3_FULL_NAME \
    --namespace mongodb
  2. 中央クラスターで次のコマンドを実行し、 MongoDBMultiClusterリソースが実行状態であることを確認します。

    kubectl --context=$MDB_CENTRAL_CLUSTER_FULL_NAME \
    --namespace mongodb \
    get mdbmc multi-replica-set -o yaml -w

すでに X.509 証明書を作成している場合は、次の手順を使用して定期的に更新してください。

1

kubectl既存のMongoDBMultiCluster シークレット を更新するには、この コマンドを実行します リソースの証明書を保存する:

kubectl --context $MDB_CENTRAL_CLUSTER_FULL_NAME \
--namespace=<metadata.namespace> \
create secret tls <prefix>-<metadata.name>-cert \
--cert=<resource-tls-cert> \
--key=<resource-tls-key> \
--dry-run=client \
-o yaml |
kubectl apply -f -
2

MongoDBMultiClusterリソースエージェント証明書を保存する既存のシークレットを更新するには、 kubectlコマンドを実行します。

kubectl --context $MDB_CENTRAL_CLUSTER_FULL_NAME \
--namespace=<metadata.namespace> \
create secret tls <prefix>-<metadata.name>-agent-certs \
--cert=<agent-tls-cert> \
--key=<agent-tls-key> \
--dry-run=client \
-o yaml | kubectl apply -f -

戻る

LDAP によるクライアント認証の保護