- Credentials URI
- OIDC Role Authentication
- ECS RAM Role
- RAM Role Assumption
- STS Temporary Credentials
- Permanent Access Keys
- Default Credential Chain
Authentication Methods
Credentials URI (Recommended for Centralized Services)
If--credentials-uri is provided (or ALIBABA_CLOUD_CREDENTIALS_URI environment variable), Prowler will retrieve credentials from the specified external URI endpoint. The URI must return credentials in the standard JSON format.
OIDC Role Authentication (Recommended for ACK/Kubernetes)
If OIDC environment variables are set, Prowler will use OIDC authentication to assume the specified role. This is the most secure method for containerized applications running in ACK (Alibaba Container Service for Kubernetes) with RRSA enabled. Required environment variables:ALIBABA_CLOUD_ROLE_ARNALIBABA_CLOUD_OIDC_PROVIDER_ARNALIBABA_CLOUD_OIDC_TOKEN_FILE
ECS RAM Role (Recommended for ECS Instances)
When running on an ECS instance with an attached RAM role, Prowler can obtain credentials from the ECS instance metadata service.RAM Role Assumption (Recommended for Cross-Account)
For cross-account access, use RAM role assumption. You must provide the initial credentials (access keys) and the target role ARN.STS Temporary Credentials
If you already have temporary STS credentials, you can provide them via environment variables.Permanent Access Keys
You can use standard permanent access keys via environment variables.Required Permissions
The credentials used by Prowler should have the minimum required permissions to audit the resources. At a minimum, the following permissions are recommended:ram:GetUserram:ListUsersram:GetPasswordPolicyram:GetAccountSummaryram:ListVirtualMFADevicesram:ListGroupsram:ListPoliciesram:ListAccessKeysram:GetLoginProfileram:ListPoliciesForUserram:ListGroupsForUseractiontrail:DescribeTrailsoss:GetBucketLoggingoss:GetBucketAclrds:DescribeDBInstancesrds:DescribeDBInstanceAttributeecs:DescribeInstancesvpc:DescribeVpcssls:ListProjectsls:ListAlertssls:ListLogStoressls:GetLogStore

