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
#### restapi_object.enable_cspm resource always identified for creation
71
+
There is currently a [known issue](https://github.com/terraform-ibm-modules/terraform-ibm-scc-workload-protection/issues/243) where you will always see the `restapi_object.enable_cspm` resource included in the terraform plan for creation, even after it has already been applied. It is safe to proceed with this apply and will be a no-op if the resource has already been applied.
72
+
58
73
### Required IAM access policies
59
74
60
75
<!-- PERMISSIONS REQUIRED TO RUN MODULE
@@ -88,12 +103,14 @@ statement instead the previous block.
| <aname="input_access_tags"></a> [access\_tags](#input\_access\_tags)| A list of access tags to apply to the SCC WP instance created by the module. For more information, see https://cloud.ibm.com/docs/account?topic=account-access-tags-tutorial.|`list(string)`|`[]`| no |
129
+
| <aname="input_app_config_crn"></a> [app\_config\_crn](#input\_app\_config\_crn)| The CRN of an existing App Config instance to use with the SCC Workload Protection instance. Required if `cspm_enabled` is true. NOTE: Ensure the App Config instance has configuration aggregator enabled. |`string`|`null`| no |
111
130
| <aname="input_cbr_rules"></a> [cbr\_rules](#input\_cbr\_rules)| The list of context-based restriction rules to create. | <pre>list(object({<br/> description = string<br/> account_id = string<br/> tags = optional(list(object({<br/> name = string<br/> value = string<br/> })), [])<br/> rule_contexts = list(object({<br/> attributes = optional(list(object({<br/> name = string<br/> value = string<br/> }))) }))<br/> enforcement_mode = string<br/> }))</pre> |`[]`| no |
112
131
| <aname="input_cloud_monitoring_instance_crn"></a> [cloud\_monitoring\_instance\_crn](#input\_cloud\_monitoring\_instance\_crn)| The CRN of an IBM Cloud Monitoring instance to connect to the SCC Workload Protection instance. |`string`|`null`| no |
132
+
| <aname="input_cspm_enabled"></a> [cspm\_enabled](#input\_cspm\_enabled)| Enable Cloud Security Posture Management (CSPM) for the Workload Protection instance. This will create a trusted profile associated with the SCC Workload Protection instance that has viewer / reader access to the App Config service and viewer access to the Enterprise service. [Learn more](https://cloud.ibm.com/docs/workload-protection?topic=workload-protection-about). |`bool`|`true`| no |
113
133
| <aname="input_name"></a> [name](#input\_name)| The name to give the SCC Workload Protection instance that will be provisioned by this module. |`string`| n/a | yes |
114
134
| <aname="input_region"></a> [region](#input\_region)| IBM Cloud region where all resources will be deployed |`string`|`"us-south"`| no |
115
135
| <aname="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id)| The resource group ID where resources will be provisioned. |`string`| n/a | yes |
116
136
| <aname="input_resource_key_name"></a> [resource\_key\_name](#input\_resource\_key\_name)| The name to give the IBM Cloud SCC WP resource key. |`string`|`"SCCWPManagerKey"`| no |
117
137
| <aname="input_resource_key_tags"></a> [resource\_key\_tags](#input\_resource\_key\_tags)| Tags associated with the IBM Cloud SCC WP resource key. |`list(string)`|`[]`| no |
118
138
| <aname="input_resource_tags"></a> [resource\_tags](#input\_resource\_tags)| Optional list of tags to be added to created SCC WP instance. |`list(string)`|`[]`| no |
139
+
| <aname="input_scc_workload_protection_trusted_profile_name"></a> [scc\_workload\_protection\_trusted\_profile\_name](#input\_scc\_workload\_protection\_trusted\_profile\_name)| The name to give the trusted profile that is created by this module if `cspm_enabled` is `true. Must begin with a letter.`|`string`|`"workload-protection-trusted-profile"`| no |
119
140
| <aname="input_scc_wp_service_plan"></a> [scc\_wp\_service\_plan](#input\_scc\_wp\_service\_plan)| IBM service pricing plan. |`string`|`"free-trial"`| no |
Copy file name to clipboardExpand all lines: examples/enterprise/README.md
+31-25Lines changed: 31 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,46 +2,52 @@
2
2
3
3
> Only supported in an enterprise account.
4
4
5
-
This example demonstrates the full deployment of:
5
+
This example demonstrates a full deployment using modular Terraform code, including:
6
6
7
-
- IBM Cloud App Configuration
8
-
- IBM Cloud Security and Compliance Center Workload Protection (SCC-WP)
9
-
- IAM Trusted Profile Template with 3 Trusted Profiles
10
-
-Template assignment to account groups
11
-
- Configuration Aggregator to link SCC-WP with App Config
7
+
-**IBM Cloud App Configuration** (App Config)
8
+
-**IBM Cloud Security and Compliance Center Workload Protection** (SCC-WP)
9
+
-**IAM Trusted Profiles** for secure integration
10
+
-**Resource Group** creation or reuse
11
+
-**Configuration Aggregator** to link SCC-WP with App Config
12
12
13
13
---
14
14
15
-
## Flow Overview
15
+
## Module Overview
16
+
17
+
-**Resource Group Module**
18
+
Creates or reuses a resource group for all resources.
19
+
20
+
-**SCC Workload Protection Module**
21
+
Deploys the SCC-WP instance, attaches tags, and (optionally) enables CSPM and trusted profiles based on input variables.
22
+
23
+
-**App Config Module**
24
+
Deploys an App Config instance with enterprise plan, tags, and enables the configuration aggregator with a trusted profile.
16
25
17
-
1.**Create or reuse a resource group**
18
-
A resource group is created or reused.
26
+
---
27
+
28
+
## Flow Overview
19
29
20
-
2.**Deploy App Config**
21
-
App Config is deployed along with a collection for organizing features and properties.
30
+
1.**Resource Group**
31
+
A resource group is created or reused for all resources.
22
32
23
-
3.**Deploy SCC Workload Protection**
24
-
SCC-WP is deployed with the `graduated-tier` plan.
33
+
2.**App Config**
34
+
Deploys App Config with the enterprise plan, tags, and enables the configuration aggregator with a trusted profile.
25
35
26
-
4.**Create a Trusted Profile Template with 3 profiles**
27
-
-**App Config -- Enterprise**
28
-
For IAM template management across the enterprise.
29
-
-**App Config -- General**
30
-
For reading platform and IAM services.
31
-
-**SCC-WP Profile**
32
-
For integrating SCC-WP with App Config and enterprise usage.
36
+
3.**SCC Workload Protection**
37
+
Deploys SCC-WP with the `graduated-tier` plan, attaches resource and access tags, and (optionally) enables CSPM and trusted profiles for secure integration.
33
38
34
-
5.**Assign the template to account groups**
35
-
All child accounts or specific account groups receive the profile template.
39
+
4.**Trusted Profiles**
40
+
Trusted profiles are created and linked as needed for App Config and SCC-WP, with enterprise access policies conditionally included if enabled.
36
41
37
-
6.**Create SCC-WP Config Aggregator**
38
-
The aggregator connects SCC-WP to App Config and uses the enterprise trusted profile and template ID to enforce secure access.
42
+
5.**Configuration Aggregator**
43
+
Connects SCC-WP to App Config using the trusted profile and template ID for secure access across the enterprise.
39
44
40
45
---
41
46
42
47
## Notes
43
48
44
-
- The `trusted_profile_links` block in each trusted profile is used to **link the profile to a specific CRN**, like a VSI or App Config instance, enabling the identity to assume the trusted profile.
49
+
- The `trusted_profile_links` block in each trusted profile links the profile to a specific CRN (e.g., VSI or App Config instance), enabling the identity to assume the trusted profile.
50
+
- Enterprise-specific access policies are conditionally added based on input variables (e.g., `enterprise_enabled`).
0 commit comments