├── CODEOWNERS ├── LICENSE ├── README.md ├── modules └── tfplan-functions.sentinel ├── sentinel-policies ├── folder-iam │ ├── restrict-folder-iam-bindings.sentinel │ ├── restrict-folder-iam-members.sentinel │ └── restrict-folder-iam-policies.sentinel ├── organization-iam │ ├── restrict-organization-iam-bindings.sentinel │ ├── restrict-organization-iam-members.sentinel │ └── restrict-organization-iam-policies.sentinel └── project-iam │ ├── restrict-project-iam-bindings.sentinel │ ├── restrict-project-iam-members.sentinel │ └── restrict-project-iam-policies.sentinel ├── sentinel.hcl ├── terraform ├── folder-iam.tf ├── organization-iam.tf ├── project-iam.tf ├── providers.tf └── vars.tf └── test └── restrict-iam-bindings ├── fail.json ├── mock-tfplan-fail.sentinel └── pass.json /CODEOWNERS: -------------------------------------------------------------------------------- 1 | @allisonis 2 | @dxa4481 -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/README.md -------------------------------------------------------------------------------- /modules/tfplan-functions.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/modules/tfplan-functions.sentinel -------------------------------------------------------------------------------- /sentinel-policies/folder-iam/restrict-folder-iam-bindings.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/sentinel-policies/folder-iam/restrict-folder-iam-bindings.sentinel -------------------------------------------------------------------------------- /sentinel-policies/folder-iam/restrict-folder-iam-members.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/sentinel-policies/folder-iam/restrict-folder-iam-members.sentinel -------------------------------------------------------------------------------- /sentinel-policies/folder-iam/restrict-folder-iam-policies.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/sentinel-policies/folder-iam/restrict-folder-iam-policies.sentinel -------------------------------------------------------------------------------- /sentinel-policies/organization-iam/restrict-organization-iam-bindings.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/sentinel-policies/organization-iam/restrict-organization-iam-bindings.sentinel -------------------------------------------------------------------------------- /sentinel-policies/organization-iam/restrict-organization-iam-members.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/sentinel-policies/organization-iam/restrict-organization-iam-members.sentinel -------------------------------------------------------------------------------- /sentinel-policies/organization-iam/restrict-organization-iam-policies.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/sentinel-policies/organization-iam/restrict-organization-iam-policies.sentinel -------------------------------------------------------------------------------- /sentinel-policies/project-iam/restrict-project-iam-bindings.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/sentinel-policies/project-iam/restrict-project-iam-bindings.sentinel -------------------------------------------------------------------------------- /sentinel-policies/project-iam/restrict-project-iam-members.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/sentinel-policies/project-iam/restrict-project-iam-members.sentinel -------------------------------------------------------------------------------- /sentinel-policies/project-iam/restrict-project-iam-policies.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/sentinel-policies/project-iam/restrict-project-iam-policies.sentinel -------------------------------------------------------------------------------- /sentinel.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/sentinel.hcl -------------------------------------------------------------------------------- /terraform/folder-iam.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/terraform/folder-iam.tf -------------------------------------------------------------------------------- /terraform/organization-iam.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/terraform/organization-iam.tf -------------------------------------------------------------------------------- /terraform/project-iam.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/terraform/project-iam.tf -------------------------------------------------------------------------------- /terraform/providers.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/terraform/providers.tf -------------------------------------------------------------------------------- /terraform/vars.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/terraform/vars.tf -------------------------------------------------------------------------------- /test/restrict-iam-bindings/fail.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/restrict-iam-bindings/mock-tfplan-fail.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allisonis/gcp-iam-sentinel-examples/HEAD/test/restrict-iam-bindings/mock-tfplan-fail.sentinel -------------------------------------------------------------------------------- /test/restrict-iam-bindings/pass.json: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------