Skip to content

Commit 757e9ba

Browse files
committed
Adding cloudasset_enable.sh convenience script
Updated README to include guidance on usage
1 parent d59b6a6 commit 757e9ba

File tree

2 files changed

+41
-3
lines changed

2 files changed

+41
-3
lines changed

resource_management/gcp/README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,17 @@ The user executing the script must have roles/cloudassset.viewer and roles/servi
3737

3838
Script requires access to cloudasset API.
3939

40-
### A) We recommend granting at the org level:
40+
### A) We recommend granting for all projects in the org:
4141

42-
`gcloud --organization <organization_id> services enable cloudasset.googleapis.com`
42+
1. Download the script cloudasset_enable.sh
4343

44-
### B) Alternative is granting for each project to be examined:
44+
wget https://github.com/lacework-dev/scripts/blob/main/resource_management/gcp/cloudasset_enable.sh
45+
46+
2. Run the script:
47+
48+
`chmod +x ./cloudasset_enable.sh; mkdir -p /tmp/lacework; ./cloudasset_enable.sh 2>&1 | tee /tmp/lacework/enable_output`
49+
50+
### B) Alternative is manually granting for each project to be examined:
4551

4652
`gcloud --project <project_id> services enable cloudasset.googleapis.com`
4753

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/bin/bash
2+
3+
STAR=*
4+
FILEENDING=".enable"
5+
6+
mkdir -p /tmp/lacework
7+
gcloud config set accessibility/screen_reader false
8+
9+
var=$(gcloud projects list --filter='lifecycleState:ACTIVE' | sed "1 d" | cut -d ' ' -f 1)
10+
number_projects=$(echo "$var" | wc -l)
11+
12+
echo "==> Project list:"
13+
echo $var | tr " " "\n"
14+
echo "==> Total number of projects = $number_projects"
15+
16+
read -p "Continue to enable on all projects? " -n 1 -r
17+
echo # (optional) move to a new line
18+
if [[ ! $REPLY =~ ^[Yy]$ ]]
19+
then
20+
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1 # handle exits from shell or function but don't exit interactive shell
21+
fi
22+
23+
for val in $var; do
24+
echo "=> Enabling for Project $val"
25+
if gcloud --project $val services enable cloudasset.googleapis.com > /tmp/lacework/$val$FILEENDING
26+
then
27+
echo "==> Done."
28+
else
29+
echo "==> Error enabling."
30+
fi
31+
echo "***************************************"
32+
done

0 commit comments

Comments
 (0)