Verification
Live-testedReally deployed to a cloud sandbox, verified against its outputs and assertions, then destroyed - with the teardown confirmed.
Conformance
- Static validation (fmt · validate · tflint)
- Security scan clean (Checkov)
- Plan test superseded by live test
Provenance
- SHA-256 checksum
- Cosign signature
Functional
- Live-tested - applied, verified, destroyed
Last verified 2026-06-30 · how we verify
Verify this download
cosign · sha-256Don't take our word for it. Every release is signed with cosign - check the bytes against our pinned public key before you trust them.
# 1. Our pinned public key - fetch once, trust out-of-band
curl -O https://www.iac-bazaar.com/cosign.pub
# 2. This module's Sigstore bundle
curl -o azure-private-endpoint-1.0.0.sigstore.json \
https://www.iac-bazaar.com/api/artifacts/azure-private-endpoint/signature
# 3. Verify the tarball you downloaded
cosign verify-blob \
--key cosign.pub \
--bundle azure-private-endpoint-1.0.0.sigstore.json \
azure-private-endpoint-1.0.0.tar.gz
# → Verified OK
# 4. (optional) confirm the checksum too
echo "626c330f2d4efab7f49314c5e8373b53a7f3a12d34b7b7711377418929c34ae1 azure-private-endpoint-1.0.0.tar.gz" | sha256sum -cUse it from the registry
terraform · opentofumodule "private_endpoint" {
source = "www.iac-bazaar.com/iac-bazaar/azure-private-endpoint/azure"
version = "1.0.0"
}Paid module — needs a purchase (or a subscription that covers it) plus a registry token from /account/tokens. Full setup: registry docs.
Inputs & outputs
Create a free account to read this module's contract
The declared contract — every input name, type, default and description, plus every output — is shown to signed-in accounts, not to anonymous visitors.
A free account sees the contract of every Free module. This one is Basic, so its contract unlocks when you buy it.
Documentation
azure-private-endpoint
Status: static-validated, live-test pending. Ships under live-test quarantine until promoted by the Azure live lane. Schema is validated against the azurerm v4 provider docs.
An Azure Private Endpoint (Private Link) to a target PaaS resource — a Storage Account, Key Vault, Azure SQL, App Service, and so on. The endpoint gives the service a private IP inside your VNet so traffic stays on the Microsoft backbone and never traverses the public internet.
It works two ways:
- Production wiring — point it at an existing subnet (
subnet_id) and an existing target (target_resource_id). - Self-contained — set
create_network = trueto build a dedicated VNet + subnet, and/orcreate_demo_target = trueto stand up a locked-down demo Storage Account target. With both on, onetofu applyyields a complete Private Link example (VNet + subnet + storage + endpoint), andtofu destroyremoves it all.
Works with Terraform and OpenTofu (>= 1.6), azurerm provider
>= 4.0, < 5.0, random >= 3.0, < 4.0.
What it provisions
azurerm_private_endpoint— the endpoint + its auto-created NIC, with aprivate_service_connectionto the target's chosensubresource_names.- (optional,
create_network)azurerm_virtual_network+azurerm_subnet(subnet hasprivate_endpoint_network_policies = "Disabled"). - (optional,
create_demo_target)azurerm_storage_account— public access off, shared keys off, TLS 1.2+, infrastructure (double) encryption on, blob/container soft delete (7 days) on — named uniquely viarandom_string. - (optional,
create_private_dns_zone)azurerm_private_dns_zoneand, when a network is also created, anazurerm_private_dns_zone_virtual_network_link, with the endpoint's records registered automatically.
Security notes
- The connection auto-approves for first-party (same-tenant) targets. Set
is_manual_connection = true(+request_message) only for cross-tenant / cross-subscription targets you do not own; the owner must approve. - The built-in demo target is secure by default: public network access off (reachable only through the endpoint), shared keys off (Entra-ID auth), TLS 1.2+, infrastructure (double) encryption on, and blob/container soft delete (7 days) on.
- Module-created subnets disable private-endpoint network policies so the
endpoint attaches; if you supply your own
subnet_id, ensure the same on it. - Name resolution: attach a private DNS zone (
private_dns_zone_idsorcreate_private_dns_zone) so clients resolve the service FQDN to the private IP; otherwise consumecustom_dns_configsfrom the outputs.
Requirements
| Requirement | Version |
|---|---|
| Terraform / OpenTofu | >= 1.6 |
hashicorp/azurerm | >= 4.0, < 5.0 |
hashicorp/random | >= 3.0, < 4.0 |
Authenticate via az login (or a service principal) and set
ARM_SUBSCRIPTION_ID. See docs/CONNECTING-PROVIDERS.md#azure.
License
Commercial — IaC Bazaar EULA. © IaC Bazaar. Original work (not derived from a third-party module).
Usage code & full reference unlock after purchase
The complete copy-paste usage, the full input/output reference, and operational notes ship with your licence - shown here and bundled in the download.
- Usage — connect to an existing target
- Usage — self-contained (own VNet + demo Storage target)
- Common subresource (group ID) names
- Inputs
- Outputs