-
Notifications
You must be signed in to change notification settings - Fork 4
/
kms.tf
43 lines (32 loc) · 1.57 KB
/
kms.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
##############################################################################
# Get Key Protect Resource Data
##############################################################################
data ibm_resource_instance kms {
name = var.kms_name
resource_group_id = data.ibm_resource_group.resource_group.id
}
##############################################################################
##############################################################################
# Access Policy for KMS to read COS
##############################################################################
resource ibm_iam_authorization_policy cos_policy {
source_service_name = "cloud-object-storage"
source_resource_instance_id = data.ibm_resource_instance.cos.guid
source_service_account = var.account_id
target_service_name = "kms"
target_resource_instance_id = data.ibm_resource_instance.kms.guid
roles = ["Reader"]
}
############################################################################
############################################################################
# Create Key
############################################################################
resource ibm_kms_key key {
instance_id = data.ibm_resource_instance.kms.guid
force_delete = var.force_delete
key_name = var.key_name
payload = var.key_payload == "" ? null : var.key_payload
standard_key = var.standard_key
endpoint_type = var.endpoint_type
}
############################################################################