dataproc 作业提交失败 'Not authorized to requested resource',缺少什么权限?
dataproc job submission failing with 'Not authorized to requested resource', what permission is missing?
我们有一个现有的 dataproc 资产,我们使用 dataproc 的预定义角色控制访问。我们想限制我们的用户群在我们的 GCP 项目中拥有的权限,因此我们将使用自定义角色替换预定义角色。
我设计了一个自定义角色来管理对 dataproc 的访问并赋予它以下权限:
- dataproc.clusters.delete
- dataproc.clusters.get
- dataproc.clusters.list
- dataproc.jobs.cancel
- dataproc.jobs.create
- dataproc.jobs.delete
- dataproc.jobs.get
- resourcemanager.projects.get
当被授予此角色的用户使用以下方式提交工作时:
gcloud dataproc jobs submit spark \
--id $DATAPROC_JOB_ID --async \
--project $GCP_PROJECT --region europe-west1 \
--cluster $clusterName \
--class org.apache.spark.examples.SparkPi \
--jars file:///usr/lib/spark/examples/jars/spark-examples.jar \
-- 1000
失败并出现错误:
ERROR: (gcloud.dataproc.jobs.submit.spark) PERMISSION_DENIED: Not authorized to requested resource.
我想知道它可能缺少哪些权限,因为我提供的权限似乎涵盖了提交作业所需的一切。我是否缺少某些权限?
想通了。它需要 dataproc.clusters.use
到。
是的,你是对的。
要提交数据处理作业,需要 'dataproc.clusters.use' 和 'dataproc.jobs.create' 许可。
我们有一个现有的 dataproc 资产,我们使用 dataproc 的预定义角色控制访问。我们想限制我们的用户群在我们的 GCP 项目中拥有的权限,因此我们将使用自定义角色替换预定义角色。
我设计了一个自定义角色来管理对 dataproc 的访问并赋予它以下权限:
- dataproc.clusters.delete
- dataproc.clusters.get
- dataproc.clusters.list
- dataproc.jobs.cancel
- dataproc.jobs.create
- dataproc.jobs.delete
- dataproc.jobs.get
- resourcemanager.projects.get
当被授予此角色的用户使用以下方式提交工作时:
gcloud dataproc jobs submit spark \
--id $DATAPROC_JOB_ID --async \
--project $GCP_PROJECT --region europe-west1 \
--cluster $clusterName \
--class org.apache.spark.examples.SparkPi \
--jars file:///usr/lib/spark/examples/jars/spark-examples.jar \
-- 1000
失败并出现错误:
ERROR: (gcloud.dataproc.jobs.submit.spark) PERMISSION_DENIED: Not authorized to requested resource.
我想知道它可能缺少哪些权限,因为我提供的权限似乎涵盖了提交作业所需的一切。我是否缺少某些权限?
想通了。它需要 dataproc.clusters.use
到。
是的,你是对的。
要提交数据处理作业,需要 'dataproc.clusters.use' 和 'dataproc.jobs.create' 许可。