従来、DataWorks ノードは、OSS などの外部サービスにアクセスするために、プレーンテキストのアクセスキーを設定することに依存していました。このアプローチは、セキュリティリスクと管理上の課題をもたらします。永続的なアクセスキーをハードコーディングすると 漏洩リスク が生じ、キーが漏洩した場合にデータ資産全体が危険にさらされる可能性があります。さらに、タスクごとにキーを管理することは複雑であるため、多くの場合、粗い粒度の権限が付与されます。この慣行により、最小権限の原則に基づいた きめ細かなアクセス制御の実装が困難に なります。これらの問題に対処するため、RAM ロールによる権限付与を使用します。このアプローチでは、Security Token Service (STS) を使用して一時的な認証情報を動的に取得します。これにより、キー漏洩のリスクを排除し、オンデマンドでタスク固有のきめ細かな権限管理が可能になります。
ソリューション概要
設定プロセスには、RAM ロールの作成、許可ポリシーの作成、RAM ユーザーへの権限付与 という 3 つの主要なステップがあります。
前提条件
Alibaba Cloud アカウント、または AliyunRAMFullAccess 権限を持つ RAM 管理者アカウントをお持ちです。
ステップ 1:RAM ロールの作成
このロールは、DataWorks が他のクラウドリソースにアクセスする際に引き受けるアイデンティティ認証情報です。
-
RAM ロールの作成:RAM コンソールのロールページにログインして [作成] [ロール] をクリックし、デフォルトの選択のまま Confirm をクリックして、
DataWorksRAMROLEforDataStudioなどの分かりやすいロール名を入力します。 -
信頼ポリシーの変更: ロールが作成されたら、その詳細ページに移動します。[信頼ポリシー] タブでポリシーを編集し、
dataworks.aliyuncs.comサービスのみがこのロールを引き受けられるようにします。ポリシーは以下の通りです。詳細については、「RAM ロールの信頼ポリシーの変更」をご参照ください。
{ "Version": "1", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "dataworks.aliyuncs.com" ] } } ] } -
RAM ロールへの権限の付与: ロールの詳細ページで、権限管理 タブに移動し、[権限の追加] をクリックします。
DataWorksRAMROLEforDataStudioロールに必要な権限を付与します。たとえば、OSS にアクセスするには、
AliyunOSSReadOnlyAccess(読み取り専用) またはAliyunOSSFullAccess(フルアクセス) 権限を付与できます。詳細については、「RAM ロールの権限の管理」をご参照ください。
[権限を追加] パネルで、[リソーススコープ] を [アカウントレベル] に設定し、必要なポリシーを検索して選択してから、[OK] をクリックします。
ステップ 2:許可ポリシーの作成
このポリシーにより、RAM ユーザーはステップ 1 で作成した RAM ロールを DataWorks サービスに 渡す ことができます。
-
RAM コンソールのポリシーページにログオンし、[ポリシーの作成] をクリックし、[JSON] タブに切り替えてポリシーの内容を編集します。
<role-name>を DataWorks の RAM ロールの名前 (例:DataWorksRAMROLEforDataStudio) に置き換えます。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ram:ListRoles" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "acs:ram::<account-id>:role/<role-name>" } ] }
|
アクション |
説明 |
|
|
ユーザーがアカウント内のロールのリストを表示できるようになります。この権限は、UI でロールを選択するために必要です。 |
|
|
ユーザーが指定されたロールをクラウドサービスに渡すことを許可します。 ポリシー内の
|
詳細については、「カスタムポリシーの作成」をご参照ください。
-
Determine をクリックし、Permission Policy を
DataWorksRAMPolicyforDataStudioとして保存します。
ステップ 3:RAM ユーザーへの権限付与
この最後のステップでは、エンドユーザーにロールを渡す権限を付与します。
-
RAM コンソールのユーザーページにログインします。権限を付与する RAM ユーザー (たとえば
new_ram_user@...) を見つけます。Operation 列で、[権限の追加] をクリックします。 -
[承認の追加] パネルで、ステップ 2 で作成した権限ポリシー (
DataWorksRAMPolicyforDataStudio) を検索して選択し、承認を確認します。
複数の RAM ユーザーに権限を付与するには、この権限が必要な各ユーザーに対してこのステップを繰り返します。
次のステップ
承認が完了したら、new_ram_user@... アカウントでログインし、Data Studio ページに移動します。その後、[関連付けられたロール] を使用して、サポートされているノードでタスクを実行できます。詳細については、「スケジューリングでノードに関連付けられたロールを設定する」をご参照ください。
サポートされているノードのリストについては、ユーザーインターフェイスをご参照ください。