このトピックでは、DataWorks テナントメンバーの Alibaba Cloud アカウントと E-MapReduce (EMR) クラスター内の指定された ID のアカウントとの間のマッピングを手動で構成する方法について説明します。これにより、テナントメンバーはマッピングされたクラスターの指定された ID を使用して DataWorks でタスクを実行できます。
注意事項
テナントメンバーアカウントと EMR クラスターアカウント間のマッピングは、EMR クラスターが登録されているすべてのワークスペースで有効になります。ビジネスで必要な場合を除き、EMR クラスターを変更しないでください。
このトピックの手順に従ってテナントメンバーアカウントと EMR クラスターアカウント間のマッピングを構成しない場合、DataWorks はデフォルトで次のポリシーに基づいて EMR クラスターにタスクを発行して実行します:
RAM ユーザーを使用する場合、RAM ユーザーと同じ名前を持つ EMR クラスターのシステムアカウントがタスクの実行に使用されます。EMR クラスターで Lightweight Directory Access Protocol (LDAP) または Kerberos 認証が有効になっていない場合は、このトピックの操作を実行して、RAM ユーザーと EMR クラスターのシステムアカウント間のマッピングを構成する必要があります。そうしないと、DataWorks でタスクを実行できません。
Alibaba Cloud アカウントを使用する場合、EMR クラスターで LDAP または Kerberos 認証が有効になっているかどうかに関係なく、Alibaba Cloud アカウントと EMR クラスターアカウント間のマッピングを手動で構成する必要があります。そうしないと、DataWorks でタスクを実行できません。
説明ユーザーが DataWorks で EMR クラスターにアクセスするために使用するアカウントは、EMR クラスターを登録したときに指定したアクセス ID によって異なります。
RAM ユーザーとしてタスクを実行する: DataWorks で EMR 計算リソースをバインドする場合、デフォルトのアクセス ID として [タスク所有者にマッピングされたクラスターアカウント] または [RAM ユーザーにマッピングされたクラスターアカウント] を選択します。
Alibaba Cloud アカウントとしてタスクを実行する: DataWorks で EMR 計算リソースをバインドする場合、デフォルトのアクセス ID として [Alibaba Cloud アカウントにマッピングされたクラスターアカウント] を選択します。
使用上の注意
認証メソッド
DataWorks では、LDAP 認証と Kerberos 認証が有効になっているテナントメンバーアカウントと EMR クラスターアカウント間のマッピングを構成することはできません。このタイプのマッピングを構成すると、DataWorks でタスクを実行できません。
ホワイトリスト構成
EMR クラスターで Ranger 認証が有効になっている場合、DataWorks が EMR クラスターにアクセスできるように、DataWorks を EMR クラスターのホワイトリストに追加する必要があります。DataWorks を EMR クラスターのホワイトリストに追加する方法については、このトピックの「付録: DataWorks を EMR クラスターのホワイトリストに追加する」セクションをご参照ください。
ユーザー管理
Kerberos 認証など、ID 認証に EMR クラスターのシステムアカウントではないアカウントを使用する場合は、EMR クラスターの関連認証サービスを有効にし、DataWorks で EMR タスクを開発するために使用されるアカウントを認証サービスに追加する必要があります。詳細については、「Kerberos 認証の構成」をご参照ください。
データ権限
EMR クラスター内のサービスの権限を管理できます。これにより、DataWorks ユーザーのデータ操作権限が分離されます。たとえば、Ranger を使用して、Alibaba Cloud アカウントにマッピングされる EMR クラスターアカウントの権限を管理できます。
EMR クラスターのメタデータストレージサービスとして Data Lake Formation (DLF) が指定され、DLF のデータ権限管理機能を有効にするために DLF-Auth コンポーネントが使用されている場合、DataWorks コンソールのセキュリティセンターでデータ権限をリクエストできます。詳細については、「DLF の権限を管理する」をご参照ください。
マッピング構成
次の表で説明するシナリオでは、DataWorks でタスクを実行できないことに注意してください。
シナリオ
説明
DataWorks でのマッピング構成に EMR クラスターのシステムアカウントが使用されている
RAM ユーザーが DataWorks でタスクを実行するために使用されます。ただし、RAM ユーザーと同じ名前の EMR クラスターアカウントはありません。
RAM ユーザーが DataWorks でタスクを実行するために使用され、RAM ユーザーと EMR クラスターアカウント間のマッピングが手動で構成されます。ただし、マッピングされた EMR クラスターのアカウントまたはパスワードが、EMR クラスターの実際のアカウントまたはパスワードと異なります。
Alibaba Cloud アカウントが DataWorks でタスクを実行するために使用されます。ただし、Alibaba Cloud アカウントは EMR クラスターアカウントにマッピングされていません。
DataWorks で LDAP または Kerberos アカウントマッピングタイプが使用されている
EMR クラスターで LDAP または Kerberos 認証サービスが有効になっていますが、DataWorks でテナントメンバーアカウントと EMR クラスターアカウント間のマッピングが構成されていないか、誤って構成されています。
DataWorks で Kerberos アカウントマッピングタイプが使用されています。ただし、EMR クラスターアカウントに対して Kerberos 認証サービスが有効になっていません。
DataWorks で LDAP アカウントマッピングタイプが使用されています。ただし、EMR クラスターの関連コンポーネントに対して LDAP 認証サービスが有効になっていません。
説明DataWorks で LDAP アカウントマッピングを構成する場合、Hive、Impala、Presto、Trino タスクなどの DataWorks の SQL タスクは、デフォルトで認証にマッピングされた EMR クラスターアカウントを使用します。ただし、EMR クラスターの関連コンポーネントで LDAP 認証が有効になっていない場合、タスクは失敗します。
制限事項
現在のワークスペースのメンバーの ID マッピングを構成できるのは、次のロールを持つユーザーのみです:
Alibaba Cloud アカウント
AliyunDataWorksFullAccess および AliyunEMRFullAccess ポリシーがアタッチされている RAM ユーザーまたは RAM ロール
ワークスペース管理者ロールが割り当てられ、AliyunEMRFullAccess ポリシーがアタッチされている RAM ユーザーまたは RAM ロール
上記のタイプに属さないメンバーアカウントは、自分自身の ID マッピングのみを構成するために使用できます。
クラスターアカウントマッピング編集ページへの移動
SettingCenter ページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[管理センターへ移動] をクリックします。
左側のナビゲーションウィンドウで、[計算リソース] をクリックして [計算リソース] ページに移動します。
計算リソースのリストで、ターゲット EMR クラスターを見つけて [アカウントマッピング] をクリックします。表示されたページの右上隅にある [アカウントマッピングの編集] をクリックして、クラスターアカウントマッピング編集ページに移動します。

テナントメンバーアカウントと EMR クラスターアカウント間のマッピングの構成
クラスターアカウントマッピング編集ページで、クラスター ID マッピングを構成します。
構成ファイルをアップロードします。
クラスターで Kerberos 認証が有効になっている場合は、クラスターから 認証資格情報をダウンロードします。
[キーストアファイルのアップロード] をクリックし、ダウンロードした資格情報をアップロードします。このステップにより、EMR Trino タスクと EMR Presto タスクが期待どおりに実行されるようになります。
マッピングを構成します。
構成モード: 現在のクラスターのマッピングをカスタマイズするか、[別のクラスターの構成を参照] を選択して既存のマッピング構成を使用できます。
マッピングタイプ: クラスター認証のアカウントタイプ。システムアカウントマッピング、OPEN LDAP アカウントマッピング、または Kerberos アカウントマッピングを選択できます。
説明[マッピングタイプ] を [Kerberos アカウントへのマッピング] に設定した場合は、キーストア ファイルをアップロードする必要があります。
Kerberos アカウントマッピングを選択する前に、EMR クラスターで Kerberos 認証サービスが有効になっていることを確認してください。詳細については、「Kerberos 認証を有効にする」をご参照ください。
OPEN LDAP アカウントマッピングを選択する前に、EMR クラスターの関連コンポーネントで LDAP 認証サービス が有効になっていることを確認してください。DataWorks で LDAP アカウントマッピングを構成する場合、Hive、Impala、Presto、Trino タスクなどの DataWorks の SQL タスクは、デフォルトで認証にマッピングされた EMR クラスターアカウントを使用します。ただし、EMR クラスターの関連コンポーネントで LDAP 認証が有効になっていない場合、タスクは失敗します。
[確認] をクリックして、クラスターアカウントマッピング設定を保存します。
付録: DataWorks を EMR クラスターのホワイトリストに追加する
EMR クラスターで Ranger が有効になっている場合、DataWorks で EMR タスクを開発する前に、DataWorks を EMR クラスターのホワイトリストに追加し、Hive サービスを再起動する必要があります。そうしないと、EMR タスクの実行時に次のエラーが報告されます: Cannot modify spark.yarn.queue at runtime または Cannot modify SKYNET_BIZDATE at runtime。
サービスを再起動します。
ホワイトリストが構成された後、構成を有効にするには Hive サービスを再起動する必要があります。