dask / dask/dask-cloudprovider
Specification of required permissions for deploying Dask Cluster on GCP
- 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
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