DataWorks では、カスタムポリシーを作成し、RAM ユーザーにアタッチして、きめ細かい権限管理を実行できます。カスタムポリシーを RAM ユーザーにアタッチすると、RAM ユーザーには、ポリシーで定義されている権限が付与されます。このトピックでは、DataWorks サービスおよび DataWorks コンソール内のエンティティに対する権限を管理するために使用できるカスタムポリシーについて説明します。また、カスタムポリシーを使用して DataWorks コンソール内のエンティティに対する権限を管理する方法の例も示します。
前提条件
RAM ポリシーの構文に精通している必要があります。詳細については、「ポリシーの構造と構文」をご参照ください。
DataWorks サービスおよび DataWorks コンソール内のエンティティの権限管理に関する情報に精通している必要があります。詳細については、「RAM ポリシーを使用した DataWorks サービスおよび DataWorks コンソール内のエンティティに対する権限の管理」をご参照ください。
注意事項
このトピックでは、カスタムポリシーが使用されます。カスタムポリシーを作成し、RAM ユーザーにアタッチすると、RAM ユーザーは関連する操作を実行するための権限を持つことができます。RAM ユーザーに権限を付与する方法については、「RAM ユーザーへの権限の付与」をご参照ください。
DataWorks サービスに対する権限を管理するために使用されるカスタムポリシー
カスタムポリシー 1:RAM ユーザーによるすべての操作の実行を禁止する
ワークスペース管理者は、RAM ユーザーによるすべての操作の実行を禁止するポリシーを RAM ユーザーにアタッチできます。ポリシーがアタッチされると、RAM ユーザーは DataWorks のすべての機能を使用できなくなります。たとえば、RAM ユーザーは DataWorks コンソールでの操作の実行、さまざまなサービスの機能の使用、API 操作の呼び出しを行うことができなくなります。
ポリシーの例:
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "dataworks:*",
"Resource": "*"
}
]
}
カスタムポリシー 2:RAM ユーザーによる API 操作の呼び出しを禁止する
ワークスペース管理者は、RAM ユーザーによる API 操作の呼び出しを禁止するポリシーを RAM ユーザーにアタッチできます。ポリシーがアタッチされると、RAM ユーザーは DataWorks API 操作を呼び出すことができなくなります。
ポリシーの例:
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "dataworks:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"dataworks:Scope": "OpenAPI"
}
}
}
]
}
カスタムポリシー 3:RAM ユーザーによる DataWorks サービスへのアクセスを禁止する
ワークスペース管理者は、RAM ユーザーによる DataWorks サービスへのアクセスを禁止するポリシーを RAM ユーザーにアタッチできます。ポリシーがアタッチされると、RAM ユーザーは DataWorks サービスにアクセスできなくなります。
このポリシーは、RAM ユーザーによるサービスへのアクセスのみを禁止します。RAM ユーザーに特定のサービスの API 操作を呼び出す権限が付与されている場合、RAM ユーザーは API 操作を呼び出すことができます。
ポリシーの例:
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "dataworks:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"dataworks:Scope": "Page"
}
}
}
]
}
DataWorks コンソール内のエンティティに対する権限を管理するために使用されるカスタムポリシー
DataWorks コンソールでの操作に対する権限を管理するために使用されるカスタムポリシーは、リソースタイプに基づいて分類できます。
カスタムポリシーの Resource 要素を構成する前に、次の項目に注意してください。
カスタムポリシーを作成する場合は、次の表の Resource 列にあるプレースホルダー
$
で始まるコンテンツを実際の ID に置き換えます。たとえば、$regionid
はリージョンの ID に、$accountid
は Alibaba Cloud アカウントの UID に置き換える必要があります。アスタリスク(
*
)はワイルドカードです。アスタリスクを特定の値に置き換えて、権限管理のスコープを縮小できます。たとえば、workspace/*
をworkspace/workspaceid
に置き換えると、ポリシーは指定されたワークスペースで有効になります。
エンティティタイプ 1:ワークスペース
Action | Resource | 説明 |
CreateWorkspace | acs:dataworks:$regionid:$accountid:workspace/* | ワークスペースを作成します。 |
ModifyWorkspace | acs:dataworks:$regionid:$accountid:workspace/$workspaceName | ワークスペースを変更します。 |
DeleteWorkspace | acs:dataworks:$regionid:$accountid:workspace/$workspaceName | ワークスペースを削除します。 |
DisableWorkspace | acs:dataworks:$regionid:$accountid:workspace/$workspaceName | ワークスペースを無効にします。 |
EnableWorkspace | acs:dataworks:$regionid:$accountid:workspace/$workspaceName | ワークスペースを有効にします。 |
例:カスタムロールにワークスペースを変更する権限を付与する
ポリシーの例:
{
"Statement": [
{
"Action": "dataworks:ModifyWorkspace",
"Effect": "Allow",
"Resource": "acs:dataworks:$regionid:$accountid:workspace/$workspaceName"
}
],
"Version": "1"
}
エンティティタイプ 2:リソースグループ
Action | Resource | 説明 | 注意事項 |
ListResourceGroup | acs:dataworks:$regionid:$accountid:exclusive_resource_group/* | DataWorks コンソールに [専用リソースグループ] タブを表示します。RAM ユーザーにこの権限が付与されていない場合、DataWorks コンソールで RAM ユーザーには [専用リソースグループ] タブが表示されません。 | ListResourceGroup 権限と ShowResourceGroupDetail 権限は、多くの場合、RAM ユーザーが専用リソースグループを表示できるかどうかを判断するために一緒に使用されます。
説明
|
ShowResourceGroupDetail | acs:dataworks:$regionid:$accountid:exclusive_resource_group/$resourceGroupName | 指定されたリソースグループの詳細を表示します。 | |
CreateResourceGroup | acs:dataworks:$regionid:$accountid:exclusive_resource_group/* | 専用リソースグループを作成します。 | この権限により、RAM ユーザーは注文 ID に基づいて DataWorks コンソールでリソースグループを作成できます。 この権限では、RAM ユーザーが専用リソースを購入することはできません。 RAM ユーザーがリソースグループを購入、スケーリング、更新、またはリソースグループの仕様を変更できるようにするには、AliyunDataWorksFullAccess ポリシーと AliyunBSSOrderAccess ポリシーを RAM ユーザーにアタッチする必要があります。 |
ModifyResourceGroup | acs:dataworks:$regionid:$accountid:exclusive_resource_group/$resourceGroupName | 排他的リソースグループを変更します。 | - |
例 1:カスタムロールに排他リソースグループの表示と管理を許可する
ポリシー例:
{ "Statement": [ { "Action": "dataworks:ListResourceGroup", "Effect": "Allow", "Resource": "acs:dataworks:*:1111:exclusive_resource_group/*" }, { "Action": "dataworks:ShowResourceGroupDetail", "Effect": "Allow", "Resource": "acs:dataworks:*:11111:exclusive_resource_group/resourceGroupName2" }, { "Action": "dataworks:ModifyResourceGroup", "Effect": "Allow", "Resource": "acs:dataworks:*:111:exclusive_resource_group/resourceGroupName2" } ], "Version": "1" }
例 2:カスタムロールに中国 (上海) リージョンにあるリソースグループの表示と、排他リソースグループの作成と変更を許可する
説明この例では、関連する権限が付与されている RAM ユーザーは、注文 ID に基づいてリソースグループを作成できますが、排他リソースを購入することはできません。
ポリシー例:
{ "Statement": [ { "Action": "dataworks:ListResourceGroup", "Effect": "Allow", "Resource": "acs:dataworks:*:$accountid:exclusive_resource_group/*" }, { "Action": "dataworks:ShowResourceGroupDetail", "Effect": "Allow", "Resource": "acs:dataworks:cn-shanghai:$accountid:exclusive_resource_group/*" }, { "Action": "dataworks:CreateResourceGroup", "Effect": "Allow", "Resource": "acs:dataworks:cn-shanghai:$accountid:exclusive_resource_group/*" }, { "Action": "dataworks:ModifyResourceGroup", "Effect": "Allow", "Resource": "acs:dataworks:cn-shanghai:$accountid:exclusive_resource_group/resourceGroupName1" }, { "Action": "dataworks:ModifyResourceGroup", "Effect": "Allow", "Resource": "acs:dataworks:cn-shanghai:$accountid:exclusive_resource_group/resourceGroupName2" } ], "Version": "1" }
エンティティタイプ 3:アラート情報
アクション | リソース | 説明 |
ListContacts | acs:dataworks:$regionid:$accountid:contacts_ram_user/* | アラート連絡先を一覧表示します。 |
ModifyContacts | acs:dataworks:$regionid:$accountid:contacts_ram_user/* | アラート連絡先の情報を変更します。 |
ListAlarmResource | acs:dataworks:$regionid:$accountid:alarm_resource/* | アラートリソースを一覧表示します。 |
SetUpperLimits | acs:dataworks:$regionid:$accountid:alarm_resource/* | アラートリソースの使用量の上限を指定します。 |
例: カスタムロールにアラートリソースの表示、アラートリソースの使用量の上限の指定、およびアラート連絡先の表示を許可する
ポリシー例:
{
"Statement": [
{
"Action": "dataworks:ListAlarmResource",
"Effect": "Allow",
"Resource": "*"
},
{
"Action": "dataworks:SetUpperLimits",
"Effect": "Allow",
"Resource": "acs:dataworks:$regionid:$accountid:alarm_resource/*"
},
{
"Action": "dataworks:ListContacts",
"Effect": "Allow",
"Resource": "acs:dataworks:$regionid:$accountid:contacts_ram_user/*"
},
{
"Action": "dataworks:ModifyContacts",
"Effect": "Allow",
"Resource": "acs:dataworks:$regionid:$accountid:contacts_ram_user/*"
}
],
"Version": "1"
}