Skip to content

Commit 100de16

Browse files
authored
Require valid principal ID for Entra ID login validation (#82)
Signed-off-by: Roman Schwarz <rs@cloudeteer.de>
1 parent 6b12830 commit 100de16

2 files changed

Lines changed: 13 additions & 8 deletions

File tree

tests/local/input_entra_id.tftest.hcl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ run "entra_id_extension_and_identity_type_should_be_created" {
99
variables {
1010
extensions = []
1111
entra_id_login = {
12-
enabled = true
13-
principal_ids = ["00000000-0000-0000-0000-000000000000", "00000000-0000-0000-0000-000000000001"]
12+
enabled = true
13+
admin_login_principal_ids = ["00000000-0000-0000-0000-000000000000", "00000000-0000-0000-0000-000000000001"]
1414
}
1515

1616
}
@@ -35,8 +35,8 @@ run "entra_id_extension_and_add_identity_type_should_be_created" {
3535
identity = {
3636
type = "UserAssigned" }
3737
entra_id_login = {
38-
enabled = true
39-
principal_ids = ["00000000-0000-0000-0000-000000000000", "00000000-0000-0000-0000-000000000001"]
38+
enabled = true
39+
admin_login_principal_ids = ["00000000-0000-0000-0000-000000000000", "00000000-0000-0000-0000-000000000001"]
4040
}
4141

4242
}
@@ -85,8 +85,8 @@ run "entra_id_extension_and_identity_type_is_given" {
8585
identity = {
8686
type = "SystemAssigned, UserAssigned" }
8787
entra_id_login = {
88-
enabled = true
89-
principal_ids = ["00000000-0000-0000-0000-000000000000", "00000000-0000-0000-0000-000000000001"]
88+
enabled = true
89+
admin_login_principal_ids = ["00000000-0000-0000-0000-000000000000", "00000000-0000-0000-0000-000000000001"]
9090
}
9191

9292
}

variables.tf

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,8 +338,13 @@ variable "entra_id_login" {
338338
}
339339

340340
validation {
341-
condition = !var.entra_id_login.enabled ? true : length(var.entra_id_login.principal_ids) > 0
342-
error_message = "When 'entra_id_login.enabled' is 'true', 'principal_ids' must contain at least one valid principal ID."
341+
condition = anytrue([
342+
!var.entra_id_login.enabled,
343+
length(var.entra_id_login.principal_ids) > 0,
344+
length(var.entra_id_login.admin_login_principal_ids) > 0,
345+
length(var.entra_id_login.user_login_principal_ids) > 0
346+
])
347+
error_message = "When 'entra_id_login.enabled' is 'true', 'admin_login_principal_ids' or 'user_login_principal_ids' must contain at least one valid principal ID."
343348
}
344349

345350
}

0 commit comments

Comments
 (0)