Skip to content

Commit 6d221f0

Browse files
committed
opa rules fix for bucket
1 parent 539b86c commit 6d221f0

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

cd3_automation_toolkit/user-scripts/OPA/Storage/oci_deny_public_bucket.rego

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,45 @@ package terraform
66
import input as tfplan
77

88

9+
package terraform
10+
11+
#Ensure no object storage buckets are publicly visible.
12+
#Ensure object storage buckets are encrypted with a CMK.
13+
#Ensure versioning is enabled for buckets.
14+
import input as tfplan
15+
16+
917
deny[reason] {
1018
r = tfplan.resource_changes[_]
1119
r.mode == "managed"
1220
r.type == "oci_objectstorage_bucket"
1321
r.change.after.access_type == "ObjectRead"
22+
# r.change.after.kms_key_id == null
23+
# r.change.after.versioning == "Disabled"
24+
25+
reason := sprintf("%-40s :: OCI buckets must be private as per CIS standard's",
26+
[r.address])
27+
}
28+
29+
deny[reason] {
30+
r = tfplan.resource_changes[_]
31+
r.mode == "managed"
32+
r.type == "oci_objectstorage_bucket"
1433
r.change.after.kms_key_id == null
15-
r.change.after.versioning == "Disabled"
1634

17-
reason := sprintf("%-40s :: OCI buckets must be private/versioning enabled/encrypted with CMK as per CIS standard's",
35+
reason := sprintf("%-40s :: OCI buckets must be encrypted with CMK as per CIS standard's",
1836
[r.address])
1937
}
2038

39+
deny[reason] {
40+
r = tfplan.resource_changes[_]
41+
r.mode == "managed"
42+
r.type == "oci_objectstorage_bucket"
43+
r.change.after.versioning == "Disabled"
2144

45+
reason := sprintf("%-40s :: OCI buckets should be private/versioning enabled/encrypted with CMK as per CIS standard's",
46+
[r.address])
47+
}
2248

2349
#To enforce encryption at rest for object storage:
2450
default enforce_object_storage_encryption = false

0 commit comments

Comments
 (0)