と の AWS Database Migration Service 連携方法 IAM - AWS データベース移行サービス

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

と の AWS Database Migration Service 連携方法 IAM

IAM を使用して へのアクセスを管理する前に AWS DMS、 で使用できるIAM機能を理解しておく必要があります AWS DMS。 AWS DMS およびその他の AWS のサービスが と連携する方法の概要を把握するにはIAM、「 IAMユーザーガイド」のAWS 「 と連携する のサービスIAM」を参照してください。

AWS DMS アイデンティティベースのポリシー

IAM アイデンティティベースのポリシーでは、許可または拒否されたアクションとリソース、およびアクションを許可または拒否する条件を指定できます。 は、特定のアクション、リソース、および条件キー AWS DMS をサポートします。JSON ポリシーで使用するすべての要素については、「 ユーザーガイド」の「 IAMJSONポリシー要素のリファレンスIAM」を参照してください。

アクション

管理者はポリシーを使用して AWS JSON、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

JSON ポリシーの Action要素は、ポリシーでアクセスを許可または拒否するために使用できるアクションを記述します。ポリシーアクションの名前は通常、関連する AWS APIオペレーションと同じです。一致するAPIオペレーションを持たないアクセス許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数のアクションが必要なオペレーションもあります。これらの追加アクションは、依存アクションと呼ばれます。

このアクションは、関連付けられたオペレーションを実行するための権限を付与するポリシーで使用されます。

のポリシーアクションは、アクションの前にプレフィックス AWS DMS を使用しますdms:。例えば、 APIオペレーションで AWS DMS CreateReplicationTaskレプリケーションタスクを作成するアクセス許可を付与するには、ポリシーに dms:CreateReplicationTaskアクションを含めます。ポリシーステートメントには、 Actionまたは NotAction element. AWS DMS defines のいずれかを含める必要があります。このサービスで実行できるタスクを記述する独自のアクションのセットを定義します。

単一のステートメントに複数の アクションを指定するには、次のようにコンマで区切ります。

"Action": [ "dms:action1", "dms:action2"

ワイルドカード *を使用して複数のアクションを指定することができます。例えば、Describe という単語で始まるすべてのアクションを指定するには、次のアクションを含めます。

"Action": "dms:Describe*"

AWS DMS アクションのリストを確認するには、「 ユーザーガイド」の「 で定義されるアクション AWS Database Migration ServiceIAM」を参照してください。

リソース

管理者はポリシーを使用して AWS JSON、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

Policy ResourceJSON要素は、アクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource 要素を含める必要があります。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの許可と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。

"Resource": "*"

AWS DMS は、次のリソースで動作します。

  • 証明書

  • エンドポイント

  • イベントサブスクリプション

  • レプリケーション インスタンス

  • レプリケーションサブネット(セキュリティ)グループ

  • レプリケーションタスク

が AWS DMS 必要とするリソースは、呼び出すアクションによって異なります。リソース で指定された関連付けられたリソースでこれらのアクションを許可するポリシーが必要ですARNs。

例えば、 AWS DMS エンドポイントリソースには次の がありますARN。

arn:${Partition}:dms:${Region}:${Account}:endpoint/${InstanceId}

の形式の詳細についてはARNs、「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 つのデータベースエンドポイントリソースに接続するため、IAMユーザーはソースエンドポイントを読み取り、ターゲットエンドポイントに書き込むためのアクセス許可を持っている必要があります。1 つのステートメントで複数のリソースを指定するには、 をカンマARNsで区切ります。

"Resource": [ "resource1", "resource2" ]

ポリシー AWS DMS を使用してリソースへのアクセスを制御する方法の詳細については、「」を参照してくださいリソース名を使用したアクセスの制御。 AWS DMS リソースタイプとその のリストを確認するにはARNs、「 IAMユーザーガイド」の「 で定義されるリソース AWS Database Migration Service」を参照してください。各リソースARNの を指定できるアクションについては、「 で定義されるアクション AWS Database Migration Service」を参照してください。

条件キー

管理者はポリシーを使用して AWS JSON、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルが、どのリソースに対してどのような条件下でアクションを実行できるかということです。

Condition 要素 (または Condition ブロック) を使用すると、ステートメントが有効な条件を指定できます。Condition 要素はオプションです。イコールや未満などの 条件演算子 を使用して条件式を作成することで、ポリシーの条件とリクエスト内の値を一致させることができます。

1 つのステートメントに複数の Condition 要素を指定する場合、または 1 つの Condition 要素に複数のキーを指定する場合、 AWS では AND 論理演算子を使用してそれらを評価します。1 つの条件キーに複数の値を指定すると、 は論理ORオペレーションを使用して条件 AWS を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。

条件を指定する際にプレースホルダー変数も使用できます。例えば、リソースにIAMユーザー名でタグ付けされている場合にのみ、リソースへのアクセス許可をIAMユーザーに付与できます。詳細については、「 ユーザーガイド」のIAM「ポリシー要素: 変数とタグIAM」を参照してください。

AWS は、グローバル条件キーとサービス固有の条件キーをサポートします。すべての AWS グローバル条件キーを確認するには、「 ユーザーガイド」のAWS 「 グローバル条件コンテキストキーIAM」を参照してください。

AWS DMS は独自の条件キーのセットを定義し、一部のグローバル条件キーの使用もサポートします。すべての AWS グローバル条件キーを確認するには、「 ユーザーガイド」のAWS 「 グローバル条件コンテキストキーIAM」を参照してください。

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 つだけサポートします。このポリシーでは、サポートされているターゲットエンドポイントで移行されたデータを暗号化できるプリンシパルエンティティ(アカウント、ユーザー、ロール、フェデレーティッドユーザー)を定義します。

サポートされているターゲットエンドポイント用に作成する暗号化キーにリソースベースのポリシーをアタッチする方法については、「Amazon Redshift ターゲットデータを暗号化する AWS KMS キーの作成と使用」および「Amazon S3 ターゲットオブジェクトを暗号化するための AWS KMS キーの作成」をご参照ください。

AWS DMS リソースベースのポリシーの例については、「」を参照してくださいのリソースベースのポリシーの例 AWS KMS

AWS DMS タグに基づく認可

AWS DMS リソースにタグをアタッチするか、 へのリクエストでタグを渡すことができます AWS DMS。タグに基づいてアクセスを制御するには、、、または 条件aws:TagKeysキーを使用してポリシーの条件要素にタグ情報を指定します。 はdms:ResourceTag/key-nameaws:RequestTag/key-name、条件キーで使用できる一連の標準タグ AWS DMS を定義し、独自のカスタムタグを定義することもできます。詳細については、「タグを使用したアクセスへのコントロール」を参照してください。

タグに基づいてリソースへのアクセスを制限するアイデンティティベースのポリシーの例については、「タグに基づく AWS DMS リソースへのアクセス」をご参照ください。

IAM の ロール AWS DMS

IAM ロールは、特定のアクセス許可を持つ AWS アカウント内のエンティティです。

での一時的な認証情報の使用 AWS DMS

一時的な認証情報を使用して、フェデレーションでサインインしたり、 IAMロールを引き受けたり、クロスアカウントロールを引き受けたりすることができます。一時的なセキュリティ認証情報を取得するには、 AssumeRoleや などのオペレーションを呼び出し AWS STS APIますGetFederationToken

AWS DMS では、一時的な認証情報の使用がサポートされています。

サービスリンクロール

サービスにリンクされたロールを使用すると、 AWS サービスは他の サービスのリソースにアクセスして、ユーザーに代わってアクションを実行できます。サービスにリンクされたロールはIAMアカウントに表示され、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

AWS DMS サービスにリンクされたロールの作成または管理の詳細については、「」を参照してくださいサービスにリンクされたロールの使用

サービスロール

この機能により、ユーザーに代わってサービスがサービスロールを引き受けることが許可されます。このロールにより、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールはIAMアカウントに表示され、アカウントによって所有されます。つまり、IAM管理者はこのロールのアクセス許可を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。

AWS DMS は、特定のソースエンドポイントまたはターゲットエンドポイントを使用するために作成する必要がある 2 種類のサービスロールをサポートします。

での IAMロールの選択 AWS DMS

データベース移行APIに AWS CLI または AWS DMS を使用する場合は、 の機能を使用する前に、 AWS アカウントに特定のIAMロールを追加する必要があります AWS DMS。これらのロールのうち 2 つは dms-vpc-roledms-cloudwatch-logs-role です。Amazon Redshift をターゲットデータベースとして使用する場合は、dms-access-for-endpoint AWS アカウントに IAMロールも追加する必要があります。詳細については、「AWS CLI および で使用するIAMロールの作成 AWS DMS API」を参照してください。

Fleet DMS Advisor の Identity and Access Management

IAM アイデンティティベースのポリシーでは、許可または拒否されたアクションとリソース、およびアクションが許可または拒否される条件を指定できます。DMS Fleet Advisor は、特定のアクション、リソース、および条件キーをサポートします。JSON ポリシーで使用するすべての要素については、「 ユーザーガイド」の「 IAMJSONポリシー要素のリファレンスIAM」を参照してください。

DMS Fleet Advisor はIAM、ロールを使用して Amazon Simple Storage Service にアクセスします。IAM ロールは、特定のアクセス許可を持つ AWS アカウント内のエンティティです。詳細については、「IAM リソースを作成する」を参照してください。