Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: use external kms key #131

Open
wants to merge 51 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
63d287e
feat: use external kms key
kierramarie Jun 24, 2024
f15491d
Merge branch 'main' into ksearle-ext-kms
kierramarie Jun 25, 2024
dd385ee
Merge branch 'main' into ksearle-ext-kms
kierramarie Jul 1, 2024
66e77da
refactor: update descriptions to be consistent with secrets manager
kierramarie Jul 2, 2024
f423d6f
fix: merge with main
kierramarie Jul 2, 2024
9b8a2ad
docs: update comment documentation
kierramarie Jul 3, 2024
3dea95d
Merge branch 'main' into ksearle-ext-kms
kierramarie Jul 3, 2024
8cdd9df
fix: some minor changes
kierramarie Jul 5, 2024
5ee35e3
Merge branch 'main' into ksearle-ext-kms
kierramarie Jul 15, 2024
9e8be14
fix: pull from remote
kierramarie Jul 15, 2024
d1d7dc2
Merge branch 'main' into ksearle-ext-kms
kierramarie Jul 24, 2024
4d16ae2
Merge branch 'main' into ksearle-ext-kms
kierramarie Jul 24, 2024
3d2e2b6
Merge branch 'main' into ksearle-ext-kms
kierramarie Aug 6, 2024
87b7fba
fix: upgrade test fail fix
kierramarie Aug 6, 2024
405bedc
docs: spelling fix
kierramarie Aug 6, 2024
a925492
Merge branch 'main' into ksearle-ext-kms
kierramarie Aug 8, 2024
f8451f6
fix: merge
kierramarie Aug 8, 2024
52cdeb2
refactor: move nonsensitive
kierramarie Aug 8, 2024
735cabb
fix: merge
kierramarie Aug 8, 2024
7fd6a27
Merge branch 'main' into ksearle-ext-kms
kierramarie Aug 13, 2024
028ca0d
Merge branch 'main' into ksearle-ext-kms
kierramarie Aug 26, 2024
7f426b9
chore: pre-commit fixes
kierramarie Aug 26, 2024
334b6f0
Merge branch 'main' into ksearle-ext-kms
kierramarie Aug 29, 2024
dba95e5
Merge branch 'main' into ksearle-ext-kms
kierramarie Aug 29, 2024
2ff05dc
Merge branch 'main' into ksearle-ext-kms
kierramarie Sep 4, 2024
1685537
Merge branch 'main' into ksearle-ext-kms
kierramarie Sep 4, 2024
a5aca1d
docs: precommit update
kierramarie Sep 5, 2024
55e62aa
Merge branch 'main' into ksearle-ext-kms
kierramarie Sep 5, 2024
a51d196
Merge branch 'main' into ksearle-ext-kms
kierramarie Sep 9, 2024
47ca80b
Merge branch 'main' into ksearle-ext-kms
ocofaigh Sep 11, 2024
b34526e
refactor: use crn parser
kierramarie Sep 23, 2024
95ede9d
Merge branch 'main' into ksearle-ext-kms
kierramarie Sep 23, 2024
127b4f1
docs: precommit
kierramarie Sep 23, 2024
536f305
Merge branch 'ksearle-ext-kms' of https://github.com/terraform-ibm-mo…
kierramarie Sep 23, 2024
b4ef48f
fix: precommit fixes
kierramarie Sep 23, 2024
5f3615b
refactor: bump version constraint
kierramarie Sep 23, 2024
fee6c76
Merge branch 'main' into ksearle-ext-kms
kierramarie Oct 2, 2024
36de7b1
fix: precommit issue
kierramarie Oct 2, 2024
a159a91
fix: scc version bump
kierramarie Oct 9, 2024
be6de2e
Merge branch 'main' into ksearle-ext-kms
kierramarie Oct 10, 2024
e1e5d60
docs: precommit update
kierramarie Oct 10, 2024
e9582bf
Merge branch 'ksearle-ext-kms' of https://github.com/terraform-ibm-mo…
kierramarie Oct 10, 2024
8222506
fix: auth policy cos cycle
kierramarie Oct 16, 2024
a40ad15
chore: merge with main
kierramarie Oct 16, 2024
9b7ccc5
fix: moved blocks
kierramarie Oct 16, 2024
db696cd
fix: only use buckets with xaccount kms
kierramarie Oct 18, 2024
b0fe94e
fix: add count to time_sleep
kierramarie Oct 18, 2024
8fb4f03
fix: cross_account bool condition
kierramarie Oct 21, 2024
5e39528
Merge branch 'main' into ksearle-ext-kms
kierramarie Oct 21, 2024
b1cf2aa
fix: precommit issue
kierramarie Oct 21, 2024
58d73ad
Merge branch 'main' into ksearle-ext-kms
kierramarie Oct 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions solutions/instances/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,16 @@ This solution supports provisioning and configuring the following infrastructure

| Name | Source | Version |
|------|--------|---------|
| <a name="module_buckets"></a> [buckets](#module\_buckets) | terraform-ibm-modules/cos/ibm//modules/buckets | 8.11.14 |
| <a name="module_cos"></a> [cos](#module\_cos) | terraform-ibm-modules/cos/ibm//modules/fscloud | 8.11.14 |
| <a name="module_create_profile_attachment"></a> [create\_profile\_attachment](#module\_create\_profile\_attachment) | terraform-ibm-modules/scc/ibm//modules/attachment | 1.8.10 |
| <a name="module_existing_cos_crn_parser"></a> [existing\_cos\_crn\_parser](#module\_existing\_cos\_crn\_parser) | terraform-ibm-modules/common-utilities/ibm//modules/crn-parser | 1.1.0 |
| <a name="module_existing_en_crn_parser"></a> [existing\_en\_crn\_parser](#module\_existing\_en\_crn\_parser) | terraform-ibm-modules/common-utilities/ibm//modules/crn-parser | 1.0.0 |
| <a name="module_existing_kms_crn_parser"></a> [existing\_kms\_crn\_parser](#module\_existing\_kms\_crn\_parser) | terraform-ibm-modules/common-utilities/ibm//modules/crn-parser | 1.1.0 |
| <a name="module_existing_scc_crn_parser"></a> [existing\_scc\_crn\_parser](#module\_existing\_scc\_crn\_parser) | terraform-ibm-modules/common-utilities/ibm//modules/crn-parser | 1.0.0 |
| <a name="module_kms"></a> [kms](#module\_kms) | terraform-ibm-modules/kms-all-inclusive/ibm | 4.15.13 |
| <a name="module_resource_group"></a> [resource\_group](#module\_resource\_group) | terraform-ibm-modules/resource-group/ibm | 1.1.6 |
| <a name="module_scc"></a> [scc](#module\_scc) | terraform-ibm-modules/scc/ibm | 1.8.10 |
| <a name="module_scc"></a> [scc](#module\_scc) | terraform-ibm-modules/scc/ibm | 1.8.12 |
| <a name="module_scc_wp"></a> [scc\_wp](#module\_scc\_wp) | terraform-ibm-modules/scc-workload-protection/ibm | 1.4.0 |

### Resources
Expand All @@ -38,6 +43,8 @@ This solution supports provisioning and configuring the following infrastructure
|------|------|
| [ibm_en_subscription_email.email_subscription](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.70.1/docs/resources/en_subscription_email) | resource |
| [ibm_en_topic.en_topic](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.70.1/docs/resources/en_topic) | resource |
| [ibm_iam_authorization_policy.cos_kms_policy](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.70.1/docs/resources/iam_authorization_policy) | resource |
| [time_sleep.wait_for_authorization_policy](https://registry.terraform.io/providers/hashicorp/time/0.12.1/docs/resources/sleep) | resource |
| [time_sleep.wait_for_scc](https://registry.terraform.io/providers/hashicorp/time/0.12.1/docs/resources/sleep) | resource |
| [ibm_en_destinations.en_destinations](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.70.1/docs/data-sources/en_destinations) | data source |
| [ibm_iam_account_settings.iam_account_settings](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.70.1/docs/data-sources/iam_account_settings) | data source |
Expand All @@ -56,12 +63,13 @@ This solution supports provisioning and configuring the following infrastructure
| <a name="input_existing_activity_tracker_crn"></a> [existing\_activity\_tracker\_crn](#input\_existing\_activity\_tracker\_crn) | The CRN of an Activity Tracker instance to send Security and Compliance Object Storage bucket events to. If no value passed, events are sent to the instance associated to the container's location unless otherwise specified in the Activity Tracker Event Routing service configuration. Ignored if using existing Object Storage bucket. | `string` | `null` | no |
| <a name="input_existing_cos_instance_crn"></a> [existing\_cos\_instance\_crn](#input\_existing\_cos\_instance\_crn) | The CRN of an existing Object Storage instance. If not specified, an instance is created. | `string` | `null` | no |
| <a name="input_existing_en_crn"></a> [existing\_en\_crn](#input\_existing\_en\_crn) | The CRN of an Event Notification instance. Used to integrate with Security and Compliance Center. | `string` | `null` | no |
| <a name="input_existing_kms_instance_crn"></a> [existing\_kms\_instance\_crn](#input\_existing\_kms\_instance\_crn) | The CRN of the existing Hyper Protect Crypto Services or Key Protect instance. Applies only if not supplying an existing KMS root key and if `skip_cos_kms_auth_policy` is true. | `string` | `null` | no |
| <a name="input_existing_kms_instance_crn"></a> [existing\_kms\_instance\_crn](#input\_existing\_kms\_instance\_crn) | The CRN of the existing KMS instance (Hyper Protect Crypto Services or Key Protect). If the KMS instance is in different account you must also provide a value for `ibmcloud_kms_api_key`. | `string` | `null` | no |
| <a name="input_existing_monitoring_crn"></a> [existing\_monitoring\_crn](#input\_existing\_monitoring\_crn) | The CRN of an IBM Cloud Monitoring instance to to send Security and Compliance Object Storage bucket metrics to, as well as Workload Protection data. If no value passed, metrics are sent to the instance associated to the container's location unless otherwise specified in the Metrics Router service configuration. Ignored if using existing Object Storage bucket and not provisioning Workload Protection. | `string` | `null` | no |
| <a name="input_existing_scc_cos_bucket_name"></a> [existing\_scc\_cos\_bucket\_name](#input\_existing\_scc\_cos\_bucket\_name) | The name of an existing bucket inside the existing Object Storage instance to use for Security and Compliance Center. If not specified, a bucket is created. | `string` | `null` | no |
| <a name="input_existing_scc_cos_kms_key_crn"></a> [existing\_scc\_cos\_kms\_key\_crn](#input\_existing\_scc\_cos\_kms\_key\_crn) | The CRN of an existing KMS key to use to encrypt the Security and Compliance Center Object Storage bucket. If no value is set for this variable, specify a value for either the `existing_kms_instance_crn` variable to create a key ring and key, or for the `existing_scc_cos_bucket_name` variable to use an existing bucket. | `string` | `null` | no |
| <a name="input_existing_scc_instance_crn"></a> [existing\_scc\_instance\_crn](#input\_existing\_scc\_instance\_crn) | The CRN of an existing Security and Compliance Center instance. If not supplied, a new instance will be created. | `string` | `null` | no |
| <a name="input_ibmcloud_api_key"></a> [ibmcloud\_api\_key](#input\_ibmcloud\_api\_key) | The IBM Cloud API key to deploy resources. | `string` | n/a | yes |
| <a name="input_ibmcloud_kms_api_key"></a> [ibmcloud\_kms\_api\_key](#input\_ibmcloud\_kms\_api\_key) | The IBM Cloud API key that can create a root key and key ring in the key management service (KMS) instance. If not specified, the 'ibmcloud\_api\_key' variable is used. Specify this key if the instance in `existing_kms_instance_crn` is in an account that's different from the Security and Compliance Centre instance. Leave this input empty if the same account owns both instances. | `string` | `null` | no |
| <a name="input_kms_endpoint_type"></a> [kms\_endpoint\_type](#input\_kms\_endpoint\_type) | The endpoint for communicating with the KMS instance. Possible values: `public`, `private.` | `string` | `"private"` | no |
| <a name="input_management_endpoint_type_for_bucket"></a> [management\_endpoint\_type\_for\_bucket](#input\_management\_endpoint\_type\_for\_bucket) | The type of endpoint for the IBM Terraform provider to use to manage Object Storage buckets. Possible values: `public`, `private`m `direct`. If you specify `private`, enable virtual routing and forwarding in your account, and the Terraform runtime must have access to the the IBM Cloud private network. | `string` | `"private"` | no |
| <a name="input_prefix"></a> [prefix](#input\_prefix) | The prefix to add to all resources created by this solution. | `string` | `null` | no |
Expand All @@ -86,7 +94,7 @@ This solution supports provisioning and configuring the following infrastructure
| <a name="input_scc_workload_protection_instance_tags"></a> [scc\_workload\_protection\_instance\_tags](#input\_scc\_workload\_protection\_instance\_tags) | The list of tags to add to the Workload Protection instance. | `list(string)` | `[]` | no |
| <a name="input_scc_workload_protection_resource_key_tags"></a> [scc\_workload\_protection\_resource\_key\_tags](#input\_scc\_workload\_protection\_resource\_key\_tags) | The tags associated with the Workload Protection resource key. | `list(string)` | `[]` | no |
| <a name="input_scc_workload_protection_service_plan"></a> [scc\_workload\_protection\_service\_plan](#input\_scc\_workload\_protection\_service\_plan) | The pricing plan for the Workload Protection instance service. Possible values: `free-trial`, `graduated-tier`. | `string` | `"graduated-tier"` | no |
| <a name="input_skip_cos_kms_auth_policy"></a> [skip\_cos\_kms\_auth\_policy](#input\_skip\_cos\_kms\_auth\_policy) | Set to `true` to skip the creation of an IAM authorization policy that permits the Object Storage instance to read the encryption key from the KMS instance. An authorization policy must exist before an encrypted bucket can be created. | `bool` | `false` | no |
| <a name="input_skip_cos_kms_auth_policy"></a> [skip\_cos\_kms\_auth\_policy](#input\_skip\_cos\_kms\_auth\_policy) | Set to `true` to skip the creation of an IAM authorization policy that permits the Object Storage instance created to read the encryption key from the KMS instance. If set to false, pass in a value for the KMS instance in the `existing_kms_instance_crn` variable. If a value is specified for `ibmcloud_kms_api_key`, the policy is created in the KMS account. | `bool` | `false` | no |
| <a name="input_skip_scc_cos_auth_policy"></a> [skip\_scc\_cos\_auth\_policy](#input\_skip\_scc\_cos\_auth\_policy) | Set to `true` to skip creation of an IAM authorization policy that permits the Security and Compliance Center to write to the Object Storage instance created by this solution. Applies only if `existing_scc_instance_crn` is not provided. | `bool` | `false` | no |
| <a name="input_skip_scc_workload_protection_auth_policy"></a> [skip\_scc\_workload\_protection\_auth\_policy](#input\_skip\_scc\_workload\_protection\_auth\_policy) | Set to `true` to skip creating an IAM authorization policy that permits the Security and Compliance Center instance to read from the Workload Protection instance. Applies only if `provision_scc_workload_protection` is true. | `bool` | `false` | no |
| <a name="input_use_existing_resource_group"></a> [use\_existing\_resource\_group](#input\_use\_existing\_resource\_group) | Whether to use an existing resource group. | `bool` | `false` | no |
Expand Down
Loading