翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Database Migration Service が IAM と連携する方法
IAM を使用して へのアクセスを管理する前に AWS DMS、使用できる IAM 機能を理解しておく必要があります AWS DMS。 AWS DMS およびその他の AWS のサービスが IAM と連携する方法の概要を把握するには、「IAM ユーザーガイド」のAWS 「IAM と連携する のサービス」を参照してください。
トピック
AWS DMS アイデンティティベースのポリシー
IAM アイデンティティベースのポリシーでは、許可または拒否されたアクションとリソースを指定でき、さらにアクションが許可または拒否された条件を指定できます。 AWS DMS は、特定のアクション、リソース、および条件キーをサポートします。JSON ポリシーで使用するすべての要素については「IAM ユーザーガイド」の「IAM JSON ポリシーエレメントのリファレンス」を参照してください。
アクション
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
JSON ポリシーの Action
要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。ポリシーアクションの名前は通常、関連付けられた AWS API オペレーションと同じです。一致する API オペレーションのない許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数のアクションが必要なオペレーションもあります。これらの追加アクションは依存アクションと呼ばれます。
このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。
のポリシーアクションは、アクションの前にプレフィックス AWS DMS を使用しますdms:
。たとえば、 API オペレーションを使用して AWS DMS CreateReplicationTask
レプリケーションタスクを作成するアクセス許可を付与するには、ポリシーに dms:CreateReplicationTask
アクションを含めます。ポリシーステートメントには、 Action
または NotAction
element を含める必要があります。 は、このサービスで実行できるタスクを記述する独自のアクションのセット AWS DMS を定義します。
単一のステートメントに複数の アクションを指定するには、次のようにコンマで区切ります。
"Action": [ "dms:action1", "dms:action2"
ワイルドカード *を使用して複数のアクションを指定することができます。例えば、Describe
という単語で始まるすべてのアクションを指定するには、次のアクションを含めます。
"Action": "dms:Describe*"
AWS DMS アクションのリストを確認するには、IAM ユーザーガイドの「 で定義されるアクション AWS Database Migration Service」を参照してください。
リソース
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Resource
JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ステートメントにはResource
または NotResource
要素を含める必要があります。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの許可と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。
オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。
"Resource": "*"
AWS DMS は、次のリソースで動作します。
-
証明書
-
エンドポイント
-
イベントサブスクリプション
-
レプリケーション インスタンス
-
レプリケーションサブネット(セキュリティ)グループ
-
レプリケーションタスク
が AWS DMS 必要とするリソースは、呼び出すアクションによって異なります。関連付けられているリソースや、リソース ARN で指定されたリソースに対して、これらのアクションを許可するポリシーが必要です。
たとえば、 AWS DMS エンドポイントリソースには次の ARN があります。
arn:${Partition}:dms:${Region}:${Account}:endpoint/${InstanceId}
ARN の形式の詳細については、「Amazon リソースネーム (ARNs) と AWS サービス名前空間」を参照してください。
たとえば、ステートメントで us-east-2
リージョンの 1A2B3C4D5E6F7G8H9I0J1K2L3M
エンドポイントインスタンスを指定するには、次の ARN を使用します。
"Resource": "arn:aws:dms:us-east-2:987654321098:endpoint/1A2B3C4D5E6F7G8H9I0J1K2L3M"
特定のアカウントに属するすべてのエンドポイントを指定するには、ワイルドカード (*) を使用します。
"Resource": "arn:aws:dms:us-east-2:987654321098:endpoint/*"
リソースを作成するためのアクションなど、一部の AWS DMS アクションは、特定のリソースで実行できません。このような場合はワイルドカード *を使用する必要があります。
"Resource": "*"
一部の AWS DMS API アクションには、複数のリソースが含まれます。たとえば、StartReplicationTask
はレプリケーション タスクを開始し、ソースとターゲットの 2 つのデータベース エンドポイント リソースに接続するため、 ユーザーには、ソース エンドポイントを読み取るアクセス許可とターゲット エンドポイントに書き込むアクセス許可が必要です。複数リソースを単一ステートメントで指定するには、ARN をカンマで区切ります。
"Resource": [ "resource1", "resource2" ]
ポリシーを使用して AWS DMS リソースへのアクセスを制御する方法の詳細については、「」を参照してくださいリソース名を使用したアクセスの制御。 AWS DMS リソースタイプとその ARN のリストを表示するには、IAM ユーザーガイドのAWS Database Migration Serviceで定義されるリソースを参照してください。どのアクションで各リソースの ARN を指定できるかについては、AWS Database Migration Serviceで定義されるアクションを参照してください。
条件キー
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Condition
要素 (または Condition
ブロック) を使用すると、ステートメントが有効な条件を指定できます。Condition
要素はオプションです。イコールや未満などの 条件演算子 を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。
1 つのステートメントに複数の Condition
要素を指定する場合、または 1 つの Condition
要素に複数のキーを指定する場合、 AWS では AND
論理演算子を使用してそれらを評価します。1 つの条件キーに複数の値を指定すると、 は論理OR
オペレーションを使用して条件 AWS を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。
条件を指定する際にプレースホルダー変数も使用できます。例えば IAM ユーザーに、IAM ユーザー名がタグ付けされている場合のみリソースにアクセスできる権限を付与することができます。詳細については、「IAM ユーザーガイド」の「IAM ポリシーの要素: 変数およびタグ」を参照してください。
AWS は、グローバル条件キーとサービス固有の条件キーをサポートしています。すべての AWS グローバル条件キーを確認するには、「IAM ユーザーガイド」のAWS 「グローバル条件コンテキストキー」を参照してください。
AWS DMS は独自の条件キーのセットを定義し、いくつかのグローバル条件キーの使用もサポートしています。すべての AWS グローバル条件キーを確認するには、「IAM ユーザーガイド」のAWS 「グローバル条件コンテキストキー」を参照してください。
AWS DMS は、条件キーで使用できる一連の標準タグを定義し、独自のカスタムタグを定義することもできます。詳細については、「タグを使用したアクセスへのコントロール」を参照してください。
AWS DMS 条件キーのリストを確認するには、IAM ユーザーガイドの「 の条件キー AWS Database Migration Service」を参照してください。条件キーを使用できるアクションとリソースについては、「AWS Database Migration Serviceで定義されるアクション」と「AWS Database Migration Serviceで定義されるリソース」を参照してください。
例
AWS DMS アイデンティティベースのポリシーの例を表示するには、「」を参照してくださいAWS Database Migration Service アイデンティティベースのポリシーの例。
AWS DMS リソースベースのポリシー
リソースベースのポリシーは、指定されたプリンシパルが特定の AWS DMS リソースに対して実行できるアクションと条件を指定する JSON ポリシードキュメントです。 は、サポートされているターゲットエンドポイントに移行されたデータを暗号化するために作成する AWS KMS 暗号化キーのリソースベースのアクセス許可ポリシー AWS DMS をサポートします。サポートされているターゲットエンドポイントには Amazon Redshift や Amazon S3 があります。リソースベースのポリシーを使用することで、これらの暗号化キーを使用するためのアクセス許可を、各ターゲットエンドポイントの他のアカウントに付与できます。
クロスアカウントアクセスを有効にするには、アカウント全体、または別のアカウントの IAM エンティティをリソースベースのポリシーのプリンシパルとして指定します。リソースベースのポリシーにクロスアカウントのプリンシパルを追加しても、信頼関係は半分しか確立されない点に注意してください。プリンシパルとリソースが異なる AWS アカウントにある場合は、プリンシパルエンティティにリソースへのアクセス許可も付与する必要があります。アクセス許可は、アイデンティティベースのポリシーをエンティティにアタッチすることで付与します。ただし、リソースベースのポリシーで、同じアカウントのプリンシパルへのアクセス権が付与されている場合は、ID ベースのポリシーをさらに付与する必要はありません。詳細については、『IAM ユーザーガイド』の「IAM ロールとリソースベースのポリシーとの相違点」を参照してください。
この AWS DMS サービスは、 AWS KMS 暗号化キーにアタッチされているキーポリシーと呼ばれるリソースベースのポリシーの 1 つのタイプのみをサポートします。このポリシーでは、サポートされているターゲットエンドポイントで移行されたデータを暗号化できるプリンシパルエンティティ(アカウント、ユーザー、ロール、フェデレーティッドユーザー)を定義します。
サポートされているターゲットエンドポイント用に作成する暗号化キーにリソースベースのポリシーをアタッチする方法については、「AWS KMS キーを作成して Amazon Redshift ターゲットデータを暗号化する」および「Amazon S3 ターゲットオブジェクトを暗号化するための AWS KMS キーの作成」をご参照ください。
例
AWS DMS リソースベースのポリシーの例については、「」を参照してくださいのリソースベースのポリシーの例 AWS KMS。
AWS DMS タグに基づく認可
AWS DMS リソースにタグをアタッチするか、 へのリクエストでタグを渡すことができます AWS DMS。タグに基づいてアクセスを制御するには、dms:ResourceTag/
、、key-name
aws:RequestTag/
または 条件key-name
aws:TagKeys
キーを使用してポリシーの条件要素にタグ情報を指定します。 は、条件キーで使用できる一連の標準タグ AWS DMS を定義し、独自のカスタムタグを定義することもできます。詳細については、「タグを使用したアクセスへのコントロール」を参照してください。
タグに基づいてリソースへのアクセスを制限するアイデンティティベースのポリシーの例については、「タグに基づく AWS DMS リソースへのアクセス」をご参照ください。
の IAM ロール AWS DMS
IAM ロールは、特定のアクセス許可を持つ AWS アカウント内のエンティティです。
での一時的な認証情報の使用 AWS DMS
一時的な認証情報を使用して、フェデレーションでサインインする、IAM ロールを引き受ける、またはクロスアカウントロールを引き受けることができます。一時的なセキュリティ認証情報を取得するには、AssumeRole や GetFederationToken などの AWS STS API オペレーションを呼び出します。
AWS DMS では、一時的な認証情報の使用がサポートされています。
サービスにリンクされた役割
サービスにリンクされたロールを使用すると、 AWS サービスは他の サービスのリソースにアクセスして、ユーザーに代わってアクションを実行できます。サービスリンクロールは IAM アカウント内に表示され、サービスによって所有されます。IAM 管理者は、サービスリンクロールの許可を表示できますが、編集することはできません。
AWS DMS サービスにリンクされたロールの作成または管理の詳細については、「」を参照してくださいサービスリンクロールの使用。
サービス役割
この機能により、ユーザーに代わってサービスがサービス役割を引き受けることが許可されます。この役割により、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービス役割はIAM アカウントに表示され、アカウントによって所有されます。つまり、IAM 管理者はこの役割の権限を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。
AWS DMS は、特定のソースエンドポイントまたはターゲットエンドポイントを使用するために作成する必要がある 2 種類のサービスロールをサポートしています。
-
次のソースエンドポイントとターゲットエンドポイント (またはそのリソース) への AWS DMS アクセスを許可するアクセス許可を持つロール。
-
ターゲットとしての Amazon DynamoDB — 詳細については、「のターゲットとして DynamoDB を使用するための前提条件 AWS Database Migration Service」をご参照ください。
-
OpenSearch ターゲットとしての - 詳細については、「」を参照してくださいAmazon OpenSearch Service を のターゲットとして使用するための前提条件 AWS Database Migration Service。
-
ターゲットとしての Amazon Kinesis — 詳細については、「のターゲットとして Kinesis データストリームを使用するための前提条件 AWS Database Migration Service」をご参照ください。
-
Amazon Redshift がターゲット - 指定のロールを作成する必要があるのは、データを暗号化するカスタム KMS 暗号化キーを作成する場合か、中間タスクストレージを保持するカスタム S3 バケットを指定する場合のみです。詳細については、「AWS KMS キーを作成して Amazon Redshift ターゲットデータを暗号化する」または「Amazon S3 バケットのセットアップ」をご参照ください。
-
ソースまたはターゲットとしての Amazon S3 - 詳細については、のソースとして Amazon S3 を使用する場合の前提条件 AWS DMSまたはターゲットとして Amazon S3 を使用するための前提条件 をご参照ください。
たとえば、S3 ソースエンドポイントからデータを読み取る場合や、S3 ターゲットエンドポイントにデータをプッシュする場合は、これらのエンドポイントオペレーションごとに S3 にアクセスするための前提条件としてサービスロールを作成する必要があります。
-
-
DMS AWS コンソール、、 AWS CLI DMS API AWS を使用するために必要なアクセス許可を持つロール – 作成する必要がある 2 つの IAM ロールは
dms-vpc-role
と ですdms-cloudwatch-logs-role
。Amazon Redshift をターゲットデータベースとして使用する場合は、IAM ロールを作成してdms-access-for-endpoint
AWS アカウントに追加する必要があります。詳細については、「で使用する IAM ロールの作成 AWS DMS」を参照してください。
での IAM ロールの選択 AWS DMS
データベース移行に DMS AWS コンソール、、 AWS CLI または AWS DMS API を使用する場合は、 AWS DMS の機能を使用する前に、 AWS アカウントに特定の IAM ロールを追加する必要があります。これらのロールのうち 2 つは dms-vpc-role
と dms-cloudwatch-logs-role
です。Amazon Redshift をターゲットデータベースとして使用する場合は、dms-access-for-endpoint
AWS アカウントに IAM ロールも追加する必要があります。詳細については、「で使用する IAM ロールの作成 AWS DMS」を参照してください。
DMS Fleet Advisor のアイデンティティとアクセス管理
IAM のアイデンティティベースのポリシーを使用すると、許可または拒否されるアクションとリソース、さらにアクションが許可または拒否される条件を指定できます。DMS Fleet Advisor は、特定のアクション、リソース、条件キーをサポートします。JSON ポリシーで使用するすべての要素については「IAM ユーザーガイド」の「IAM JSON ポリシーエレメントのリファレンス」を参照してください。
DMS Fleet Advisor は、IAM ロールを使用して Amazon Simple Storage Service にアクセスします。IAM ロールは、特定のアクセス許可を持つ AWS アカウント内のエンティティです。詳細については、「IAM リソースを作成する」を参照してください。