のセキュリティAWS Database Migration Service - AWSデータベース移行サービス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

のセキュリティAWS Database Migration Service

のクラウドセキュリティが最優先事項AWSです。お客様はAWS、セキュリティを最も重視する組織の要件を満たすように構築されたデータセンターとネットワークアーキテクチャを活用できます。

セキュリティは、 AWSとお客様の間の責任共有です。責任共有モデルでは、これをクラウドのセキュリティおよびクラウド内のセキュリティとして説明しています。

  • クラウドのセキュリティ – クラウドでAWSAWSサービスを実行するインフラストラクチャを保護するAWS責任があります。AWSまた、 では、安全に使用できるサービスも提供しています。「AWS」 コンプライアンスプログラムの一環として、サードパーティーの監査が定期的にセキュリティの有効性をテストおよび検証しています。が適用されるコンプライアンスプログラムの詳細についてはAWS DMS、AWS「コンプライアンスプログラムによる対象範囲内のサービス」を参照してください。

  • クラウド内のセキュリティ – お客様の責任は、使用するAWSサービスによって決まります。また、お客様は、お客様のデータの機密性、組織の要件、および適用可能な法律および規制などの他の要因についても責任を担います。

このドキュメントは、 を使用する際の責任共有モデルの適用方法を理解するのに役立ちますAWS DMS。以下のトピックでは、セキュリティとコンプライアンスの目的を達成するAWS DMSように を設定する方法を示します。また、 AWS DMSリソースのモニタリングや保護に役立つ他の AWSサービスの使用方法についても説明します。

AWS DMSリソースとデータベース (DBs) へのアクセスを管理できます。アクセスの管理に使用する方法は、以下を実行する必要があるレプリケーションタスクによって異なりますAWS DMS。

  • AWS Identity and Access Management(IAM) ポリシーを使用して、 AWS DMSリソースの管理を誰に許可するかを決定するアクセス許可を割り当てます。IAM ユーザーとしてサインインする場合は、適切なアクセス許可AWS DMSが必要です。たとえば、IAM を使用して、DB インスタンスのおよびクラスターの作成、記述、変更、削除と、リソースのタグ付け、セキュリティグループの変更をどのユーザーに許可するかを決定できます。IAM とその での使用の詳細についてはAWS DMS、「」を参照してくださいの ID とアクセスの管理AWS Database Migration Service

  • AWS DMSは、Transport Layer Security (TLS) とのエンドポイント接続に Secure Sockets Layer (SSL) を使用します。での SSL/TLS の使用の詳細についてはAWS DMS、「」を参照してくださいでの SSL の使用AWS Database Migration Service

  • AWS DMSは AWS Key Management Service(AWS KMS) 暗号化キーを使用して、レプリケーションインスタンスで使用されるストレージとそのエンドポイント接続情報を暗号化します。AWS DMSまた、 はAWS KMS暗号化キーを使用して、Amazon S3 および Amazon Redshift ターゲットエンドポイントの保管中のターゲットデータを保護します。詳細については、「暗号化キーの設定とAWS KMSアクセス許可の指定」を参照してください。

  • AWS DMSは、可能な限り最大のネットワークアクセスコントロールを実現するために、常に Amazon VPC サービスに基づいて Virtual Private Cloud (VPC) にレプリケーションインスタンスを作成します。DB インスタンスとインスタンス クラスターには、レプリケーション インスタンスと同じ VPC を使用するか、このレベルのアクセス コントロールに一致させるために追加の VPC を使用します。使用するそれぞれの Amazon VPC は、すべてのポートですべてのトラフィックについて VPC からの送信 (egress) がルールで許可されているセキュリティグループに関連付ける必要があります。このアプローチでは、ソースおよびターゲットデータベースエンドポイントで適切な受信が有効になっている限り、レプリケーション インスタンスからそれらのエンドポイントへの通信が許可されます。

    で使用できるネットワーク設定の詳細についてはAWS DMS、「」を参照してくださいレプリケーション インスタンスのためのネットワークのセットアップ。VPC での DB インスタンスまたはインスタンス クラスターの作成については、AWSドキュメントで Amazon データベースのセキュリティとクラスター管理のドキュメントをご参照ください。AWS DMS でサポートされるネットワーク設定の詳細については、「レプリケーション インスタンスのためのネットワークのセットアップ」をご参照ください。

  • データベース移行ログを表示する場合、使用している IAM ロールの適切な Amazon CloudWatch Logs アクセス許可が必要になります。AWS DMS のログ作成の詳細については、「Amazon CloudWatch を使用したレプリケーション モニタリングタスク」をご参照ください。

AWS DMS同種移行の暗号化

AWS DMS同種移行では、ストレージやその他のコンポーネントなど、データ移行に使用されるリソースも暗号化されます。カスタマーマネージドキーを指定しない場合、AWS DMS同種移行は自動的に AWS所有キーを使用してリソースを暗号化します。

カスタマーマネージドキーを使用すると、AWS DMS同種移行によってキーに許可が作成され、サービスが必要に応じてリソースを暗号化および復号できるようになります。これらの許可は、移行ライフサイクルの一部として自動的に管理されます。

同種移行でのカスタマーマネージドキーの使用

同種移行にカスタマーマネージドキーを使用するには、AWS DMS同種移行を使用するように IAM ユーザーアカウントに付与する必要がある IAM アクセス許可に次のアクセス許可を追加します。

{ "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:DescribeKey", "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "dms.us-west-2.amazonaws.com", "elasticfilesystem.us-west-2.amazonaws.com" ] } } }

DMS は、移行プロセス中に暗号化キーにアクセスして管理するための内部権限を作成します。CreateGrant オペレーションをさらに絞り込むために、カスタマーマネージドキーポリシーに次の制限を適用できます。

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "kms:GrantOperations": [ "CreateGrant", "DescribeKey", "Encrypt", "Decrypt", "RetireGrant", "GenerateDataKeyWithoutPlaintext" ] }, "StringEquals": { "kms:ViaService": [ "dms.us-west-2.amazonaws.com", "elasticfilesystem.us-west-2.amazonaws.com" ] } } }
重要

現時点では、追加の暗号化コンテキスト制約はサポートされていません。このような制約を含めると、移行は失敗します。

暗号化キーの設定とAWS KMSアクセス許可の指定

AWS DMSは、レプリケーションインスタンスで使用されるストレージとエンドポイント接続情報を暗号化します。レプリケーションインスタンスで使用されるストレージを暗号化するために、 は AWSアカウントに固有の AWS Key Management Service(AWS KMS) キーAWS DMSを使用します。このキーは で表示および管理できますAWS KMS。アカウント (aws/dms) でデフォルトの KMS キーを使用できます。あるいは、カスタム KMS キーを作成できます。既存の KMS キーがある場合、暗号化にそのキーを使用することもできます。

注記

暗号化AWS KMSキーとして使用するカスタムキーまたは既存のキーは、対称キーである必要があります。 AWS DMSは非対称暗号化キーの使用をサポートしていません。対称キーと非対称キーの使用詳細については、AWS Key Management Service デベロッパーガイドの「https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html」をご参照ください。

レプリケーション インスタンスの初回起動時に、 レプリケーション インスタンス作成ページのアドバンストセクションで、カスタム KMS キーを選択していない場合は、デフォルトの KMS キー (aws/dms) が作成されます。デフォルトの KMS キーを使用する場合、移行用の IAM ユーザーアカウントにはアクセス許可として kms:ListAliaseskms:DescribeKey のみを付与する必要があります。デフォルトの KMS キーの使用に関する詳細については、「AWS DMS の使用に必要な IAM アクセス許可」をご参照ください。

カスタム KMS キーを使用するには、次のオプションの 1 つを使用して、カスタム KMS キーにアクセス許可を割り当てます。

  • 移行に使用される IAM ユーザーアカウントを、AWS KMSカスタムキーのキー管理者またはキーユーザーとして追加します。これにより、IAM ユーザーアカウントに必要な AWS KMS 権限が確実に付与されます。このアクションは、AWS DMS を使用するために IAM ユーザーアカウントに付与する IAM のアクセス許可に追加されます。キーユーザーを許可する詳しい方法については、AWS Key Management Service デベロッパーガイド の「KMS キーの使用をユーザーに許可する」をご参照ください。

  • カスタム KMS キーに対するキー管理者あるいはキーユーザーとして IAM ユーザーアカウントを追加したくない場合、AWS DMS を使用するために IAM ユーザーアカウントに付与する必要がある IAM のアクセス許可に、次のアクセス許可を追加で付与してください。

    { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey", "kms:CreateGrant", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": "*" },

AWS DMSは KMS キーエイリアスでも機能します。独自の AWS KMS キーを作成して KMS キーへのユーザーアクセスを許可する方法の詳細については、「AWS KMS デベロッパーガイド」をご参照ください。

KMS キー識別子を指定しない場合、 はデフォルトの暗号化キーAWS DMSを使用します。 はAWS、アカウントの AWS DMSのデフォルトの暗号化キーAWS KMSを作成します。アカウントAWSには、AWSリージョンごとに異なるデフォルトの暗号化キーがあります。

AWS DMSリソースの暗号化に使用されるAWS KMSキーを管理するには、 を使用しますAWS Key Management Service。 は、安全で可用性の高いハードウェアとソフトウェアAWS KMSを組み合わせて、クラウド向けにスケーリングされたキー管理システムを提供します。を使用するとAWS KMS、暗号化キーを作成し、これらのキーの使用方法を制御するポリシーを定義できます。

AWS KMS「」を参照してください。AWS マネジメントコンソール
  1. にサインインAWS マネジメントコンソールし、https://console.aws.amazon.com/kms で AWS Key Management Service(AWS KMS) コンソールを開きます。

  2. を変更するにはAWS リージョン、ページの右上隅にあるリージョンセレクターを使用します。

  3. AWS KMSキーを操作するには、次のいずれかのオプションを選択します。

    • がAWS作成および管理するアカウントのキーを表示するには、ナビゲーションペインでマネージドAWSキーを選択します。

    • ユーザーが作成および管理するアカウント内のキーを表示するには、ナビゲーションペインで [Customer managed keys] (カスタマーマネージドキー) を選択します。

AWS KMSは をサポートしているためAWS CloudTrail、キーの使用状況を監査して、キーが適切に使用されていることを確認できます。AWS KMSキーは、Amazon RDS、Amazon S3、Amazon Redshift、Amazon EBS などの およびAWS DMSサポートされているAWS サービスと組み合わせて使用できます。

また、カスタムAWS KMSキーを作成して、次のAWS DMSエンドポイントのターゲットデータを暗号化することもできます。

KMS キーを使用してAWS DMSリソースを作成した後は、それらのリソースの暗号化キーを変更することはできません。AWS DMSリソースを作成する前に、暗号化キーの要件を確認してください。

のネットワークセキュリティAWS Database Migration Service

を使用する際に作成するネットワークのセキュリティ要件は、ネットワークの設定方法AWS Database Migration Serviceによって異なります。のネットワークセキュリティの一般的なルールAWS DMSは次のとおりです。

  • レプリケーション インスタンスは、ソースとターゲットのエンドポイントにアクセスできる必要があります。レプリケーション インスタンスのセキュリティグループには、データベースポートでデータベースエンドポイントへの送信をインスタンスに許可するネットワーク ACL またはルールが必要です。

  • データベースエンドポイントには、レプリケーション インスタンスからの受信アクセスを許可するネットワーク ACL およびセキュリティグループルールを含める必要があります。これは、構成に応じて、レプリケーション インスタンスのセキュリティグループ、プライベート IP アドレス、パブリック IP アドレス、または NAT ゲートウェイのパブリックアドレスを使用して実現できます。

  • ネットワークで VPN トンネルが使用されている場合、NAT ゲートウェイとして機能する Amazon EC2 インスタンスは、レプリケーション インスタンスにそのゲートウェイを通じたトラフィックの送信を許可するセキュリティグループを使用する必要があります。

デフォルトでは、AWS DMSレプリケーションインスタンスで使用される VPC セキュリティグループには、すべてのポートで 0.0.0.0/0 への出力を許可するルールがあります。このセキュリティグループを変更するか、独自のセキュリティグループを使用する場合、少なくとも、対応するデータベースポートでソースおよびターゲットエンドポイントへの送信が許可される必要があります。

データベース移行に使用できるネットワーク構成には、それぞれ固有のセキュリティ上の考慮事項があります。

  • すべてのデータベース移行コンポーネントが 1 つの VPC にある設定 - エンドポイントで使用されるセキュリティグループは、データベースポートでレプリケーション インスタンスからの進入を許可する必要があります。レプリケーション インスタンスによって使用されるセキュリティグループでエンドポイントに侵入可能なことを確認するかまたは、エンドポイントにより使用されるセキュリティグループに、レプリケーション インスタンスのプライベート IP アドレスにアクセスを許可するセキュリティルールを作成できます。

  • 複数の VPC を使用する構成 - レプリケーション インスタンスで使用されるセキュリティグループには、VPC 範囲とデータベースの DB ポートに関するルールが必要です。

  • Direct Connectまたは VPN を使用した VPC へのネットワークの設定 - VPC からオンプレミス VPN へのトンネルに向かうトラフィックを許可する VPN トンネル。この設定では、特定の IP アドレスまたは範囲に向かうトラフィックを、VPC からオンプレミス VPN へのトラフィックをブリッジできるホストに送信するルーティングルールが VPC に含まれています。この場合、レプリケーション インスタンスのプライベート IP アドレスまたはセキュリティグループから NAT インスタンスへのトラフィックを許可する必要がある独自のセキュリティグループ設定が NAT ホストに含まれています。

  • インターネットを使用した VPC へのネットワークの設定 - VPC セキュリティグループには、VPC に向かわないトラフィックをインターネットゲートウェイに送信するルーティングルールが含まれている必要があります。この設定では、エンドポイントへの接続がレプリケーション インスタンス上のパブリック IP アドレスから行われているように見えます。

  • VPC 内にない RDS; DB インスタンスで ClassicLink を使用する VPC 内の DB インスタンスへの設定方法 - ソースまたはターゲットの Amazon RDS DB インスタンスが VPC 内になく、セキュリティグループをレプリケーション インスタンスが存在する VPC と共有していない場合、プロキシサーバーを設定し、ClassicLink を使用してソースおよびターゲットのデータベースに接続できます。

  • ソース エンドポイントがレプリケーション インスタンスで使用されている VPC の外にあり、NAT のゲートウェイを使用している - 単一の Elastic network interface にバインドされた単一の Elastic IP アドレスを使用してネットワークアドレス変換 (NAT) ゲートウェイを設定できます。次に、この Elastic network interface は NAT 識別子 (nat-#####) を受け取ります。インターネットゲートウェイではなくその NAT ゲートウェイへのデフォルトルートが VPC に含まれている場合、レプリケーション インスタンスはインターネットゲートウェイのパブリック IP アドレスを使用してデータベースエンドポイントに接続しているように見えます。この場合、VPC 外のデータベースエンドポイントへの進入は、レプリケーション インスタンスのパブリック IP アドレスではなく NAT アドレスからの進入を許可する必要があります。

  • 非 RDBMS エンジンの VPC エンドポイント - AWS DMSは、非 RDBMS エンジンの VPC エンドポイントをに対応しません。

データベースのパスワードの変更

ほとんどの状況では、ソースまたはターゲットエンドポイント用のデータベースのパスワードを変更するのは簡単です。移行またはレプリケーションタスクで現在使用しているエンドポイント用のデータベースのパスワードを変更する必要がある場合、そのプロセスで追加のステップが必要になります。以下の手順は、その方法を示しています。

移行またはレプリケーションタスクでエンドポイント用のデータベースのパスワードを変更するには
  1. にサインインAWS マネジメントコンソールし、https://console.aws.amazon.com/dms/v2/ でAWS DMSコンソールを開きます。

    IAM ユーザーとしてサインインしている場合は、AWS DMS にアクセスするための適切なアクセス許可があることを確認します。必要なアクセス権限の詳細については、「AWS DMS の使用に必要な IAM アクセス許可」をご参照ください。

  2. ナビゲーションペインで、[データベース移行タスク] を選択します。

  3. データベースのパスワードを変更するエンドポイントを使用するタスクを選択してから、[Stop] を選択します。

  4. タスクが停止されている間、データベースの操作に使用するネイティブツールを使用して、エンドポイント用のデータベースのパスワードを変更できます。

  5. DMS マネジメントコンソールに戻り、ナビゲーションペインから [Endpoints] を選択します。

  6. パスワードを変更したデータベースのエンドポイントを選択してから、[Modify] を選択します。

  7. [パスワード] ボックスに新しいパスワードを入力し、[保存] を選択します。

  8. ナビゲーションペインで、[データベース移行タスク] を選択します。

  9. 先ほど停止したタスクを選択し、[再起動/再開] を選択します。

  10. タスクを続行する方法に応じて、[再起動] または [再開] のいずれかを選択し、[タスクの開始] を選択します。