Azure / Azure/Azure-Verified-Modules
[Module Proposal]: `avm-ptn-cloudshell-vnet`
- Dominant language
- PowerShell
- Stars
- 580
- Forks
- 161
- Avg merge
- 11h 3m
- Merged PRs (30d)
- 15
Description
### Check for previous/existing GitHub issues/module proposals
- [x] I have checked for previous/existing GitHub issues/module proposals.
### Check this module doesn't already exist in the module indexes
- [x] I have checked for that this module doesn't already exist in the module indexes.
### Bicep or Terraform?
Terraform
### Module Classification?
Pattern
### Module Name
avm-ptn-cloudshell-vnet
### Module Details
It would be great if there was an AVM for deploying [Azure CloudShell within a VNet](https://learn.microsoft.com/en-us/azure/cloud-shell/vnet/overview). There is a [quickstart template](https://learn.microsoft.com/en-us/samples/azure/azure-quickstart-templates/cloud-shell-vnet/), however in an Azure Landing Zone environment, deploying independent **Private DNS Zones** is not permitted.
The AVM should support using an existing (centralized) Private DNS Zone, along with existing VNets.
Additionally, the Storage Account that's created will need to comply with the following Azure Policies:
- Azure Storage deploy a specific min TLS version requirement and enforce SSL/HTTPS
- Storage accounts should have the specified minimum TLS version
To comply with these CAF security policies, the following properties need to be included when deploying the Storage Account:
```terraform
https_traffic_only_enabled = true
min_tls_version = "TLS1_2"
```
Here is some example code that I created to accomplish this (if it can be used as a reference): [https://github.com/bcgov/azure-lz-samples/tree/main/tools/cloud_shell_vnet](https://github.com/bcgov/azure-lz-samples/tree/main/tools/cloud_shell_vnet)
### Do you want to be the owner of this module?
No
### Module Owner's GitHub Username (handle)
_No response_
### (Optional) Secondary Module Owner's GitHub Username (handle)
_No response_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.