DataWorks Data Integrationは、RAMロールベースの権限付与をサポートしています。 このトピックでは、Data Integration関連のRAMロールを取得し、Data Integrationのサービスにリンクされたロールを削除し、RAMユーザーがData Integrationのサービスにリンクされたロールを作成できるようにする方法について説明します。
シナリオ
Object Storage Service (OSS) データソースなどのデータソースを追加する場合、data Integrationを指定して、データソースに接続するカスタムRAMロールを引き受けることができます。
Data Integrationを有効にして、サービスにリンクされたロールAliyunServiceRoleForDataWorksDIを引き受け、カスタムRAMロールを取得する必要があります。
また、Data Integrationを有効にして、サービスにリンクされたロールAliyunDIDefaultRoleを引き受け、Data IntegrationがデータソースのAPI操作を呼び出すことができるようにする必要があります。
AliyunServiceRoleForDataWorksDIロールの説明
- ロール名: AliyunServiceRoleForDataWorksDI
- ポリシー名: AliyunServiceRolePolicyForDataWorksDI
- 権限の説明: このポリシーは、Data IntegrationにカスタムRAMロールを取得する権限を付与します。
- ロールの説明: Data Integrationはこのロールを引き受けてカスタムRAMロールを取得できます。
{
"Version": "1",
"Statement": [
{
"Action": [
"ram:ListRoles" 、
"ram:GetRole"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
AliyunDIDefaultRoleロールの説明
- ロール名: AliyunDIDefaultRole
- ポリシー名: AliyunDIRolePolicy
- 権限の説明: このポリシーは、現在のアカウントによってアクティブ化されている他のサービスのリソースにアクセスする権限をData Integrationに付与します。 サービスには、ApsaraDB RDS、ApsaraDB for Redis、ApsaraDB for MongoDB、PolarDB-X、HybridDB for MySQL、AnalyticDB for PostgreSQL、PolarDB、Data Management (DMS) 、およびData Lake Formation (DLF) が含まれます。
- ロールの説明: Data Integrationは、データソースの構成、ノードの構成、およびデータ同期中に関連するリソースにアクセスするためにこのロールを引き受けることができます。
{
"Version": "1",
"Statement": [
{
"Action": [
"rds:DescribeDBInstanceAttribute",
"rds:DescribeDBInstanceNetInfo",
"rds:DescribeDBInstances",
"rds:DescribeRegions",
"rds:DescribeDatabases",
"rds:DescribeSecurityGroupConfiguration" 、
"rds:DescribeDBInstanceIPArrayList",
"rds:ModifySecurityGroupConfiguration" 、
"rds:ModifySecurityIps"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"kvstore:DescribeInstances",
"kvstore:DescribeInstanceAttribute",
"kvstore:DescribeRegions",
"kvstore:ModifySecurityIps"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"dds:DescribeDBInstanceAttribute",
"dds:DescribeSecurityIps",
"dds:DescribeRegions",
"dds:DescribeDBInstances",
"dds:DescribeReplicaSetRole",
"dds:ModifySecurityIps"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"drds:DescribeDrdsInstanceList" 、
"drds:DescribeDrdsInstance",
"drds:DescribeDrdsDbList" 、
"drds:DescribeDrdsDb" 、
"drds:DescribeLogicTableList" 、
"drds:DescribeRegions" 、
"drds:ModifyDrdsIpWhiteList"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"petadata:DescribeInstanceInfo" 、
"petadata:DescribeInstances" 、
"petadata:DescribeDatabases" 、
"petadata:DescribeTables" 、
"petadata:DescribeTableInfo" 、
"petadata:DescribeInstancePerformance" 、
"petadata:DescribeDatabasePerformance" 、
"petadata:DescribeInstanceResourceUsage" 、
"petadata:DescribeDatabaseResourceUsage" 、
"petadata:DescribeRegions" 、
"petadata:DescribeSecurityIPs" 、
"petadata:ModifySecurityIPs"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"gpdb:DescribeDBInstanceAttribute" 、
"gpdb:DescribeDBInstances" 、
"gpdb:DescribeResourceUsage" 、
"gpdb:DescribeDBInstanceIPArrayList" 、
"gpdb:DescribeDBClusterIPArrayList" 、
"gpdb:DescribeDBInstancePerformance" 、
"gpdb:DescribeDBInstanceNetInfo" 、
"gpdb:DescribeRegions" 、
"gpdb:ModifySecurityIps"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"polardb:DescribeClusterInfo" 、
"polardb:DescribeDBClusterParameters" 、
"polardb:DescribeDBClusterEndpoints" 、
"polardb:ModifyDBClusterAccessWhitelist" 、
"polardb:DescribeDBClusterAccessWhitelist" 、
「polardb:DescribeRegions」
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"dms:ListUsers" 、
"dms:ListDatabases" 、
"dms:ListLogicTables" 、
"dms:GetLogicDatabase" 、
"dms:SearchDatabase" 、
"dms:GetMetaTableDetailInfo" 、
"dms:SearchTable" 、
"dms:ExecuteScript" 、
"dms: リストテーブル" 、
"dms:GetDatabase" 、
"dms:ListInstances" 、
"dms:GetTableDBTopology"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"dlf:GetServiceStatus" 、
"dlf:ListDatabases" 、
"dlf:CreateDatabase" 、
"dlf:CreateTable" 、
"dlf:BatchCreateTables" 、
"dlf:CreatePartition" 、
"dlf:ListTableNames" 、
"dlf:GetTable" 、
"dlf:UpdateDatabase" 、
"dlf:UpdateTable" 、
「dlf:DescribeRegions」
],
"Resource": "*",
"Effect": "Allow"
}
]
}
サービスにリンクされたロールを削除する
- AliyunServiceRoleForDataWorksDIロールはいつでも削除できます。 このロールを削除すると、Data IntegrationはカスタムRAMロールを取得できず、データソースの追加時にRAMロールを選択できません。 詳細については、「サービスにリンクされたロールの削除」をご参照ください。
- AliyunDIDefaultRoleロールはいつでも削除できます。 ロールを削除した場合、Data Integrationは、データソースの構成、ノードの構成、またはデータの同期中に、関連するサービスに関する情報を照会できない場合があります。 その結果、接続テストエラー、ノード構成エラー、またはデータ同期エラーが発生する可能性があります。
RAMユーザーがサービスにリンクされたロールを作成するために必要な権限
- RAMユーザーがAliyunServiceRoleForDataWorksDIロールを作成できるようにするには、DataWorksFullAccessポリシーまたは次のポリシーをRAMユーザーにアタッチする必要があります
。{ "Version": "1", "Statement": [ { "Action": "dataworks:*" 、 "Resource": "*", "Effect": "Allow" }, { "アクション": "ram:CreateServiceLinkedRole" 、 "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": "di.dataworks.aliyuncs.com" } } } ] }
- RAMユーザーがAliyunDIDefaultRoleロールを作成できるようにするには、RAMユーザーに次のポリシーをアタッチする必要があります:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ram:CreateRole", "ram:AttachPolicyToRole" ], "Resource": "*" } ] }