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

KMSを使用したデータの暗号化

Atlas encrypts all cluster storage and snapshot volumes at rest by default. You can add another layer of security by using your cloud provider's KMS together with the MongoDB encrypted storage engine.

Atlas での保管時の暗号化には、次のカスタマーKMSプロバイダーの 1 つ以上を使用できます。

注意

キー管理プロバイダーは、クラスター クラウド サービス プロバイダーと同じである必要はありません。

Atlas でKMSを使用する方法の詳細については、以下を参照してください。

Atlas Kubernetes Operator を使用して KMS 暗号化を管理するには、spec.encryptionAtRest を指定して更新できます。AtlasProject カスタム リソースのパラメータ。サポートされているカスタム リソースのいずれかの spec フィールドを変更するたびに、Atlas Kubernetes Operator は対応する Atlas 構成を 作成または更新します。

Amazon Web ServicesKMSでAtlas Kubernetes Operator を使用して保管時の暗号化を設定するには、次のものが必要です。

重要

暗号化キーをロールベースのアクセスに切り替えた場合、そのプロジェクトでは、ロールベースのアクセス構成を取り消して、暗号化のキーの認証情報ベースのアクセスに戻すことはできません。

次の手順で、カスタマー マネージド キーを使用して Atlas データを暗号化します。

1

次のパラメーターの値で シークレット を作成します。

Parameter
説明

CustomerMasterKeyID

マスター キーを暗号化および復号化するために使用する Amazon Web ServicesカスタマーstringMongoDB マスター キーを識別する一意の英数字 。

RoleID

カスタマー マスターAmazon Web Services Amazon Web Servicesキーを管理する権限を持つAmazon Web Services IAM ロールを識別する一意の ARN 。この値を見つけるには、次の手順に従います。

  1. マネジメントGo コンソールのRolesAmazon Web Services セクションに します。

  2. Atlas アクセス用に編集または作成したIAMロールをクリックします。

AWS は、Summary セクションで ARN を表示します。

シークレットを作成してラベルを付けるには、 Amazon Web Servicesの認証情報を使用して次のコマンドを実行します。

kubectl create secret generic aws-ear-creds \
--from-literal="CustomerMasterKeyID=<customer-master-key>" \
--from-literal="RoleID=<aws-arn>" \
-n mongodb-atlas-system
kubectl label secret aws-ear-creds atlas.mongodb.com/type=credentials -n mongodb-atlas-system
2
  1. spec.encryptionAtRest.awsKmsオブジェクトをspec.encryptionAtRest に追加するAtlasProject カスタム リソース内の 配列(次のパラメータを含む)

    Parameter
    説明

    spec.encryptionAtRest.awsKms.enabled

    このプロジェクトが AWS KMS を使用して保管中のデータを暗号化しているかどうかを示すフラグ。Amazon Web Services KMS を使用して保管時の暗号化を有効にするには、このパラメーターを true に設定します。Amazon Web ServicesKMS を使用して保管時の暗号化を無効にするには、このパラメーターを false に設定します。Amazon Web Services KMSで保管時の暗号化を無効にすると、Atlas Kubernetes Operator は構成詳細を削除します。

    spec.encryptionAtRest.awsKms.region

    Label that indicates the AWS region where the customer master key exists.

    spec.encryptionAtRest.awsKms.secretRef.name

    Amazon Web Servicesの認証情報を含むシークレットの名前。

    spec.encryptionAtRest.awsKms.secretRef.namespace

    Amazon Web Servicesの認証情報を含む名前空間。指定しない場合、このパラメータはデフォルトでは AtlasProject カスタム リソースの名前空間になります。

    AccessKeyID、SecretAccessKey、CustomerMasterKeyID、RoleID の値を含むシークレットを使用する必要があります。

  2. 次のコマンドを実行します:

    cat <<EOF | kubectl apply -f -
    apiVersion: atlas.mongodb.com/v1
    kind: AtlasProject
    metadata:
    name: my-project
    spec:
    name: Test Atlas Operator Project
    encryptionAtRest:
    awsKms:
    enabled: true
    region: US_EAST_1
    secretRef:
    name: aws-ear-creds
    namespace: mongodb-atlas-system
    EOF
3

次のコマンドを実行して、 Atlas Kubernetes OperatorがプロジェクトのAmazon Web Services KMS構成を検出しているかどうかを確認します。

kubectl get atlasprojects my-project -n mongodbatlas-system -o=jsonpath='{.status.conditions[?(@.type=="EncryptionAtRestReady")].status}'
true
4

プロジェクトでカスタマー マネージド キーを使用して保管時の暗号化を有効にした後、データを暗号化するには、クラスター レベルで有効にする必要があります。

次のコマンドを実行して、spec.deploymentSpec.encryptionAtRestProvider を AtlasDeployment カスタムリソース に追加します。これにより、このクラスターの AWS キーを使用した保管時の暗号化が有効になります。

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
metadata:
name: my-cluster
spec:
name: Test Atlas Operator Cluster
DeploymentSpec:
encryptionAtRestProvider: "AWS"
EOF
このページを評価

項目一覧