シークレットアクセスポリシーとロールの作成 - Amazon Relational Database Service

シークレットアクセスポリシーとロールの作成

以下の手順に従って、シークレットアクセスポリシーとロールを作成し、DMS がソースデータベースとターゲットデータベースのユーザー認証情報にアクセスできるようにします。

シークレットアクセスポリシーとロールを作成して、Amazon RDS の AWS Secrets Manager へのアクセスを許可して適切なシークレットにアクセスできるようにするには
  1. AWS Management Console にサインインして、https://console.aws.amazon.com/iam の AWS Identity and Access Management (IAM) マネジメントコンソールを開きます。

  2. [Policies] (ポリシー) を選択し、次に[Create Policy] (ポリシー作成) を選択します

  3. [JSON] を選択し、次のポリシーを入力して、シークレットへのアクセスと復号化を有効にします。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": secret_arn, }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": kms_key_arn, } ] }

    secret_arn は、必要に応じて SecretsManagerSecretId より取得できるシークレットの ARN で、kms_key_arn は、シークレットを暗号化するために使用する AWS KMS キーの ARN です。次に例を示します。

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:us-east-2:123456789012:secret:MySQLTestSecret-qeHamH" }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-east-2:123456789012:key/761138dc-0542-4e58-947f-4a3a8458d0fd" } ] }
    注記

    AWS Secrets Manager で作成されたデフォルトの暗号化キーを使用する場合、kms_key_arn に AWS KMS 許可を指定する必要はありません。

    ポリシーで両方のシークレットへのアクセスを許可する場合は、もう 1 つの [secret_arn] に追加の JSON リソースオブジェクトを指定するだけです。

  4. フレンドリ名とオプションの説明を使用して、ポリシーを確認して作成します。

  5. [Roles] (ロール)、[Create role] (ロールの作成) の順に選択します。

  6. 信頼されたエンティティの種類に、[AWS service] (サービス) を選択します。

  7. 信頼されたサービスのリストから [DMS] を選択し、[Next: Permissions] (次へ: アクセス許可) を選択します。

  8. ステップ 4 で作成したポリシーを検索しアタッチし、任意のタグを追加しながらロールを確認します。この時点で、信頼されたエンティティとして Amazon RDS リージョンサービスプリンシパルを使用するように、ロールの信頼関係を編集します。このプリンシパルの形式は以下のとおりです。

    dms.region-name.amazonaws.com

    ここで、region-name は 例えば us-east-1 などといったリージョンの名前です。したがって、このリージョンの Amazon RDS リージョンサービスプリンシパルが続きます。

    dms.us-east-1.amazonaws.com dms-data-migrations.amazonaws.com