提交作业时提示作业桶权限不足怎么办?
问题描述
已经配置DLI作业桶,且完成Flink桶授权后在提交作业时仍然提示桶未授权怎么办?
根因分析
使用DLI作业桶需要确保已完成DLI作业桶的权限配置。
您需要在OBS管理控制台中检查DLI作业桶的桶策略,确保策略中包含了允许DLI服务进行必要操作的授权信息。
确保没有任何策略明确拒绝了DLI服务对桶的访问。IAM策略是优先考虑拒绝(deny)权限的,即使有允许(allow)权限,如果有拒绝权限存在,也会导致授权失败。
排查方案
- 在OBS管理控制台找到DLI作业桶。
- 查看所选桶的桶策略。
DLI Flink作业所需要使用的桶授权信息如下,其中domainId和userId分别为DLI的账号和子账号,bucketName为用户桶名,timeStamp为策略创建时的时间戳。
{ "Statement": [ { "Effect": "Allow", "Principal": { "ID": [ "domain/domainId:user/userId" ] }, "Action": [ "GetObject", "GetObjectVersion", "PutObject", "DeleteObject", "DeleteObjectVersion", "ListMultipartUploadParts", "AbortMultipartUpload", "GetObjectAcl", "GetObjectVersionAcl" ], "Resource": [ "bucketName/*" ], "Sid": "未命名的桶策略-Timestamp-0" }, { "Effect": "Allow", "Principal": { "ID": [ "domain/domainId:user/userId " ] }, "Action": [ "HeadBucket", "ListBucket", "ListBucketVersions", "ListBucketMultipartUploads", "GetBucketAcl", "GetBucketLocation", "GetBucketLogging", "GetLifecycleConfiguration" ], "Resource": [ " bucketName " ], "Sid": "未命名的桶策略-Timestamp-1" } ] }
- 在管理控制台检查以下权限相关内容,查看策略名称是否与2一致。
- 效力:允许
- 授权资源:按需授权桶和对象。
- 授权操作:与2中Action一致
常用检查项:
- 检查是否配置了所有账号的某些拒绝操作,且这些操作是上述DLI所需要的授权操作。
- 检查是否对DLI的被授权用户配置了某些拒绝操作,且这些操作是上述DLI所需要的授权操作。