Prerequisites
- An Azure Entra ID tenant (formerly Azure Active Directory)
- Global Administrator or Privileged Role Administrator access to configure device settings
- Users who will log in must have licenses that include Entra ID (Microsoft 365, Azure AD Premium, etc.)
Step 1: Allow device registration or join
Open Entra admin center
Go to entra.microsoft.com and sign in.
Configure device settings
Navigate to Identity → Devices → Device settings.
- Users may join devices to Microsoft Entra ID — set to All or a specific group that includes the accounts that will enroll Linux devices.
- If you only need device registration (not full join), set
join_type = registerinhimmelblau.conf. Registration does not require device join permissions.
Step 2: Find group Object IDs for pam_allow_groups
Thepam_allow_groups option controls which Entra ID users and groups are allowed to log in. Groups must be specified by their Object ID GUID — display names are not unique and are not accepted.
Copy the Object ID
On the group’s Overview page, copy the Object ID (a GUID like
f3c9a7e4-7d5a-47e8-832f-3d2d92abcd12).You can also specify individual users by UPN (e.g.
admin@contoso.com) alongside group GUIDs.Step 3: (Optional) App registration for RFC 2307 attributes
If you want to store POSIX attributes (uidNumber, gidNumber, unixHomeDirectory, loginShell) directly on Entra ID user objects — and have Himmelblau read them — you need an app registration with appropriate Graph API permissions.
Create an app registration
Navigate to Identity → App registrations → New registration.
Give it a name like
Himmelblau POSIX Schema.Grant API permissions
Under API permissions, add:
User.Read.All(delegated or application)Group.Read.All(delegated or application)
Add schema extensions
Use
aad-tool application add-schema-extensions to register the POSIX attributes on this app:Step 4: (Optional) Conditional Access and Intune compliance
If your tenant uses Conditional Access policies that require device compliance, Himmelblau supports Intune enrollment to satisfy those requirements.- Enrolled Linux devices appear in Intune → Devices as managed devices
- The
apply_policy = true(default) setting causes Himmelblau to download and enforce compliance policies - Devices that pass compliance checks are marked as compliant and can satisfy CA policies requiring a compliant device
join_type: join vs register
| Value | Behavior |
|---|---|
join (default) | Full device join — device appears as a joined device in Entra ID, required for most Conditional Access scenarios |
register | Device registration only — lighter weight, does not require device join permissions in tenant settings |
himmelblau.conf:
