このトピックでは、ポリシーベースのアクセス制御およびダウンロード制御機能の使用方法について説明します。

GRANT 文を使用したポリシーベースのアクセス制御

ポリシーベースのアクセス制御と権限の取り消しの構文:
GRANT [privileges] ON <objectType> <objectName>  to role <rolename> privilegeproperties("policy" = "true", "allow"="[true|false]", "conditions"= "acs:SourceIp in ('192.168.0.0/16','172.12.0.0/16') and 'odps:InstanceId'='aaaaaa'");
REVOKE  [privileges] ON  <objectType> <objectName>  from role <rolename> privilegeproperties ("policy" = "true", "allow"="[true|false]");
説明
  • ポリシーベースのアクセス制御を使用してロールのみに権限を付与できます。
  • privilegeproperties パラメーターの {"policy" = "true"} フィールドは、ポリシーベースのアクセス制御が使用されることを示します。
  • privilegeproperties パラメーターの {"allow"="[true|false]"} フィールドは、権限付与の有無を指定します。 権限を禁止するには {"deny"="[true|false]"} フィールドを使用します。
  • 権限を取り消すことができるのは、 REVOKE 文の allowobjectNamerolename が権限で指定されたものと同一である場合のみです。
例:
  • 例 1
    aliyun_test ロールに dataworks_test プロジェクトの読み取り専用の権限を付与します。
    grant Read on project dataworks_test to role aliyun_test privilegeproperties("policy" = "true", "allow"="true");
  • 例 2
    aliyun_test ロールに MaxCompute プロジェクトのすべてのテーブルに対する読み取り専用権限を付与します。
    grant Select on table * to role aliyun_test privilegeproperties("policy" = "true", "allow"="true");
  • 例 3
    aliyun_test ロールを無効化して MaxCompute プロジェクトのすべてのテーブルを削除します。
    grant Drop on table * to role aliyun_test privilegeproperties("policy" = "true", "allow"="false");

ダウンロード制御

トンネルベースのデータダウンロードを制御するために、権限モデルにダウンロード制御が提供されています。 トンネルを使用してデータをダウンロードするには、ダウンロード権限が必要です。

構文:
grant download on <objectType> <objectName> to [role|user] <name>;
説明
  • プロジェクトオーナーまたは Super_Administrator ロールを付与されているユーザーのみが、ダウンロード権限を付与できます。
  • テーブルリソースのダウンロード権限のみが付与可能です。