Skip to main content
This guide offers insights into each supported provider, enabling you to leverage Cloudlist’s capabilities to their fullest extent for comprehensive asset visibility and control.

Major Cloud Providers

AWS (Amazon Web Services)

Supported AWS Services: Example Config: Amazon Web Services can be integrated by using the following configuration block.
aws_access_key and aws_secret_key can be generated in the IAM console. We recommend creating a new IAM user with Read Only permissions and providing the access token for the user. Scopes Required: The following scopes can directly be provided to the IAM user.
To also support other services, a custom policy document is provided which can directly be copy-pasted to the role to allow correct and minimal permissions.
References:
  1. https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_iam_read-only-console.html
  2. https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html
  3. https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html

GCP (Google Cloud Platform)

Cloudlist supports two approaches for GCP asset discovery:
  • Organization-Level Asset API - Comprehensive organization-wide discovery using Cloud Asset Inventory API
  • Individual Service APIs - Fast project-specific discovery using individual GCP service APIs

Individual Service APIs (Default)

Supported GCP Services: Example Config: Google Cloud Platform can be integrated by using the following configuration block.
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. Scopes Required: Cloud DNS, GKE

Organization-Level Asset API

The GCP Asset API provides comprehensive organization-wide asset discovery using the Cloud Asset Inventory API. This approach is more efficient for large organizations with multiple projects and provides a unified view of all assets. Example Config:
Required Permissions for Asset API: For organization-level asset discovery, the service account needs the following IAM roles:
  • roles/cloudasset.viewer - To read asset inventory data
  • roles/resourcemanager.organizationViewer - To list organization resources
  • roles/resourcemanager.folderViewer - To list folder resources (if using folders)
  • roles/browser - To browse project resources
Custom IAM Policy for Asset API:
Benefits of Asset API:
  • Comprehensive Coverage: Discovers all supported GCP resource types in one API call
  • Organization-wide Visibility: Scans across all projects and folders in an organization
  • Efficient: Reduces the number of API calls compared to individual service APIs
  • Consistent: Provides a unified view of assets across all GCP services
  • Historical Data: Access to asset history and change tracking
Supported Asset Types via Asset API: The Asset API can discover a wide range of GCP resources including:
  • Compute instances, disks, networks, firewalls
  • Cloud Storage buckets and objects
  • Cloud SQL instances and databases
  • Kubernetes clusters and nodes
  • Cloud Functions
  • App Engine services
  • Load balancers and networking resources
  • And many more…
References:
  1. https://cloud.google.com/iam/docs/service-account-overview
  2. https://cloud.google.com/asset-inventory/docs/overview
  3. https://cloud.google.com/asset-inventory/docs/supported-asset-types

Azure

Supported Azure Services:
  • Virtual Machines
  • Public IP Addresses
  • Traffic Manager Profiles
  • Storage Accounts
  • Azure Kubernetes Service (AKS)
  • Content Delivery Network (CDN)
  • DNS Zones and Records
  • Application Gateway & Load Balancer
  • Container Instances
  • App Service & Web Apps
  • Azure Functions
  • API Management
  • Front Door
  • Container Apps
  • Static Web Apps
Example Configurations: Microsoft Azure integration supports multiple authentication methods via the modern Track 2 SDK. Here are examples for different scenarios: 1. Client Secret Authentication (Most Common):
2. Azure CLI Authentication (Local Development):
3. Client Certificate Authentication (Enterprise Security):
4. Managed Identity (Azure VMs, App Services, AKS):
5. Workload Identity (Kubernetes, GitHub Actions OIDC):
6. Auto-Detection (DefaultAzureCredential):
Authentication Setup:
  • tenant_id, client_id, client_secret can be obtained/generated from All services > Azure Active Directory > App registrations
  • subscription_id can be retrieved from All services > Subscriptions
  • For CLI auth: set use_cli_auth: true and run az login in the terminal
  • For certificate auth: generate a certificate and register it with your App Registration
  • For managed/workload identity: ensure the identity has appropriate permissions on the subscription
Authentication Priority (when using auto-detection):
  1. Environment Variables (AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_TENANT_ID)
  2. Workload Identity (Kubernetes service account tokens)
  3. Managed Identity (Azure VMs, App Services, AKS nodes)
  4. Azure CLI (az login session)
References:
  1. https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli
  2. https://docs.microsoft.com/en-us/cli/azure/ad/sp?view=azure-cli-latest#az_ad_sp_create_for_rbac
  3. https://docs.microsoft.com/en-us/cli/azure/authenticate-azure-cli

Alibaba Cloud

Suppoted Alibaba Cloud Services:
  • ECS Instances
Example Config: Alibaba Cloud can be integrated by using the following configuration block.
Alibaba Cloud Access Key ID and Secret can be created by visiting https://ram.console.aliyun.com/manage/ak References:
  1. https://www.alibabacloud.com/help/faq-detail/142101.htm
  2. https://www.alibabacloud.com/help/doc-detail/53045.htm

VPS & PaaS Hosting Providers

DO (DigitalOcean)

Supported DigitalOcean Services:
  • Instances
Example Config: Digitalocean can be integrated by using the following configuration block.
digitalocean_token can be generated from the Digitalocean Control Panel. We recommend only giving Read Access to the token. References:
  1. https://www.digitalocean.com/docs/apis-clis/api/create-personal-access-token/

SCW (Scaleway)

Supported Scaleway Services:
  • Instances
Example Config: Scaleway can be integrated by using the following configuration block.
scaleway_access_key and scaleway_access_token can be generated from the Credentials Options in scaleway console. References -
  1. https://www.scaleway.com/en/docs/generate-api-keys/

Heroku

Supported Heroku Services:
  • Applications
Example Config: Heroku can be integrated by using the following configuration block.
heroku_api_token can be generated from https://dashboard.heroku.com/account/applications/authorizations/new It can also be created with the Heroku CLI by running:
References:
  1. https://devcenter.heroku.com/articles/platform-api-quickstart#authentication

Linode

Supported Linode Services:
  • Instances
Example Config: Linode can be integrated by using the following configuration block.
linode_personal_access_token can be created from https://cloud.linode.com/id/tokens. Minimum scope needed is Read Only for Linodes resource. References:
  1. https://www.linode.com/docs/guides/getting-started-with-the-linode-api/#get-an-access-token

CDN & DNS Management

Fastly

Supported Fastly Services:
  • Services
Example Config: Fastly can be integrated by using the following configuration block.
fastly_api_key can be generated from https://manage.fastly.com/account/personal/tokens References -
  1. https://docs.fastly.com/en/guides/using-api-tokens#creating-api-tokens

Namecheap

Supported Namecheap Services:
  • Domain List
Example Config: Namecheap can be integrated by using the following configuration block.
Namecheap API Access can be enabled by visiting https://ap.www.namecheap.com/settings/opensource/apiaccess/ and then:
  • Toggle ON API Access switch
  • Add your public IP to Whitelistted IPs
References:
  1. https://www.namecheap.com/support/api/intro/
    • Enabling API Access
    • Whitelisting IP

Cloudflare

Supported Cloudflare Services:
  • DNS
Example Config: Cloudflare can be integrated by using the following configuration block.
api_key can be generated from Cloudflare API Key manager. It needs to be Global API Key due to limitation of cloudflare new API tokens. References:
  1. https://developers.cloudflare.com/api/keys

Hetzner Cloud

Supported Hetzner Cloud Services:
  • Instances
Example Config: Hetzner Cloud can be integrated by using the following configuration block.
References:
  1. https://docs.hetzner.cloud/#authentication

Infrastructure Automation & Management

Kubernetes (K8s)

Supported Kubernetes Services:
  • Services
  • Ingresses
Example Config: To integrate Kubernetes, utilize the configuration block outlined below. This block allows you to specify Kubernetes connection details either through a file path or directly by providing the encoded kubeconfig content. If both kubeconfig_file and kubeconfig_encoded are specified, the kubeconfig_encoded will take precedence.
References:
  1. https://www.redhat.com/sysadmin/kubeconfig
  2. https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
  3. https://learn.microsoft.com/en-us/azure/aks/control-kubeconfig-access#get-and-verify-the-configuration-information
  4. https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#store_info

Hashicorp Tools

With Cloudlist you can get assets from nomad, consul and terraform. Cloudlist can query Nomad and Consul directly, and will use the Terraform state file to list Terraform created assets.

Nomad

Hashicorp Nomad can be integrated by using the following configuration block. Example Config:
Specifying https in the nomad_url automatically turns SSL to on. All the fields are optional except the nomad_url. References:
  1. https://www.nomadproject.io/api-docs

Consul

Hashicorp Consul can be integrated by using the following configuration block. Example Config:
Specifying https in the consul_url automatically turns SSL to on. All the fields are optional except the consul_url. References:
  1. https://www.consul.io/api-docs

Terraform

Example Config: Terraform can be integrated by using the following configuration block.

OpenStack

Supported OpenStack Services:
  • Instances
Example Config: