- 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)
Prowler can retrieve credentials from an external URI endpoint. Provide the URI via the--credentials-uri flag or the ALIBABA_CLOUD_CREDENTIALS_URI environment variable. The URI must return credentials in the standard JSON format.
OIDC Role Authentication (Recommended for ACK/Kubernetes)
OIDC authentication assumes the specified role using an OIDC token. This is the most secure method for containerized applications running in ACK (Alibaba Container Service for Kubernetes) with RRSA enabled. The role ARN can be provided via the--oidc-role-arn flag or the ALIBABA_CLOUD_ROLE_ARN environment variable. The OIDC provider ARN and token file must be set via environment variables:
ALIBABA_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. Provide the initial credentials (access keys) via environment variables and the target role ARN via the--role-arn flag or the ALIBABA_CLOUD_ROLE_ARN environment variable.
The --role-session-name flag customizes the session identifier (defaults to ProwlerAssessmentSession).
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

