Privileged Access Management

Source code & Installation

The source code of this kit module can be found hereopen in new window

Run the following command to install the kit module:

collie kit import azure/pam
1

This kit provides a basic terraform-based approach for managing privileged roles used to administrate your landing zones.

This is a good solution for cloud foundation teams that start in greenfield Azure environments and without a strong backing of established enterprise IAM integration into Entra ID (Azure AD).

For production use, cloud foundation teams should strongly consider implementing group membership management using existing Enterprise IAM processes as well as leveraging Entra ID PIM and Conditional Access features to increase security.

This module is meant to be used with modules like azure/billing or azure/logging that implement important administrative capabilities and also introduce relevant security groups and security roles for managing these capabilities.

Thee purpose of this kit module is then to collect the various PAM groups and permissions together and provide a central and cohesive overview.

Requirements

NameVersion
terraform>= 1.0
azuread~> 2.41.0
azurerm~> 3.71.0

Modules

No modules.

Resources

NameType
azuread_group_member.pam_desired_membershipsopen in new windowresource
azuread_client_config.currentopen in new windowdata source
azuread_group.pam_desired_groupsopen in new windowdata source
azuread_group.pam_groupsopen in new windowdata source
azuread_user.pam_desired_usersopen in new windowdata source
azuread_user.pam_usersopen in new windowdata source
azurerm_subscription.currentopen in new windowdata source

Inputs

NameDescriptionTypeDefaultRequired
pam_group_membersOptional: manage members for cloud foundation PAM groups via terraform
list(object({
group_object_id = string

# other attributes would be possible (e.g. UPN or mail_nickname) with small changes to the terraform module
members_by_mail = list(string)
}))
n/ayes
pam_group_object_idsthe object_ids of PAM groups used by the cloud foundationlist(string)n/ayes

Outputs

NameDescription
documentation_mdn/a