カスタムポリシーを使用すると、システムポリシーよりも詳細な制御が可能になります。すべての Data Transmission Service (DTS) リソースへのアクセスを許可するのではなく、カスタムポリシーを使用して、RAM ユーザーのアクセスを特定の DTS インスタンスまたは特定のアクションに制限します。
前提条件
開始する前に、以下が完了していることを確認してください。
RAM ユーザーが DTS で使用されるクラウドリソース (ApsaraDB for RDS インスタンスや Elastic Compute Service (ECS) インスタンスなど) にアクセスする権限を付与済みであること。これにより、RAM ユーザーが DTS タスクを設定する際に、DTS が関連リソース情報を読み取ることができます。詳細については、「DTS に Alibaba Cloud リソースへのアクセスを許可する」をご参照ください。
注意事項
データを MaxCompute プロジェクトに同期するには、RAM ユーザーではなく Alibaba Cloud アカウントを使用してタスクを設定してください。
データベースがデータベースゲートウェイ経由で接続する場合、RAM ユーザーに AliyunDGFullAccess 権限を付与してください。
データベースが Cloud Enterprise Network (CEN) 経由で接続する場合、RAM ユーザーに AliyunCENFullAccess 権限を付与してください。
ステップ 1: カスタムポリシーの作成
管理権限を持つ RAM ユーザーとして RAM コンソールにログインします。
左側のナビゲーションウィンドウで、権限 > ポリシー を選択します。
ポリシー ページで、ポリシーの作成 をクリックします。
ポリシーの作成 ページで、JSON タブをクリックします。
コードエディタにポリシーの内容を入力します。次の点にご注意ください:以下の例は一般的なシナリオをカバーしています。ユースケースに合ったものを選択するか、複数の例のアクションを組み合わせてください。例 1: 単一の DTS インスタンスへの読み取り専用アクセス RAM ユーザーにタスクの詳細と構成の表示のみを許可し、変更を許可しない場合に使用します。
プレースホルダーの
DTS instance IDを実際の DTS インスタンスの ID に置き換えてください。読み取り専用権限では、RAM ユーザーはタスクの詳細と構成をクエリできますが、変更はできません。読み取り/書き込み権限では、RAM ユーザーは DTS インスタンスの構成と管理ができます。
ポリシーには DescribeBasicConfigs および DescribeDomainRegions アクションを含める必要があります。
例 1
{ "Statement": [ { "Effect": "Allow", "Action": "dts:Describe*", "Resource": "acs:dts:*:*:instance/DTS instance ID" } ], "Version": "1" }例 2
{ "Statement": [ { "Effect": "Allow", "Action": "dts:*", "Resource": [ "acs:dts:*:*:instance/DTS instance ID", "acs:dts:*:*:instance/DTS instance ID" ] } ], "Version": "1" }例 3
{ "Statement": [ { "Effect": "Allow", "Action": [ "dts:DescribeSynchronizationJobStatus", "dts:DescribeSynchronizationJobs" ], "Resource": "acs:dts:*:*:instance/DTS instance ID" } ], "Version": "1" }例 4
{ "Statement": [ { "Effect": "Allow", "Action": [ "dts:DescribeSubscriptionInstances", "dts:StartSynchronizationJob", "dts:SuspendSynchronizationJob" ], "Resource": [ "acs:dts:*:*:instance/DTS instance ID", "acs:dts:*:*:instance/DTS instance ID", "acs:dts:*:*:instance/DTS instance ID" ] } ], "Version": "1" }例 2: 複数の DTS インスタンスへのフルアクセス RAM ユーザーが複数の特定のインスタンスを構成および管理する必要がある場合に使用します。各インスタンス ID を個別のリソースとしてリストします。
例 3: データ同期タスクの構成の表示 RAM ユーザーに同期タスクのステータスと構成を確認させ、書き込みアクセスを許可しない場合に使用します。
例 4: 複数のデータ同期タスクの開始または一時停止 RAM ユーザーに、構成設定へのアクセスを許可せずに、複数のインスタンスにまたがるタスク実行 (タスクの開始または一時停止) を制御させたい場合に使用します。
OK をクリックします。
名前 と 説明 フィールドに入力します。
ポリシーの内容を確認し、最適化します。
基本の最適化 (自動):システムが不要な条件や配列を削除します。
高度な最適化 (任意):ポインターを [任意: 高度な最適化] の上に移動し、実行 をクリックします。システムは、アクションと互換性のないリソースや条件を分割し、リソースを絞り込み、ポリシーステートメントの重複を排除またはマージします。
OK をクリックします。
ステップ 2: RAM ユーザーへのカスタムポリシーのアタッチ
管理権限を持つ RAM ユーザーとして RAM コンソールにログインします。
RAM ユーザーを作成します。
左側のナビゲーションウィンドウで、[アイデンティティ] > [ユーザー] を選択します。
ユーザー ページで、ユーザーログイン名/表示名 列から対象の RAM ユーザーを見つけます。
操作 列の 権限の追加 をクリックします。
権限の付与 パネルで、以下を設定します。
[リソーススコープ] パラメーターを設定します:> [重要]:[ResourceGroup] を選択した場合は、対象のクラウドサービスがリソースグループをサポートしていることを確認してください。詳細については、「リソースグループと連携するサービス」をご参照ください。リソースグループの権限付与手順については、「リソースグループを使用して、RAM ユーザーに特定の ECS インスタンスを管理する権限を付与する」をご参照ください。
アカウント:権限は現在の Alibaba Cloud アカウントに適用されます。
リソースグループ:権限は特定のリソースグループに適用されます。
ポリシー セクションで、ドロップダウンリストから カスタムポリシー を選択します。
ステップ 1 で作成したポリシーを検索します。
ポリシー名をクリックして、選択済みのポリシー セクションに追加します。
権限の付与 をクリックします。
閉じる をクリックします。
アクションレベルの権限付与リファレンス
このセクションを使用して、特定のコンソール操作のためにカスタムポリシーに含めるべき API アクションを特定します。
DescribeDTSIP、DescribeSubscriptionInstances、およびDescribeSynchronizationJobsアクションにより、RAM ユーザーは利用可能な DTS インスタンスをクエリできます。RAM ユーザーが特定のインスタンスにのみアクセス権を持つ場合、関連操作を実行する前に、まず利用可能なインスタンスをクエリする必要があります。RAM ユーザーにデータ移行、データ同期、または変更追跡タスクの設定を許可するには、カスタムポリシーを作成してアタッチします。詳細については、「DTS に Alibaba Cloud リソースへのアクセスを許可する」をご参照ください。
API オペレーション (新バージョン)
| 機能 | DTS コンソールでの操作 | ポリシー |
|---|---|---|
| インスタンスの購入 | DTS インスタンスの購入 | CreateDtsInstance |
| データの移行または同期 | データ移行または同期タスクの設定 | ConfigureDtsJob |
| データ変更の追跡 | 変更追跡タスクの設定 | ConfigureSubscription |
| タスクの開始 | DTS タスクの開始 | StartDtsJob |
| 複数タスクの同時開始 | 複数の DTS タスクを同時に開始 | StartDtsJobs |
| コンシューマーグループの管理 | 変更追跡タスクのコンシューマーグループの作成 | CreateConsumerChannel |
| 変更追跡タスクのコンシューマーグループのクエリ | DescribeConsumerChannel | |
| 変更追跡タスクのコンシューマーグループの変更 | ModifyConsumerChannel | |
| 変更追跡タスクのコンシューマーグループの削除 | DeleteConsumerChannel | |
| タスクのクエリ | DTS タスクの詳細のクエリ | DescribeDtsJobDetail |
| DTS タスクと各タスクの詳細のクエリ | DescribeDtsJobs | |
| タスク構成の変更 | データ同期タスクの構成の変更 | ModifyDtsJob |
| 変更追跡タスクの構成の変更 | ModifySubscription | |
| タスク名の変更 | DTS タスクの名前の変更 | ModifyDtsJobName |
| タスクのリセット | DTS タスクのリセット | ResetDtsJob |
| タスクの一時停止 | DTS タスクの一時停止 | SuspendDtsJob |
| 複数タスクの同時一時停止 | 複数の DTS タスクを同時に一時停止 | SuspendDtsJobs |
| タスクの停止 | DTS タスクの停止 | StopDtsJob |
| 複数タスクの同時停止 | 複数の DTS タスクを同時に停止 | StopDtsJobs |
| インスタンスのリリース | DTS インスタンスのリリース | DeleteDtsJob |
| 複数インスタンスの同時リリース | 複数の DTS インスタンスを同時にリリース | DeleteDtsJobs |
| アラートの設定 | DTS タスクのアラートルールの作成または変更 | CreateJobMonitorRule |
| DTS タスクのアラートルールのクエリ | DescribeJobMonitorRule | |
| ETL タスクのクエリ | 抽出、変換、ロード (ETL) タスクの詳細のクエリ | DescribeDtsEtlJobVersionInfo |
| ETL タスクのログのクエリ | DescribeEtlJobLogs |
API オペレーション (旧バージョン)
データ移行タスク
| 機能 | 必要なアクション |
|---|---|
| データ移行タスクの作成 | CreateMigrationJob |
| データ移行タスクのクエリ | DescribeMigrationJobs |
| タスク詳細の表示 | DescribeMigrationJobs, DescribeMigrationJobDetail, DescribeMigrationJobStatus |
| タスク名の変更 | DescribeMigrationJobs, ModifyMigrationObject |
| タスクの設定 | DescribeMigrationJobs, DescribeMigrationJobDetail, DescribeMigrationJobStatus, CreateMigrationJob |
| 事前チェック詳細の表示 | DescribeMigrationJobs, DescribeMigrationJobStatus |
| 類似タスクの作成 | DescribeMigrationJobs, DescribeMigrationJobDetail, DescribeMigrationJobStatus, CreateMigrationJob |
| タスクの監視とアラートルールの設定 | DescribeMigrationJobs, DescribeMigrationJobAlert, ConfigureMigrationJobAlert |
| インスタンスのログインパスワードの変更 | DescribeMigrationJobs, DescribeMigrationJobDetail, ModifyMigrationObject |
| タスクの開始 | DescribeMigrationJobs, StartMigrationJob, DescribeMigrationJobDetail |
| タスクの一時停止 | DescribeMigrationJobs, SuspendMigrationJob |
| スキーマ移行詳細の表示 | DescribeMigrationJobs, DescribeMigrationJobStatus |
| 完全データ移行詳細の表示 | DescribeMigrationJobs, DescribeMigrationJobStatus |
| 増分データ移行詳細の表示 | DescribeMigrationJobs, DescribeMigrationJobStatus |
| タスクパフォーマンスの表示 | DescribeMigrationJobs, DescribeMigrationJobDetail |
| タスクログの表示 | DescribeMigrationJobs, DescribeMigrationJobDetail |
変更追跡タスク
| 機能 | 必要なアクション |
|---|---|
| 変更追跡タスクの作成 | CreateSubscriptionInstance |
| 変更追跡タスクのクエリ | DescribeSubscriptionInstances |
| タスク詳細の表示 | DescribeSubscriptionInstances, DescribeSubscriptionInstanceStatus |
| タスク名の変更 | DescribeSubscriptionInstances, ModifySubscriptionObject |
| 追跡対象オブジェクトの変更 | DescribeSubscriptionInstances, DescribeSubscriptionInstanceStatus, ModifySubscriptionObject |
| コンシューマーグループの作成 | DescribeSubscriptionInstances, CreateConsumerGroup |
| コンシューマーグループ情報の表示 | DescribeSubscriptionInstances, DescribeConsumerGroup |
| コンシューマーグループのパスワード変更 | DescribeSubscriptionInstances, ModifyConsumerGroupPassword |
| コンシューマーグループの削除 | DescribeSubscriptionInstances, DeleteConsumerGroup |
| インスタンスのログインパスワードの変更 | DescribeSubscriptionInstances, DescribeSubscriptionInstanceStatus, ModifySubscriptionObject |
| タスクのリリース | DescribeSubscriptionInstances, DeleteSubscriptionInstance |
| タスクの監視とアラートルールの設定 | DescribeSubscriptionInstances, DescribeSubscriptionInstanceAlert, ConfigureSubscriptionInstanceAlert |
| タスクの設定 | DescribeSubscriptionInstances, DescribeSubscriptionInstanceStatus, ModifySubscriptionObject |
| タスクログの表示 | DescribeSubscriptionInstances, DescribeSubscriptionInstanceStatus |
データ同期タスク
| 機能 | 必要なアクション |
|---|---|
| データ同期タスクの作成 | CreateSynchronizationJob |
| データ同期タスクのクエリ | DescribeSynchronizationJobs |
| タスク詳細の表示 | DescribeSynchronizationJobs, DescribeSynchronizationJobStatus |
| タスク名の変更 | DescribeSynchronizationJobs, ModifySynchronizationObject |
| タスク構成の表示 | DescribeSynchronizationJobs, DescribeSynchronizationJobStatus |
| 同期対象オブジェクトの表示 | DescribeSynchronizationJobs, DescribeSynchronizationJobStatus |
| スキーマまたは完全同期ステータスの表示 | DescribeSynchronizationJobs, DescribeSynchronizationJobStatus |
| タスクパフォーマンスの表示 | DescribeSynchronizationJobs, DescribeSynchronizationJobStatus |
| 同期対象オブジェクトの変更履歴の表示 | DescribeSynchronizationJobs |
| タスクログの表示 | DescribeSynchronizationJobs, DescribeSynchronizationJobStatus |
| タスクの設定 | DescribeSynchronizationJobs, DescribeSynchronizationJobStatus, ModifySynchronizationObject |
| タスクの開始 | DescribeSynchronizationJobs, StartSynchronizationJob |
| タスクの一時停止 | DescribeSynchronizationJobs, SuspendSynchronizationJob |
| 同期対象オブジェクトの変更 | DescribeSynchronizationJobs, DescribeSynchronizationJobStatus, ModifySynchronizationObject |
| タスクのリリース | DescribeSynchronizationJobs, DeleteSynchronizationJob |
| タスクの停止 | DescribeSynchronizationJobs, DeleteSynchronizationJob |
| タスクの監視とアラートルールの設定 | DescribeSynchronizationJobs, DescribeSynchronizationJobAlert, ConfigureSynchronizationJobAlert |
| インスタンスのログインパスワードの変更 | DescribeSynchronizationJobs, DescribeSynchronizationJobStatus, ModifySubscriptionObject |
ネットワーク設定
| 機能 | 必要なアクション |
|---|---|
| DTS サーバーの CIDR ブロックのクエリ | DescribeDTSIP |
次のステップ
よくある質問
RAM ユーザーとしてログインした後、DTS コンソールにインスタンスリストではなくエラーが表示されるのはなぜですか?

RAM ユーザーに権限がないか、特定のインスタンスに対する権限しか持っていない可能性があります。インスタンスレベルの制限が設定されている場合、DTS コンソールは完全なインスタンスリストを表示できません。RAM 管理者に連絡して、RAM ユーザーがアクセスできる DTS インスタンスの ID を取得し、DTS コンソールでそれらのインスタンスを ID で検索してください。
