湖仓构建 LAKEFORMATION-IAM权限介绍:IAM系统策略
IAM 系统策略
表1介绍了LakeFormation的默认系统策略。
系统角色/策略名称 |
描述 |
类别 |
依赖关系 |
---|---|---|---|
LakeFormation FullAccess |
LakeFormation管理员权限,拥有该权限的用户可以操作并使用所有LakeFormation服务功能。 |
系统策略 |
|
LakeFormation ReadOnlyAccess |
LakeFormation只读权限,拥有该权限的用户可以执行LakeFormation所有查询类功能。 |
系统策略 |
|
LakeFormation CommonOperations |
LakeFormation基础权限,包含LakeFormation服务协议查看/授权/取消,以及OBS、TMS等周边依赖服务的基础权限集合。 |
系统策略 |
|
表2介绍了lakeFormation常用操作与系统权限的授权关系,您可以参考该表选择合适的系统权限。
操作 |
LakeFormation FullAccess |
LakeFormation CommonOperations |
LakeFormation ReadOnlyAccess |
---|---|---|---|
查询LakeFormation实例 |
√ |
√ |
√ |
创建LakeFormation实例 |
√ |
x |
x |
变更LakeFormation实例 |
√ |
√ |
x |
删除LakeFormation实例 |
√ |
x |
x |
恢复LakeFormation实例 |
√ |
x |
x |
查询租户所有标签 |
√ |
√ |
√ |
更新LakeFormation实例的标签 |
√ |
√ |
x |
创建元数据迁移/发现任务 |
√ |
√ |
x |
修改元数据迁移/发现任务 |
√ |
√ |
x |
删除元数据迁移/发现任务 |
√ |
√ |
x |
查询元数据迁移/发现任务 |
√ |
√ |
√ |
查询元数据迁移/发现任务日志 |
√ |
√ |
√ |
运行/停止元数据迁移/发现任务 |
√ |
√ |
x |
同意用户协议 |
√ |
√ |
√ |
查询用户协议 |
√ |
√ |
√ |
删除用户协议 |
√ |
√ |
√ |
授权LakeFormation服务创建委托 |
√ |
x |
x |
查询LakeFormation服务创建的委托 |
√ |
√ |
√ |
删除LakeFormation服务创建的委托 |
√ |
x |
x |
授权资源 |
√ |
x |
x |
查询授权资源 |
√ |
√ |
√ |
取消授权资源 |
√ |
x |
x |
查询OBS桶列表 |
√ |
√ |
√ |
查询OBS桶对象列表 |
√ |
√ |
√ |
创建服务接入客户端 |
√ |
√ |
x |
查询服务接入客户端 |
√ |
√ |
√ |
删除服务接入客户端 |
√ |
√ |
x |
订阅元数据事件 |
√ |
√ |
x |
取消订阅元数据事件 |
√ |
√ |
x |
查询元数据事件 |
√ |
√ |
√ |
查询Catalog元数据 |
√ |
√ |
√ |
创建Catalog元数据 |
√ |
√ |
x |
修改Catalog元数据 |
√ |
√ |
x |
删除Catalog元数据 |
√ |
√ |
x |
查询Database元数据 |
√ |
√ |
√ |
创建Database元数据 |
√ |
√ |
x |
修改Database元数据 |
√ |
√ |
x |
删除Database元数据 |
√ |
√ |
x |
查询Table元数据 |
√ |
√ |
√ |
创建Table元数据 |
√ |
√ |
x |
修改Table元数据 |
√ |
√ |
x |
删除Table元数据 |
√ |
√ |
x |
查询Partition元数据 |
√ |
√ |
√ |
创建Partition元数据 |
√ |
√ |
x |
修改Partition元数据 |
√ |
√ |
x |
删除Partition元数据 |
√ |
√ |
x |
查询列统计信息 |
√ |
√ |
√ |
创建列统计信息 |
√ |
√ |
x |
修改列统计信息 |
√ |
√ |
x |
删除列统计信息 |
√ |
√ |
x |
查询Function元数据 |
√ |
√ |
√ |
创建Function元数据 |
√ |
√ |
x |
修改Function元数据 |
√ |
√ |
x |
删除Function元数据 |
√ |
√ |
x |
查询Model元数据 |
√ |
√ |
√ |
创建Model元数据 |
√ |
√ |
x |
修改Model元数据 |
√ |
√ |
x |
删除Model元数据 |
√ |
√ |
x |
查询ModelFile元数据 |
√ |
√ |
√ |
创建ModelFile元数据 |
√ |
√ |
x |
修改ModelFile元数据 |
√ |
√ |
x |
删除ModelFile元数据 |
√ |
√ |
x |
查询dataset元数据 |
√ |
√ |
√ |
创建dataset元数据 |
√ |
√ |
x |
修改dataset元数据 |
√ |
√ |
x |
删除dataset元数据 |
√ |
√ |
x |
查询元数据数量 |
√ |
√ |
√ |
查询授权主体 |
√ |
√ |
√ |
创建角色 |
√ |
√ |
x |
删除角色 |
√ |
√ |
x |
修改角色 |
√ |
√ |
x |
查询角色 |
√ |
√ |
√ |
将用户/用户组加入角色 |
√ |
√ |
x |
将用户/用户组移除角色 |
√ |
√ |
x |
更新角色中的用户/用户组 |
√ |
√ |
x |
将元数据权限授权给授权主体 |
√ |
√ |
x |
取消授权元数据权限给授权主体 |
√ |
√ |
x |
查询授权信息 |
√ |
√ |
√ |
获取访问数据的STSToken |
√ |
√ |
x |
LakeFormation系统策略所包含的详细内容如下:
- LakeFormation FullAccess策略内容
{ "Version": "1.1", "Statement": [ { "Action": [ "lakeformation:*:*", "vpc:*:get", "vpc:*:list", "tms:predefineTags:list", "obs:bucket:ListAllMyBuckets", "obs:bucket:ListBucket", "obs:bucket:HeadBucket", "obs:object:GetObject" ], "Effect": "Allow" } ] }
- LakeFormation CommonOperations策略
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:*:describe*", "lakeformation:*:list*", "lakeformation:policy:export", "lakeformation:access:create", "lakeformation:access:delete", "lakeformation:accessAgency:describe", "lakeformation:accessService:describe", "lakeformation:accessService:grant", "lakeformation:accessTenant:grant", "lakeformation:agreement:cancel", "lakeformation:agreement:describe", "lakeformation:agreement:grant", "lakeformation:catalog:alter", "lakeformation:catalog:create", "lakeformation:catalog:drop", "lakeformation:database:alter", "lakeformation:database:create", "lakeformation:database:drop", "lakeformation:dataset:alter", "lakeformation:dataset:alterFile", "lakeformation:dataset:alterFileGroup", "lakeformation:dataset:create", "lakeformation:dataset:createFile", "lakeformation:dataset:createFileGroup", "lakeformation:dataset:drop", "lakeformation:dataset:dropFile", "lakeformation:dataset:dropFileGroup", "lakeformation:function:alter", "lakeformation:function:create", "lakeformation:function:drop", "lakeformation:group:alter", "lakeformation:instance:access", "lakeformation:instance:alter", "lakeformation:instanceJob:alter", "lakeformation:instanceJob:create", "lakeformation:instanceJob:drop", "lakeformation:instanceJob:exec", "lakeformation:job:alter", "lakeformation:job:create", "lakeformation:job:drop", "lakeformation:job:exec", "lakeformation:model:alter", "lakeformation:model:alterFile", "lakeformation:model:create", "lakeformation:model:createFile", "lakeformation:model:drop", "lakeformation:model:dropFile", "lakeformation:policy:create", "lakeformation:policy:drop", "lakeformation:role:alter", "lakeformation:role:create", "lakeformation:role:drop", "lakeformation:table:alter", "lakeformation:table:create", "lakeformation:table:drop", "lakeformation:transaction:operate", "lakeformation:user:alter", "vpc:*:get", "vpc:*:list", "tms:predefineTags:list", "obs:bucket:ListAllMyBuckets", "obs:bucket:ListBucket", "obs:bucket:HeadBucket", "obs:object:GetObject" ] } ] }
- LakeFormation ReadOnlyAccess策略
{ "Version": "1.1", "Statement": [ { "Action": [ "lakeformation:*:describe*", "lakeformation:*:list*", "lakeformation:policy:export", "lakeformation:agreement:cancel", "lakeformation:agreement:describe", "lakeformation:agreement:grant", "vpc:*:get", "vpc:*:list", "tms:predefineTags:list", "obs:bucket:ListAllMyBuckets", "obs:bucket:ListBucket", "obs:bucket:HeadBucket", "obs:object:GetObject" ], "Effect": "Allow" } ] }