Skip to main content
Prowler for Huawei Cloud authenticates against the Huawei Cloud APIs using an IAM user’s Access Key ID and Secret Access Key (AK/SK). Credentials are read exclusively from environment variables to avoid exposing secrets in shell history or process listings; there are no credential CLI flags.

Required Credentials

Prowler requires read access to the Huawei Cloud account. The following values are supported:
The endpoint domain (.eu or .com) and the per-region project ID are resolved automatically from the region, so neither endpoint nor project configuration is needed. Multi-region scans work out of the box. For the region precedence rules and the full list of supported regions, see Regions and Clouds.
Huawei Cloud runs separate clouds: International and China (.com endpoints) and Huawei Cloud Europe (.eu endpoints). The region (or --cloud selector) determines the endpoint, so accounts outside China must select a region they can reach — for example eu-west-101 for a Huawei Cloud Europe account. A single set of credentials belongs to one cloud, so it cannot authenticate against both .com and .eu; scan each account with its own credentials.

API Credentials

Step 1: Create an Access Key (AK/SK)

  1. Log in to the Huawei Cloud console.
  2. Open My Credentials from the account menu, then select Access Keys.
  3. Click Create Access Key and complete the identity verification.
  4. Download the credentials.csv file — it contains the Access Key ID and Secret Access Key. The secret is not shown again.
Use an IAM user with read-only permissions (for example, the built-in ReadOnly policy) rather than the account root credentials.

Step 2: Configure Authentication

Export the credentials as environment variables:
Then run Prowler:

Assuming an Agency (Cross-Account)

To scan a different account, assume an agency delegated to your account. Set the agency name and the target account, and Prowler exchanges the base credentials for temporary credentials scoped to the agency:

Verifying Authentication

To confirm that Prowler can reach the account, run a scan against a single region the account can reach:
To scan the account’s entire cloud instead, use the --cloud selector:
A successful run reports findings for the discovered resources. A failed run displays an error message indicating the credential or connectivity issue.

CI/CD Integration

For automated pipelines, set the credentials as secret environment variables: GitHub Actions:
GitLab CI: