hashicorp / terraform-provider-azuread

Terraform provider for Azure Active Directory
https://registry.terraform.io/providers/hashicorp/azuread/latest/docs
Mozilla Public License 2.0
419 stars 287 forks source link

Feature: Add support for configuring external collaboration settings #1433

Open ashtmMSFT opened 1 month ago

ashtmMSFT commented 1 month ago

Community Note

Description

Add support for configuring [a subset of] external collaboration settings in Entra ID. Without a proper resource to support this, users must instead configure these settings manually or through REST calls to the appropriate Graph APIs.

For example, an organization could have requirements like these:

Unfortunately, although these settings are presented grouped together in Entra ID's UI, they are actually configured across two Entra policy objects (authenticationFlowsPolicy and authorizationPolicy) rather than through one API dedicated to external collaboration settings.

New or Affected Resource(s)

I am certainly not an expert on how to best map one or more APIs to Terraform resources, but if we wanted to align with how these settings are organized in the Azure portal or Entra admin center, we could use:

Another viable approach would be to simply mirror the policy objects exposed by Graph:

Potential Terraform Configuration

resource "azuread_external_collaboration_settings" "external_collaboration_settings" {
    allow_guest_invites_from = "adminsGuestInvitersAndAllMembers"
    guest_user_access_level = "limited"
    guest_self_service_sign_up = false
}

References

ashtmMSFT commented 1 month ago

On a second search through the issue list, I see this is highly related to (but not quite the same as) existing issue #1183.