での Amazon RDS エンドポイントの IAM 認証の使用AWS DMS - AWSデータベース移行サービス

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

での Amazon RDS エンドポイントの IAM 認証の使用AWS DMS

AWSIdentity and Access Management (IAM) データベース認証は、IAM 認証情報を使用してAWSデータベースアクセスを管理することで、Amazon RDS データベースのセキュリティを強化します。IAM 認証は、従来のデータベースパスワードを使用する代わりに、AWS の認証情報を使用して、15 分間有効な短期の認証トークンを生成します。このアプローチにより、アプリケーションコードにデータベースパスワードを保存する必要がなくなり、認証情報が漏洩するリスクが軽減され、IAM による一元的なアクセス管理が提供されるため、セキュリティが大幅に向上します。また、既存の IAM AWSロールとポリシーを活用してアクセス管理を簡素化し、他のAWSサービスで使用するのと同じ IAM フレームワークを使用してデータベースアクセスを制御できます。

AWS DMSAmazon RDS で MySQL、PostgreSQL、Aurora PostgreSQL、Aurora MySQL、または MariaDB エンドポイントに接続するときに、DMS バージョン 3.6.1 以降を実行しているレプリケーションインスタンスの IAM 認証をサポートするようになりました。これらのエンジンの新しいエンドポイントを作成するときは、データベース認証情報を提供する代わりに、IAM 認証を選択し、IAM ロールを指定できます。この統合により、移行タスクのデータベースパスワードの管理および保存が不要になるため、セキュリティが強化されます。

での Amazon RDS エンドポイントの IAM 認証の設定AWS DMS

エンドポイントの作成時に、Amazon RDS データベースの IAM 認証を設定できます。IAM 認証を設定するには、以下を実行します。

  1. Amazon RDS とデータベースユーザーの IAM 認証が有効になっていることを確認します。詳細については、「Amazon リレーショナルデータベースサービスユーザーガイド」の「IAM データベース認証の有効化と無効化」を参照してください。

  2. IAM コンソールに移動し、以下のポリシーを使用して IAM ロールを作成します。

    ポリシー

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": "*" } ] }

    信頼ポリシー:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "dms.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  3. AWS DMS コンソールのエンドポイント設定で、[エンドポイントデータベースへのアクセス] セクションに移動し、[IAM 認証] を選択します。

  4. [RDS データベース認証の IAM ロール] ドロップダウンメニューで、データベースにアクセスするための適切なアクセス許可を持つ IAM ロールを選択します。

    詳細については、「ソースおよびターゲットエンドポイントの作成」を参照してください。

  1. Amazon RDS とデータベースユーザーの IAM 認証が有効になっていることを確認します。詳細については、「Amazon リレーショナルデータベースサービスユーザーガイド」の「IAM データベース認証の有効化と無効化」を参照してください。

  2. AWSCLI に移動し、IAM ロールを作成し、DMS がロールを引き受けることを許可します。

    ポリシー:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": "*" } ] }

    信頼ポリシー:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "dms.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  3. 次のコマンドを実行して証明書をインポートし、PEM ファイルをダウンロードします。詳細については、「Amazon リレーショナルデータベースサービスユーザーガイド」の「Amazon RDS 用認証バンドルのダウンロード」を参照してください。

    aws dms import-certificate --certificate-identifier rdsglobal --certificate-pem file://~/global-bundle.pem
  4. 次のコマンドを実行して IAM エンドポイントを作成します。

    • PostgreSQL/Aurora PostgreSQL エンドポイントの場合 (sslmoderequired に設定されている場合、--certificate-arn フラグは必要ありません):

      aws dms create-endpoint --endpoint-identifier <endpoint-name> --endpoint-type <source/target> --engine-name <postgres/aurora-postgres> --username <db username with iam auth privileges> --server-name <db server name> --port <port number> --ssl-mode <required/verify-ca/verify-full> --postgre-sql-settings "{\"ServiceAccessRoleArn\": \"role arn created from step 2 providing permissions for iam authentication\", \"AuthenticationMethod\": \"iam\", \"DatabaseName\": \"database name\"}" --certificate-arn <if sslmode is verify-ca/verify full use cert arn generated in step 3, otherwise this parameter is not required>
    • MySQL、MariaDB、Aurora MySQL エンドポイントの場合:

      aws dms create-endpoint --endpoint-identifier <endpoint-name> --endpoint-type <source/target> --engine-name <mysql/mariadb/aurora> --username <db username with iam auth privileges> --server-name <db server name> --port <port number> --ssl-mode <verify-ca/verify-full> --my-sql-settings "{\"ServiceAccessRoleArn\": \"role arn created from step 2 providing permissions for iam authentication\", \"AuthenticationMethod\": \"iam\", \"DatabaseName\": \"database name\"}" --certificate-arn <cert arn from previously imported cert in step 3>
  5. 目的のレプリケーションインスタンスに対してテスト接続を実行してインスタンスエンドポイントの関連付けを作成し、すべてが正しく設定されていることを確認します。

    aws dms test-connection --replication-instance-arn <replication instance arn> --endpoint-arn <endpoint arn from previously created endpoint in step 4>
    注記

    IAM 認証を使用する場合、テスト接続で提供されるレプリケーションインスタンスはAWS DMSバージョン 3.6.1 以降である必要があります。

制限事項

AWS DMSAmazon RDS エンドポイントで IAM 認証を使用する場合、 には次の制限があります。

  • 現在、Amazon RDS PostgreSQL および Amazon Aurora PostgreSQL インスタンスは、IAM 認証による CDC 接続をサポートしていません。詳細については、「Amazon リレーショナルデータベースサービスユーザーガイド」の「IAM データベース認証の制限事項」を参照してください。