DataWorks で MaxCompute や E-MapReduce(EMR)などのコンピューティングエンジンを使用するには、コンピューティングエンジンが属する Alibaba Cloud サービスへのアクセスを DataWorks に承認する必要があります。承認が完了すると、関連するコンピューティングエンジンが属する Alibaba Cloud サービスのサービスリンクロールがシステムによって作成されます。このトピックでは、コンピューティングエンジンが属する Alibaba Cloud サービスへのアクセスを DataWorks に承認したときに自動的に作成されるサービスリンクロールと、ロールにアタッチされるポリシーについて説明します。
背景情報
DataWorks コンソールで、コンピューティングエンジンのワークスペースへの関連付けや既存のコンピューティングエンジンインスタンスの変更など、コンピューティングエンジン関連の操作を実行する場合、システムは DataWorks の承認操作を実行するように求めます。承認が完了すると、関連するコンピューティングエンジンが属する Alibaba Cloud サービスのサービスリンクロールがシステムによって作成されます。
AliyunDataWorksFullAccess
ポリシーがアタッチされている Alibaba Cloud アカウントまたは RAM ユーザーのみが、コンピューティングエンジンに関連する操作を実行するために DataWorks を承認できます。RAM ユーザーとしてコンピューティングエンジンに関連する操作を実行する場合は、AliyunDataWorksFullAccess
ポリシーが RAM ユーザーにアタッチされていることを確認する必要があります。RAM ユーザーに権限を付与する方法については、RAM ユーザーへの権限の付与を参照してください。次の操作を実行する場合は、コンピューティングエンジンが属する Alibaba Cloud サービスへのアクセスを DataWorks に承認する必要があります: データソースの作成と管理。
RAM コンソールにログインし、[ロール] ページに移動して、コンピューティングエンジンが属する Alibaba Cloud サービスに対して作成されたサービスリンクロールを検索し、サービスリンクロールに関する情報を表示できます。サービスリンクロールの詳細については、サービスリンクロールを参照してください。
次の表に、承認に基づいて自動的に作成できるサービスリンクロールを示します。
ロール名 | ロール権限 | 参照 |
AliyunServiceRoleForDataworksEngine | DataWorks が MaxCompute にアクセスすることを許可します。 | |
AliyunServiceRoleForDataworksOnEmr | EMR DataLake クラスターのメタデータ情報を取得し、データマップで関連データレコードをプレビューします。 | |
AliyunServiceRoleForDataWorks | 仮想プライベートクラウド (VPC) のネットワーク設定とセキュリティグループの設定を取得および変更し、DataWorks 専用リソースグループとデータソース間のネットワーク接続を確立します。 | |
AliyunServiceRoleForDataWorksDI | Data Integration が RAM ロールを取得し、カスタム RAM ロールを引き受けてデータソースにアクセスできるようにします。 | |
AliyunDIDefaultRole | データソースの設定、ノード設定、データ同期中に、現在のアカウントによってアクティブ化された他の Alibaba Cloud サービスのリソースに DataWorks がアクセスできるようにします。サービスには、ApsaraDB RDS、ApsaraDB for Redis、ApsaraDB for MongoDB、PolarDB-X、HybridDB for MySQL、AnalyticDB for PostgreSQL、PolarDB、Data Management (DMS)、Data Lake Formation (DLF) が含まれます。 | |
AliyunServiceRoleForDataWorksOpenPlatform | EventBridge のイベントにアクセスして変更し、DataWorks Open Platform のメッセージイベント機能をサポートします。 | |
AliyunServiceRoleForDataWorksAccessDLF | DataWorks が DLF のメタデータ情報にアクセスし、ユーザーにメタデータの権限を付与し、ユーザーからメタデータの権限を取り消すことを許可します。このロールは、セキュリティセンターで DLF メタデータの権限のアプリケーションとリクエスト処理を実装するために使用されます。 |
以下のセクションでは、MaxCompute コンピューティングエンジンと EMR DataLake クラスターに関連するサービスリンクロールについて説明します。
ロール 1: AliyunServiceRoleForDataworksEngine
ロール名: AliyunServiceRoleForDataworksEngine
ロール権限: DataWorks が MaxCompute にアクセスすることを承認します。
ロールにアタッチされたポリシー: AliyunServiceRolePolicyForDataworksEngine
ポリシードキュメント:
{ "Version": "1", "Statement": [ { // odps のすべてのアクションを許可 "Action": "odps:*", "Effect": "Allow", "Resource": "*" }, { // pai、paiplugin、eas のすべてのアクションを許可 "Action": [ "pai:*", "paiplugin:*", "eas:*" ], "Resource": "*", "Effect": "Allow" }, { // サービスリンクロールの削除を許可 "Action": "ram:DeleteServiceLinkedRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": "engine.dataworks.aliyuncs.com" } } } ] }
ロール 2: AliyunServiceRoleForDataworksOnEmr
承認に基づいて自動的に作成されたサービスリンクロールと、ロールにアタッチされたポリシーは、変更または削除しないでください。変更または削除すると、DataWorks で EMR 機能を使用できなくなります。
ロール名: AliyunServiceRoleForDataworksOnEmr
ロール権限: データマップでデータレコードをプレビューし、メタデータ管理に DLF を使用する EMR DataLake クラスターのメタデータ情報と EMR DataLake クラスターの構成を取得します。
ロールにアタッチされたポリシー: AliyunServiceRolePolicyForDataworksOnEmr
ポリシードキュメント:
EMR にアクセスするための権限
{ "Version": "1", "Statement": [ { // EMR 関連のアクションを許可 "Action": [ "emr:GetCluster", "emr:GetOnKubeCluster", "emr:GetClusterClientMeta", "emr:GetApplicationConfigFile", "emr:ListClusters", "emr:ListNodes", "emr:ListNodeGroups", "emr:ListApplications", "emr:ListApplicationConfigs", "emr:ListApplicationConfigFiles", "emr:ListApplicationLinks", "emr:ListComponentInstances" ], "Resource": "*", "Effect": "Allow" } ] }
DLF にアクセスするための権限
アクセスする EMR DataLake クラスターがメタデータの管理に DLF を使用している場合、サービスリンクロールにアタッチされたポリシーには、DLF への次のアクセス権限も含まれています。これらの権限により、DataWorks は EMR DataLake クラスターのメタデータ情報を取得できます。
{ // DLF 関連のアクションを許可 "Action": [ "dlf:SubmitQuery", "dlf:GetQueryResult", "dlf:GetTable", "dlf:ListDatabases", "dlf:GetTableProfile", "dlf:GetCatalogSettings", "dlf:BatchGrantPermissions", "dlf:ListPartitionsByFilter", "dlf:ListPartitions" ], "Resource": "*", "Effect": "Allow" }
Container Service for Kubernetes (ACK) にアクセスするための権限
EMR on ACK クラスターにアクセスする場合、ロールにアタッチされたポリシーには、ACK への次のアクセス権限も含まれています。
{ // ACK 関連のアクションを許可 "Action": [ "cs:DescribeUserPermission", "cs:DescribeClusterDetail", "cs:DescribeClusterUserKubeconfig", "cs:GetClusters", "cs:GrantPermissions", "cs:RevokeK8sClusterKubeConfig" ], "Resource": "*", "Effect": "Allow" }
Serverless Spark にアクセスするための権限
EMR Serverless Spark クラスターにアクセスする場合、ロールにアタッチされたポリシーには、Serverless Spark への次のアクセス権限も含まれています。
{ "Effect": "Allow", // EMR Serverless Spark 関連のアクションを許可 "Action": [ "emr-serverless-spark:TerminateSqlStatement", "emr-serverless-spark:CreateSqlStatement", "emr-serverless-spark:GetSqlStatement", "emr-serverless-spark:TerminateSqlStatement", "emr-serverless-spark:ListSessionClusters", "emr-serverless-spark:ListWorkspaces", "emr-serverless-spark:ListWorkspaceQueues", "emr-serverless-spark:ListReleaseVersions", "emr-serverless-spark:CancelJobRun", "emr-serverless-spark:ListJobRuns", "emr-serverless-spark:GetJobRun", "emr-serverless-spark:StartJobRun", "emr-serverless-spark:AddMembers", "emr-serverless-spark:GrantRoleToUsers" ], "Resource": "*" }
SQL ファイルまたは JAR パッケージをアップロードしたり、アドホッククエリ結果を保存したりする場合、ロールにアタッチされたポリシーには、オブジェクトストレージサービス (OSS) への次のアクセス権限も含まれています。
{ // OSS 関連のアクションを許可 "Action": [ "oss:PutObject", "oss:GetObject", "oss:DeleteObject" ], "Resource": [ "acs:oss:*:*:*/.dataworks/*", "acs:oss:*:*:*/.dlsdata/*" ], "Effect": "Allow" }, { // OSS Data Lake Storage 関連のアクションを許可 "Action": "oss:PostDataLakeStorageFileOperation", "Resource": "*", "Effect": "Allow" }