DTS は Alibaba Cloud アカウントと RAM ユーザーをサポートします。RAM ユーザーを使用してタスクを作成・管理するだけでなく、RAM ユーザーの AccessKey と AccessSecret を使用してデータサブスクリプション SDK からリアルタイムデータをサブスクライブすることもできます。
このトピックでは、RAM ユーザーの Access Key/Access Secret を使用して、データをリアルタイムにサブスクライブする方法について説明します。
RAM ユーザーには、DTS の読み取り書き込みポリシーを付与する必要があります。
2 種類の RAM ユーザー、つまり読み取り書き込み権限を持つアカウントと読み取り専用権限を持つアカウントのみがサポートされています。読み取り書き込みポリシーは AliyunDTSFullAccess、読み取り専用ポリシーは AliyunDTSReadOnlyAccess です。RAM ユーザーが SDK を使用してリアルタイムデータをサブスクライブできるようにするには、RAM ユーザーに読み取り書き込みポリシー (AliyunDTSFullAccess) を付与する必要があります。
RAM ユーザーが DTS の権限を持っていない場合、または読み取り専用アクセス権限のみ持っている場合、AccessKey と AccessSecret を使用して SDK を開始すると、次のエラーが発生します。
上の図に示すように、get guid info failed エラーが報告されます。サブスクライブするチャネルは、SDK で設定された AccessKey と AccessSecret に対応するクラウドアカウントに属さないと見なされます。
RAM ユーザーの作成と権限付与
このセクションでは、データサブスクリプション SDK を使用してリアルタイム増分データをサブスクライブできる RAM ユーザーを RAM コンソールで作成する方法について説明します。
(1) RAM ユーザーの作成
RAM ユーザーを作成していない場合は、作成します。作成した RAM ユーザーに AccessKey と AccessSecret を作成してください。RAM ユーザーの作成方法の詳細は、「RAM ユーザーの作成」をご参照ください。
(2) RAM ユーザーへの権限付与
RAM ユーザーを作成したら、ポリシーを付与する必要があります。DTS システムポリシー AliyunDTSFullAccess を RAM ユーザーに付与します。RAM コンソールにアクセスし、[ユーザー管理] に移動します。[操作] 列の [許可] をクリックして、ロールポリシーの付与を開始します。
ポリシーの選択ダイアログボックスで、DTS 関連ポリシーを検索します。
[利用可能な権限付与ポリシー名] リストから [AliyunDTSFullAccess] を選択し、[選択した権限付与ポリシー名] リストに追加し、[OK] をクリックしてアカウントの権限付与を完了します。
RAM ユーザーの AccessKey と AccessSecret を使用してデータをサブスクライブ
RAM ユーザーが作成され、権限付与が完了すると、DTS が提供する SDK を使用してデータをサブスクライブできます。SDK デモの AccessKey と AccessSecret を RAM ユーザーの AccessKey と AccessSecret に変更する必要があることに注意してください。
SDK デモを実行します。RAM ユーザーの AccessKey と AccessSecret を使用して、期待どおりにデータをサブスクライブできるかどうか確認します。
RAM ユーザーを作成し、データをサブスクライブするための権限を付与しました。