An open API service indexing awesome lists of open source software.

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

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

[![SemVer](https://img.shields.io/badge/SemVer-2.0.0-blue.svg)](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`

### [tags](#input\_tags)

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

Logo

© 2024 CLOUDETEER GmbH

This project is licensed under the [MIT License](LICENSE).