DataWorks で Data Lake Formation (DLF) の権限を管理するには、まず DataWorks に DLF リソースへのアクセス権限を付与する必要があります。権限を付与すると、システムは自動的に AliyunServiceRoleForDataWorksAccessDLF という名前のサービスリンクロールを作成します。このトピックでは、DataWorks に DLF へのアクセスを権限付与する際に作成されるサービスリンクロールについて説明します。
ユースケース
AliyunServiceRoleForDataWorksAccessDLF サービスリンクロールは、次のシナリオで使用されます。
DataWorks に、カタログ、データベース、テーブル、フィールドなどの DLF リソースへのアクセスを権限付与します。
DataWorks が DLF リソースに対する権限を付与できるようにします。
DataWorks が DLF リソースに対する権限を取り消すことができるようにします。
AliyunServiceRoleForDataWorksAccessDLF ロール
ロール名: AliyunServiceRoleForDataWorksAccessDLF
ポリシー: AliyunServiceRolePolicyForDataWorksAccessDLF
説明: DataWorks は、デフォルトでこのロールを使用して DLF リソースにアクセスします。
{
"Version": "1",
"Statement": [
{
"Action": [
"dlf:GetCatalog",
"dlf:GetDatabase",
"dlf:GetFunction",
"dlf:GetTable",
"dlf:GetRole",
"dlf:ListCatalogs",
"dlf:ListDatabases",
"dlf:ListFunctionNames",
"dlf:ListFunctions",
"dlf:ListTableNames",
"dlf:ListTables",
"dlf:ListRoles",
"dlf:ListRoleUsers",
"dlf:CheckPermissions",
"dlf:BatchGrantPermissions",
"dlf:BatchRevokePermissions",
"dlf:GrantPermissions",
"dlf:RevokePermissions",
"dlf:UpdatePermissions",
"dlf:ListPermissions",
"dlf-dss:GetCatalog",
"dlf-dss:GetDatabase",
"dlf-dss:GetFunction",
"dlf-dss:GetTable",
"dlf-dss:ListCatalogs",
"dlf-dss:ListDatabases",
"dlf-dss:ListFunctionNames",
"dlf-dss:ListFunctions",
"dlf-dss:ListTableNames",
"dlf-dss:ListTables",
"dlf-dss:ListRoleUsers",
"dlf-dss:ListRoles",
"dlf-dss:CheckPermissions",
"dlf-dss:GrantPermissions",
"dlf-dss:RevokePermissions",
"dlf-dss:UpdatePermissions",
"dlf-dss:ListPermissions",
"dlf-dss:BatchGrantPermissions",
"dlf-dss:BatchRevokePermissions",
"dlf-dss:CreateTable",
"dlf-dss:AlterTable",
"dlf-dss:DropTable",
"dlf-dss:DescribeTable",
"dlf-dss:SelectTable",
"dlf-dss:UpdateTable",
"dlf-dss:DescribeDatabase",
"dlf-dss:CreateDatabase",
"dlf-dss:AlterDatabase",
"dlf-dss:DropDatabase",
"dlf-dss:DescribeFunction",
"dlf-dss:AlterFunction",
"dlf-dss:CreateFunction",
"dlf-dss:DropFunction",
"dlf-dss:ExecuteFunction"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "dlf.dataworks.aliyuncs.com"
}
}
}
]
}サービスリンクロールの作成
アクセスの制御で Data Lake Formation (DLF) へのアクセスをリクエストすると、システムは DataWorks に DLF へのアクセスを権限付与するように要求します。権限付与を行うと、システムは自動的に Resource Access Management (RAM) コンソールに AliyunServiceRoleForDataWorksAccessDLF サービスリンクロールを作成します。詳細については、「DLF の権限を管理する」をご参照ください。
サービスリンクロールの削除
Resource Access Management (RAM) コンソールでサービスリンクロールを削除できます。ロールが削除されると、DataWorks で DLF の権限を管理できなくなります。詳細については、「RAM ロールを削除する」をご参照ください。
RAM ユーザーがサービスリンクロールを作成するために必要な権限
RAM ユーザーが AliyunServiceRoleForDataWorksAccessDLF サービスリンクロールを作成できるようにするには、AliyunDataWorksFullAccess ポリシーまたは次のポリシーを RAM ユーザーにアタッチします。
{
"Version": "1",
"Statement": [
{
"Action": "dataworks:*",
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "ram:CreateServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "dlf.dataworks.aliyuncs.com"
}
}
}
]
}