From 3cfe1b83763182cc5e35e4be4c51413ad379c0d8 Mon Sep 17 00:00:00 2001 From: Nacho Rivera <59198746+n4ch04@users.noreply.github.com> Date: Fri, 23 Dec 2022 12:31:16 +0100 Subject: [PATCH] docs: Include Azure requirements in README (#1600) --- README.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3e36b81c..bb4337fe 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,53 @@ Those credentials must be associated to a user or role with proper permissions t > If you want Prowler to send findings to [AWS Security Hub](https://aws.amazon.com/security-hub), make sure you also attach the custom policy [prowler-security-hub.json](https://github.com/prowler-cloud/prowler/blob/master/permissions/prowler-security-hub.json). + ## Azure + + Prowler for Azure supports the following authentication types: + +- Service principal authentication by environment variables (Enterprise Application) +- Current az cli credentials stored +- Interactive browser authentication +- Managed identity authentication + +### Service Principal authentication + +To allow Prowler assume the service principal identity to start the scan it is needed to configure the following environment variables: + +```console +export AZURE_CLIENT_ID="XXXXXXXXX" +export AZURE_TENANT_ID="XXXXXXXXX" +export AZURE_CLIENT_SECRET="XXXXXXX" +``` + +If you try to execute Prowler with the `--sp-env-auth` flag and those variables are empty or not exported, the execution is going to fail. +### AZ CLI / Browser / Managed Identity authentication + +The other three cases does not need additional configuration, `--az-cli-auth` and `--managed-identity-auth` are automated options, `--browser-auth` needs the user to authenticate using the default browser to start the scan. + +### Permissions + +To use each one you need to pass the proper flag to the execution. Prowler fro Azure handles two types of permission scopes, which are: + +- **Azure Active Directory permissions**: Used to retrieve metadata from the identity assumed by Prowler and future AAD checks (not mandatory to have access to execute the tool) +- **Subscription scope permissions**: Required to launch the checks against your resources, mandatory to launch the tool. + + +#### Azure Active Directory scope + +Azure Active Directory (AAD) permissions required by the tool are the following: + +- `Directory.Read.All` +- `Policy.Read.All` + + +#### Subscriptions scope + +Regarding the subscription scope, Prowler by default scans all the subscriptions that is able to list, so it is required to add the following RBAC builtin roles per subscription to the entity that is going to be assumed by the tool: + +- `Security Reader` +- `Reader` + # 💻 Basic Usage @@ -185,7 +232,7 @@ With Azure you need to specify which auth method is going to be used: ```console prowler azure [--sp-env-auth, --az-cli-auth, --browser-auth, --managed-identity-auth] ``` -> By default, `prowler` will scan all Azure subscriptions. +> By default, `prowler` will scan all Azure subscriptions. # 🎉 New Features