dask / dask/dask-cloudprovider

Specification of required permissions for deploying Dask Cluster on GCP

Open
#279 9 comments 1 reaction 0 assignees View on GitHub
help wanted provider/gcp/vm
Dominant language
Python
Stars
147
Forks
119
PR merge metrics
No merged PRs in 30d

Description

Hello!

If I'm not mistaken then there is no documentation regarding the required permissions for the Service Account used for deploying the Dask cluster on GCP.

With regard to deploying a cluster using the following code:

```python
# SA: export GOOGLE_APPLICATION_CREDENTIALS="/home/raffael/repos/dask/playground-310111-1d035231463d.json"

from dask_cloudprovider.gcp import GCPCluster

cluster = GCPCluster(
projectid="playground-310111",
n_workers=1,
source_image="projects/ubuntu-os-cloud/global/images/ubuntu-minimal-1804-bionic-v20210325",
zone="europe-west1-b",
)
```
That deployment succeeds if I attach the Project Owner role to the Service Account but fails with Compute Admin role.
Using the Project Owner role would obviously be not very satisfying (principle of least privilege). Same applies to the Compute Admin role.

It would be interesting to know what permissions are required.

Regards

Raffael

Contributor guide

Open the contributing guide

Research direction

Start with the GCPCluster deployment path shown in the issue and trace the Google Cloud operations it performs. Compare those operations with the permissions granted by Compute Admin, then document the least-privilege Service Account permissions and verify that the example deployment succeeds with them.

Written by the indexing model from the issue text.

Assessment

Tech stack
google-cloud, python
Domain
cloud
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.