You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+
## Project Overview
6
+
7
+
**Cloudlist** is a multi-cloud asset discovery tool written in Go that enumerates resources (IPs, DNS names) from various cloud providers using their APIs. It's designed for blue team security operations to maintain centralized cloud asset inventories.
`gcp_service_account_key`can be retrieved by creating a new service account. To do so, create service account with Read Only access to `cloudresourcemanager` and `dns` scopes in IAM. Next, generate a new account key for the Service Account by following steps in Reference 2. This should give you a json which can be pasted in a single line in the `gcp_service_account_key`.
91
+
**Option 2: Short-lived Credentials (Developer Workflow - Zero Keys)**
**Additional Requirements for Short-lived Credentials:**
146
+
- **Source credentials** need: `roles/iam.serviceAccountTokenCreator` or `iam.serviceAccounts.generateAccessToken` permission on the target service account
147
+
- **Target service account** needs: Same viewer roles listed above
148
+
- **Service Account Credentials API** must be enabled in the project
- `service_account_email` (string, required if short-lived): Target service account to impersonate
153
+
- `source_credentials` (string, optional): Path to source credentials file (uses ADC if not provided)
154
+
- `token_lifetime` (string, optional): Token lifetime in seconds (e.g., "3600s") or Go duration format (e.g., "1h"). Range: 1s to 3600s (1 hour). Default: "3600s"
155
+
156
+
---
157
+
158
+
#### 2. Organization-Level Asset API (Organization-Wide Discovery)
159
+
160
+
**Traditional Authentication:**
161
+
162
+
```yaml
163
+
- # provider is the name of the provider
164
+
provider: gcp
165
+
# id is the name defined by user for filtering (optional)
166
+
id: org-discovery
167
+
# organization_id enables Asset API for organization-wide discovery
168
+
organization_id: "123456789012"
169
+
# gcp_service_account_key with organization-level permissions
0 commit comments