Skip to content

Commit

Permalink
fixing #123
Browse files Browse the repository at this point in the history
  • Loading branch information
cmendible committed Jul 18, 2023
1 parent 32e1e9f commit 792bd87
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 69 deletions.
57 changes: 29 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,30 +8,38 @@

[![Open in vscode.dev](https://img.shields.io/badge/Open%20in-vscode.dev-blue)](https://vscode.dev/github/Azure/azqr)

Azure Quick Review (azqr) is a CLI tool used to identify Azure resources that may be or not compliant with Azure best practices and recommendations.
**Azure Quick Review (azqr)** is a command-line interface (CLI) tool specifically designed to analyze Azure resources and identify whether they comply with Azure's best practices and recommendations. Its primary purpose is to provide users with a detailed overview of their Azure resources, enabling them to easily identify any non-compliant configurations or potential areas for improvement.

Azure Quick Review (azqr) outputs includes an overview section with the following information:
## Scan Results

* Subscription Id
* Resource Group name
* Location
* Resource Type
* Resource Name
* SKU
* SLA: SLA for the service, given the current configuration.
* AZ: True if the service is Availability Zone aware.
* PVT: True if the service has a private IP address.
* DS: True if the service has diagnotics settings enabled.
* CAF: True if the service is compliant with the [Cloud Adoption Framework](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/resource-abbreviations) naming covention.
The output generated by **Azure Quick Review (azqr)** is presented in the form of an Excel file, which consists of several sheets including **Overview**, **Recommendations**, **Services**, **Defender**, **Advisor** and **Costs**. Additionally, when running the tool on a Windows system, it also generates a Power BI Desktop Template for further analysis and visualization of the Azure resource data.

Check the [Scan Results](#scan-results) documentation for more information on Azure Quick Review (azqr) outputs.
The **Overview** sheet provides a summary of the Azure resources scanned by the tool, including the following information:

* **SubscriptionID**: This is the unique identifier for the Azure subscription under which the resource is deployed.
* **ResourceGroup**: The resource group where the resource is deployed.
* **Location**: The geographical region where the resource is deployed.
* **Type**: The specific type or category of the Azure resource.
* **Name**: The name assigned to the resource, providing a human-readable identifier for easy reference and management.
* **SKU**: The SKU represents the specific variant or configuration of the Azure resource. It defines the characteristics and capabilities of the resource.
* **SLA**: The Service Level Agreement (SLA) represents the agreed-upon performance and availability guarantees for the Azure service based on its current configuration.
* **AZ**: A Boolean value indicating whether the service is "Availability Zone aware." Availability Zones are physically separate datacenters within an Azure region, providing increased resiliency and fault tolerance for critical services.
* **PVT**: A Boolean value indicating whether the service has a private IP address. Private IP addresses are used for internal communication within Azure Virtual Networks.
* **DS**: A Boolean value indicating whether diagnostic settings are enabled for the service. Diagnostic settings allow you to collect logs, metrics, and other monitoring data for Azure resources.
* **CAF**: A Boolean value indicating whether the service is compliant with the [Cloud Adoption Framework](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/resource-abbreviations) (CAF) naming convention. The CAF provides best practices and guidance for organizations adopting Azure.

> By default, Azure Quick Review (azqr) masks the Subscription Ids in the spreadsheet, ensuring that they are not directly visible in the output. This helps protect sensitive information and maintain data privacy and security. To view the Subscription Ids, you can use the `--mask=false` flag when running the tool.
To learn more about the **Recommendations**, **Services**, **Defender**, **Advisor** and **Costs** sheets, check the [Scan Results](#scan-results) documentation.

## Azure Quick Review Rules

Azure Quick Review (azqr) recommendations are based on a set of rules. To learn more check the [rules](docs/rules/README.md) documentation.
To learn more about the rules used by **Azure Quick Review (azqr)** for generating recommendations, you can refer to the documentation available [here](docs/rules/README.md).

## Supported Azure Services

**Azure Quick Review (azqr)** currently supports the following Azure services:

* Azure App Services
* Azure Functions
* Azure Container Apps
Expand Down Expand Up @@ -61,10 +69,8 @@ Azure Quick Review (azqr) recommendations are based on a set of rules. To learn
* Azure Virtual WAN
* Azure Load Balancer
* Azure Virtual Network

## Microsoft Defender Status

Azure Quick Review (azqr) also reports on the status of Microsoft Defender for Cloud plans.
* Azure Virtual Machine
* Azure Cognitive Services Account

## Usage

Expand All @@ -86,11 +92,9 @@ Download the latest release from [here](https://github.com/Azure/azqr/releases).
winget install azqr
```

###

### Authentication

**azqr** supports the following authentication methods:
**Azure Quick Review (azqr)** supports the following authentication methods:

* Azure CLI
* Service Principal. You'll need to set the following environment variables:
Expand All @@ -100,7 +104,7 @@ winget install azqr

### Authorization

**azqr** requires the following permissions:
**Azure Quick Review (azqr)** requires the following permissions:

* Subscription Reader

Expand Down Expand Up @@ -130,13 +134,10 @@ For information on available commands and help run:
./azqr -h
```

### Scan Results

Azure Quick Review (azqr) creates an excel spreadsheet with the results of the scan.
## Troubleshooting

> By default the Subscription Ids are masked in the spreadsheet.
If you encounter any issue while using **Azure Quick Review (azqr)**, please set the `AZURE_SDK_GO_LOGGING` environment variable to `all`, run the tool with the `--debug` flag and then share the console output with us by filing a new [issue](https://github.com/Azure/azqr/issues).

Check the [Azure Quick Review Scan Results](docs/scan_results/README.md) documentation for more information.

## Support

Expand Down
82 changes: 41 additions & 41 deletions docs/scan_results/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,75 +13,75 @@ Azure Quick Review (azqr) creates an excel spreadsheet with the following sectio

The overview section contains the following information:

* Subscription Id
* Resource Group name
* Location
* Resource Type
* Resource Name
* SKU
* SLA: SLA for the service given the current configuration.
* AZ: True if the service is Availability Zone aware.
* PVT: True if the service has a private IP address.
* DS: True if the service has diagnotic settings enabled.
* CAF: True if the service is compliant with the [Cloud Adoption Framework](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/) naming covention.
* **SubscriptionID**: This is the unique identifier for the Azure subscription under which the resource is deployed.
* **ResourceGroup**: The resource group where the resource is deployed.
* **Location**: The geographical region where the resource is deployed.
* **Type**: The specific type or category of the Azure resource.
* **Name**: The name assigned to the resource, providing a human-readable identifier for easy reference and management.
* **SKU**: The SKU represents the specific variant or configuration of the Azure resource. It defines the characteristics and capabilities of the resource.
* **SLA**: The Service Level Agreement (SLA) represents the agreed-upon performance and availability guarantees for the Azure service based on its current configuration.
* **AZ**: A Boolean value indicating whether the service is "Availability Zone aware." Availability Zones are physically separate datacenters within an Azure region, providing increased resiliency and fault tolerance for critical services.
* **PVT**: A Boolean value indicating whether the service has a private IP address. Private IP addresses are used for internal communication within Azure Virtual Networks.
* **DS**: A Boolean value indicating whether diagnostic settings are enabled for the service. Diagnostic settings allow you to collect logs, metrics, and other monitoring data for Azure resources.
* **CAF**: A Boolean value indicating whether the service is compliant with the [Cloud Adoption Framework](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/resource-abbreviations) (CAF) naming convention. The CAF provides best practices and guidance for organizations adopting Azure.

![overview](img/overview.png)

## Recommendations

The recommendations section contains a summary of the recommendations for the scanned services:

* Rule Id
* Category: Rule category
* Subcategory: Rule subcategory
* Description: Rule description
* Severity: Rule severity
* Learn: Link to relevant documentation
* **Id**: The unique identifier for the rule.
* **Category**: The category of the rule.
* **Subcategory**: The subcategory of the rule.
* **Description**: The description of the rule.
* **Severity**: The severity of the rule (High, Medium, Low).
* **Learn**: Link to relevant documentation.

![recommendations](img/recommendations.png)

## Services

The services section contains the following information:

* Subscription: Subscription Id
* Resource Group: Resource Group name
* Location
* Type: Resource type
* Service Name
* Category: Rule category
* Subcategory: Rule subcategory
* Severity: Rule severity
* Description: Rule description
* Result: Rule result
* Broken: True if the rule is broken
* Learn: Link to relevant documentation
* **Subscription**: This is the unique identifier for the Azure subscription under which the resource is deployed.
* **Resource Group**: The resource group where the resource is deployed.
* **Location**: The geographical region where the resource is deployed.
* **Type**: The specific type or category of the Azure resource.
* **Service Name**: The name assigned to the resource.
* **Category**: The category of the rule.
* **Subcategory**: The subcategory of the rule.
* **Severity**: The severity of the rule (High, Medium, Low).
* **Description**: The description of the rule.
* **Result**: The result of the rule evaluation.
* **Broken**: True if the rule is broken.
* **Learn**: Link to relevant documentation.

![services](img/services.png)

## Defender

The defender section contains the following information:

* Name: Microsoft Defender for Cloud plan name.
* Tier
* Deprecated: True if the plan is deprecated.
* **Name**: Microsoft Defender for Cloud plan name.
* **Tier**: The tier of the plan.
* **Deprecated**: True if the plan is deprecated.

![defender](img/defender.png)

## Advisor

This section shows the Azure Advisor Recommendations with the following information:

* Subscription Id
* Name
* Type
* Category
* Description
* PotentialBenefits
* Risk
* LearnMoreLink
* **Subscription Id**: This is the unique identifier for the Azure subscription under which the resource is deployed.
* **Name**: The name of the resource identified by Advisor.
* **Type**: The resource type of the resource identified by Advisor.
* **Category**: The category of the recommendation.
* **Description**: The description of the recommendation.
* **PotentialBenefits**: The potential benefits of the recommendation.
* **Risk**: Risk related to the recommendation.
* **LearnMoreLink** Link to relevant documentation.

## Costs

Shows the Azure Costs for the period between the 1st day of the previous month and the day Azure Quick Review (azqr) is used to scan the services.
Shows the Azure Costs for the period between the 1st day of the previous month and the day **Azure Quick Review (azqr)** is used to scan the services.

0 comments on commit 792bd87

Please sign in to comment.