シークレットアクセスポリシーとロールの作成
以下の手順に従って、シークレットアクセスポリシーとロールを作成し、DMS がソースデータベースとターゲットデータベースのユーザー認証情報にアクセスできるようにします。
シークレットアクセスポリシーとロールを作成して、Amazon RDS の AWS Secrets Manager へのアクセスを許可して適切なシークレットにアクセスできるようにするには
-
AWS Management Console にサインインして、https://console.aws.amazon.com/iam
の AWS Identity and Access Management (IAM) マネジメントコンソールを開きます。 -
[Policies] (ポリシー) を選択し、次に[Create Policy] (ポリシー作成) を選択します
-
[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 で、
は、シークレットを暗号化するために使用する AWS KMS キーの ARN です。次に例を示します。kms_key_arn
注記
AWS Secrets Manager で作成されたデフォルトの暗号化キーを使用する場合、
に AWS KMS 許可を指定する必要はありません。kms_key_arn
ポリシーで両方のシークレットへのアクセスを許可する場合は、もう 1 つの
[secret_arn]
に追加の JSON リソースオブジェクトを指定するだけです。 -
フレンドリ名とオプションの説明を使用して、ポリシーを確認して作成します。
-
[Roles] (ロール)、[Create role] (ロールの作成) の順に選択します。
-
信頼されたエンティティの種類に、[AWS service] (サービス) を選択します。
-
信頼されたサービスのリストから [DMS] を選択し、[Next: Permissions] (次へ: アクセス許可) を選択します。
-
ステップ 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