You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Azure Key Vault is a tool for securely storing and accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, or certificates. A vault is a logical group of secrets.
4
4
5
-
This Terraform Module creates a Key Vault also adds required access policies for AD users and groups. This also sends all logs to log analytic workspace and storage.
5
+
This Terraform Module creates a Key Vault also adds required access policies for azure AD users, groups and azure AD service principals. This also enables private endpoint and sends all logs to log analytic workspace or storage.
6
+
7
+
## Resources Supported
8
+
9
+
*[Acess Polices for AD users, groups and SPN](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_access_policy)
@@ -75,7 +104,7 @@ Default action is set to `Allow` when no network rules matched. A `virtual_netwo
75
104
```hcl
76
105
module "key-vault" {
77
106
source = "kumarvna/key-vault/azurerm"
78
-
version = "2.1.0"
107
+
version = "2.2.0"
79
108
80
109
# .... omitted
81
110
@@ -123,54 +152,100 @@ When purge protection is on, a vault or an object in the deleted state cannot be
123
152
124
153
> The default retention period is 90 days for the soft-delete and the purge protection retention policy uses the same interval. Once set, the retention policy interval cannot be changed.
125
154
126
-
## Recommended naming and tagging conventions
155
+
## Certificate contacts
127
156
128
-
Well-defined naming and metadata tagging conventions help to quickly locate and manage resources. These conventions also help associate cloud usage costs with business teams via chargeback and show back accounting mechanisms.
157
+
Certificate contacts contain contact information to send notifications triggered by certificate lifetime events. The contacts information is shared by all the certificates in the key vault. A notification is sent to all the specified contacts for an event for any certificate in the key vault.
129
158
130
-
> ### Resource naming
159
+
```terraform
160
+
module "key-vault" {
161
+
source = "kumarvna/key-vault/azurerm"
162
+
version = "2.2.0"
131
163
132
-
An effective naming convention assembles resource names by using important resource information as parts of a resource's name. For example, using these [recommended naming conventions](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/naming-and-tagging#example-names), a public IP resource for a production SharePoint workload is named like this: `pip-sharepoint-prod-westus-001`.
164
+
# .... omitted
133
165
134
-
> ### Metadata tags
166
+
# The contacts information is shared by all the certificates in the key vault.
167
+
# A notification is sent to all the specified contacts for an event for any certificate in the key vault.
168
+
# This field can only be set once user has `managecontacts` certificate permission.
When applying metadata tags to the cloud resources, you can include information about those assets that couldn't be included in the resource name. You can use that information to perform more sophisticated filtering and reporting on resources. This information can be used by IT or business teams to find resources or generate reports about resource usage and billing.
182
+
# ....omitted
137
183
138
-
The following list provides the recommended common tags that capture important context and information about resources. Use this list as a starting point to establish your tagging conventions.
184
+
}
185
+
```
139
186
140
-
Tag Name|Description|Key|Example Value|Required?
141
-
--------|-----------|---|-------------|---------|
142
-
Project Name|Name of the Project for the infra is created. This is mandatory to create a resource names.|ProjectName|{Project name}|Yes
143
-
Application Name|Name of the application, service, or workload the resource is associated with.|ApplicationName|{app name}|Yes
144
-
Approver|Name Person responsible for approving costs related to this resource.|Approver|{email}|Yes
145
-
Business Unit|Top-level division of your company that owns the subscription or workload the resource belongs to. In smaller organizations, this may represent a single corporate or shared top-level organizational element.|BusinessUnit|FINANCE, MARKETING,{Product Name},CORP,SHARED|Yes
146
-
Cost Center|Accounting cost center associated with this resource.|CostCenter|{number}|Yes
147
-
Disaster Recovery|Business criticality of this application, workload, or service.|DR|Mission Critical, Critical, Essential|Yes
148
-
Environment|Deployment environment of this application, workload, or service.|Env|Prod, Dev, QA, Stage, Test|Yes
149
-
Owner Name|Owner of the application, workload, or service.|Owner|{email}|Yes
150
-
Requester Name|User that requested the creation of this application.|Requestor| {email}|Yes
151
-
Service Class|Service Level Agreement level of this application, workload, or service.|ServiceClass|Dev, Bronze, Silver, Gold|Yes
152
-
Start Date of the project|Date when this application, workload, or service was first deployed.|StartDate|{date}|No
153
-
End Date of the Project|Date when this application, workload, or service is planned to be retired.|EndDate|{date}|No
187
+
## Private Endpoint - Integrate Key Vault with Azure Private Link
154
188
155
-
> This module allows you to manage the above metadata tags directly or as a variable using `variables.tf`. All Azure resources which support tagging can be tagged by specifying key-values in argument `tags`. Tag `ResourceName` is added automatically to all resources.
189
+
Azure Private Endpoint is a network interface that connects you privately and securely to a service powered by Azure Private Link. Private Endpoint uses a private IP address from your VNet, effectively bringing the service into your VNet.
156
190
157
-
```hcl
191
+
With Private Link, Microsoft offering the ability to associate a logical server to a specific private IP address (also known as private endpoint) within the VNet. Clients can connect to the Private endpoint from the same VNet, peered VNet in same region, or via VNet-to-VNet connection across regions. Additionally, clients can connect from on-premises using ExpressRoute, private peering, or VPN tunneling.
192
+
193
+
By default, this feature not enabled on this module. To create private link with private endpoints set the variable `enable_private_endpoint` to `true` and provide `virtual_network_name`, `private_subnet_address_prefix` with a valid values. You can also use the existing private DNS zone to create DNS records. To use this feature, set the `existing_private_dns_zone` with a valid existing private DNS zone name.
If you want to use eixsting VNet and Subnet to create a private endpoints, set a variable `enable_private_endpoint` to `true` and provide `existing_vnet_id`, `existing_subnet_id` with a valid resource ids. You can also use the existing private DNS zone to create DNS records. To use this feature, set the `existing_private_dns_zone` with a valid existing private DNS zone name.
216
+
217
+
```terraform
218
+
module "key-vault" {
219
+
source = "kumarvna/key-vault/azurerm"
220
+
version = "2.2.0"
221
+
222
+
# .... omitted
223
+
224
+
# Creating Private Endpoint requires, VNet name and address prefix to create a subnet
225
+
# By default this will create a `privatelink.vaultcore.azure.net` DNS zone.
226
+
# To use existing private DNS zone specify `existing_private_dns_zone` with valid zone name
For more details: [Integrate Key Vault with Azure Private Link](https://docs.microsoft.com/en-us/azure/key-vault/general/private-link-service?tabs=portal)
238
+
239
+
## Recommended naming and tagging conventions
240
+
241
+
Applying tags to your Azure resources, resource groups, and subscriptions to logically organize them into a taxonomy. Each tag consists of a name and a value pair. For example, you can apply the name `Environment` and the value `Production` to all the resources in production.
242
+
For recommendations on how to implement a tagging strategy, see Resource naming and tagging decision guide.
243
+
244
+
>**Important** :
245
+
Tag names are case-insensitive for operations. A tag with a tag name, regardless of the casing, is updated or retrieved. However, the resource provider might keep the casing you provide for the tag name. You'll see that casing in cost reports. **Tag values are case-sensitive.**
246
+
247
+
An effective naming convention assembles resource names by using important resource information as parts of a resource's name. For example, using these [recommended naming conventions](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/naming-and-tagging#example-names), a public IP resource for a production SharePoint workload is named like this: `pip-sharepoint-prod-westus-001`.
Copy file name to clipboardExpand all lines: examples/keyvault_private_end_point_with_existing_VNet_Subnet/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
Terraform Module to create a Key Vault also adds required access policies for azure AD users, groups and azure AD service principals. This module also creates private endpoint and sends all logs to log analytic workspace or storage.
4
4
5
-
## Module Usage to enable privaite endpoint
5
+
## Module Usage to enable privaite endpoint using existing VNet and Subnet
0 commit comments