https://github.com/cloudeteer/terraform-azurerm-vsoc-core
☁️ Cloudeteer's Terraform AzureRM vSOC core module
https://github.com/cloudeteer/terraform-azurerm-vsoc-core
auto-terraform-governance azure cloudeteer module sentinel terraform terraform-module vsoc
Last synced: about 2 months ago
JSON representation
☁️ Cloudeteer's Terraform AzureRM vSOC core module
- Host: GitHub
- URL: https://github.com/cloudeteer/terraform-azurerm-vsoc-core
- Owner: cloudeteer
- License: mit
- Created: 2025-08-21T13:17:29.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-11-14T09:18:29.000Z (9 months ago)
- Last Synced: 2025-11-14T11:24:58.658Z (9 months ago)
- Topics: auto-terraform-governance, azure, cloudeteer, module, sentinel, terraform, terraform-module, vsoc
- Language: HCL
- Homepage: https://www.cloudeteer.de
- Size: 19.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
> [!NOTE]
> This repository is publicly accessible as part of our open-source initiative. We welcome contributions from the community alongside our organization's primary development efforts.
---
# terraform-module-template
[](https://github.com/cloudeteer/terraform-module-template/releases)
Terraform Module Template
## Usage
This example demonstrates the usage of this Terraform module with default settings.
```hcl
module "example" {
# Change "module" and "provider" accordingly to match you new module
source = "cloudeteer/module/provider"
tenant_id = "00000000-0000-0000-0000-000000000000"
location = "germanywestcentral"
resource_group_name = "rg-vsoc-dev-gwc-01"
github_app_installation_id = "12345678"
}
```
## Providers
The following providers are used by this module:
- [azapi](#provider\_azapi) (~> 2.0)
- [azuread](#provider\_azuread) (~> 3.0)
- [azurerm](#provider\_azurerm) (~> 4.0)
- [random](#provider\_random) (~> 3.5)
## Resources
The following resources are used by this module:
- [azapi_resource.defender_identity_connector](https://registry.terraform.io/providers/Azure/azapi/latest/docs/resources/resource) (resource)
- [azapi_resource.sentinel_repo](https://registry.terraform.io/providers/Azure/azapi/latest/docs/resources/resource) (resource)
- [azurerm_key_vault.secrets](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault) (resource)
- [azurerm_log_analytics_workspace.logs](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/log_analytics_workspace) (resource)
- [azurerm_monitor_diagnostic_setting.sentinel_auditing](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/monitor_diagnostic_setting) (resource)
- [azurerm_role_assignment.sentinel_playbook_permissions](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_assignment) (resource)
- [azurerm_sentinel_data_connector_azure_active_directory.entraid_connector](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/sentinel_data_connector_azure_active_directory) (resource)
- [azurerm_sentinel_log_analytics_workspace_onboarding.sentinel](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/sentinel_log_analytics_workspace_onboarding) (resource)
- [random_string.key_vault_suffix](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) (resource)
- [azuread_service_principal.sentinel_serviceprincipal](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/data-sources/service_principal) (data source)
- [azurerm_client_config.current](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/client_config) (data source)
## Required Inputs
The following input variables are required:
### [github\_app\_installation\_id](#input\_github\_app\_installation\_id)
Description: Die numerische ID der GitHub App Installation, die Zugriff auf das Repository gewährt.
Type: `string`
### [location](#input\_location)
Description: The Azure region for the resources to be deployed.
Type: `string`
### [resource\_group\_name](#input\_resource\_group\_name)
Description: The name of the resource group.
Type: `string`
### [tenant\_id](#input\_tenant\_id)
Description: The Azure Active Directory tenant ID.
Type: `string`
## Optional Inputs
The following input variables are optional (have default values):
### [key\_vault\_bypass](#input\_key\_vault\_bypass)
Description: Bypass value for the Key Vault.
Type: `string`
Default: `"AzureServices"`
### [key\_vault\_default\_action](#input\_key\_vault\_default\_action)
Description: Default action for the Key Vault.
Type: `string`
Default: `"Deny"`
### [key\_vault\_ip\_rules](#input\_key\_vault\_ip\_rules)
Description: IP Rules for the Key Vault
Type: `list(string)`
Default: `[]`
### [key\_vault\_name\_prefix](#input\_key\_vault\_name\_prefix)
Description: The name of the Key Vault.
Type: `string`
Default: `"kvvsocdevgwc"`
### [key\_vault\_sku](#input\_key\_vault\_sku)
Description: The SKU (plan) for the Key Vault.
Type: `string`
Default: `"standard"`
### [key\_vault\_vnet\_ids](#input\_key\_vault\_vnet\_ids)
Description: VNet IDs for the Key Vault.
Type: `list(string)`
Default: `[]`
### [log\_analytics\_workspace\_name](#input\_log\_analytics\_workspace\_name)
Description: The name of the Log Analytics Workspace.
Type: `string`
Default: `"log-vsoc-dev-gwc-01"`
### [log\_analytics\_workspace\_retention\_time](#input\_log\_analytics\_workspace\_retention\_time)
Description: Number of days to retain log data. Valid range: 30 to 730 (2 years).
Type: `number`
Default: `90`
### [log\_analytics\_workspace\_sku](#input\_log\_analytics\_workspace\_sku)
Description: Pricing tier for the Log Analytics Workspace.
Type: `string`
Default: `"PerGB2018"`
### [purge\_protection\_enabled](#input\_purge\_protection\_enabled)
Description: Flag if purge protection is enabled.
Type: `bool`
Default: `true`
### [sentinel\_customer\_managed\_key\_enabled](#input\_sentinel\_customer\_managed\_key\_enabled)
Description: Enable customer managed key for Sentinel
Type: `bool`
Default: `false`
### [soft\_delete\_retention\_days](#input\_soft\_delete\_retention\_days)
Description: Retention Time for Logs in the Log Analytics Workspace.
Type: `number`
Default: `7`
Description: Custom tags to merge with module defaults.
Type: `map(string)`
Default: `{}`
## Outputs
The following outputs are exported:
### [log\_analytics\_workspace\_id](#output\_log\_analytics\_workspace\_id)
Description: The ID of the Log Analytics Workspace
### [log\_analytics\_workspace\_name](#output\_log\_analytics\_workspace\_name)
Description: The Name of the Log Analytics Workspace
## Contributions
We welcome all kinds of contributions, whether it's reporting bugs, submitting feature requests, or directly contributing to the development. Please read our [Contributing Guidelines](CONTRIBUTING.md) to learn how you can best contribute.
Thank you for your interest and support!
## Copyright and license

© 2024 CLOUDETEER GmbH
This project is licensed under the [MIT License](LICENSE).