# Entra External ID Entra External ID

B2B Workforce-Kollaboration, External Tenant (CIAM), externe Identity Provider, Cross-Tenant-Zugriffsrichtlinien und Einladungseinlösung. B2B workforce collaboration, external tenant (CIAM), external identity providers, cross-tenant access policies, and invitation redemption.

B2B Collaboration B2B Collaboration

Externe Benutzer als Gäste im Workforce-Tenant einladen und auf interne Ressourcen zugreifen lassen.Invite external users as guests in the workforce tenant and grant them access to internal resources.

Externer Tenant (CIAM)External tenant (CIAM)

Separater Tenant für Kunden-Apps mit angepassten User Flows und Branding.Separate tenant for customer apps with customized user flows and branding.

Externe Identity Provider External identity providers

Google, Facebook, SAML/OIDC-Verbund als Anmeldemethode für Gastbenutzer.Google, Facebook, SAML/OIDC federation as sign-in method for guest users.

Cross-Tenant-Zugriff Cross-tenant access

Inbound- und Outbound-Richtlinien pro Partnerorganisation steuern Geräte- und MFA-Vertrauen.Inbound and outbound policies per partner organization control device and MFA trust.

## Überblick: Entra External ID Overview: Entra External ID

Entra External ID fasst alle Szenarien zusammen, in denen Identitäten außerhalb der eigenen Organisation verwaltet oder eingeladen werden. Es gibt zwei grundlegende Modelle: den Workforce-Tenant mit B2B-Gastbenutzern (Partner, Lieferanten) und den External Tenant für Customer Identity (CIAM) mit End-Kunden-Registrierungsflows. Entra External ID consolidates all scenarios where identities outside the own organization are managed or invited. There are two fundamental models: the workforce tenant with B2B guest users (partners, vendors) and the external tenant for Customer Identity (CIAM) with end-customer registration flows.

ℹ️ Abgrenzung B2B vs. CIAM ℹ️ B2B vs. CIAM distinction

B2B Collaboration richtet sich an bekannte Partner und Mitarbeiter von anderen Unternehmen, die auf interne Unternehmensressourcen zugreifen sollen. CIAM (External Tenant) richtet sich an anonyme Endkunden, die sich selbst für eine externe App registrieren und anmelden. B2B Collaboration targets known partners and employees from other companies who need access to internal corporate resources. CIAM (External Tenant) targets anonymous end customers who self-register and sign in to an external app.

## B2B Collaboration – Workforce-Tenant B2B Collaboration – workforce tenant

Bei der B2B-Kollaboration wird ein externer Benutzer als Gastobjekt (`userType: Guest`) im eigenen Tenant angelegt. Der Gast authentifiziert sich bei seinem Heimat-IdP und erhält dann Zugriff auf freigegebene Ressourcen. In B2B collaboration an external user is created as a guest object (`userType: Guest`) in the own tenant. The guest authenticates at their home IdP and then receives access to shared resources.

Einladungstyp Invitation type | Mechanismus Mechanism | Einsatz Use case
--- | --- | ---
E-Mail-Einladung Email invitation | Portal oder Graph-API; Einladungs-E-Mail an Gastadresse Portal or Graph API; invitation email to guest address | Manuelle Einladungen, kleine Partnerkontingente Manual invitations, small partner contingents
Self-Service-Registrierung Self-service sign-up | User Flow auf App-Ebene; Gast registriert sich selbst User flow at app level; guest self-registers | Partner-Portale, externe Communities Partner portals, external communities
B2B Direct Connect B2B Direct Connect | Bi-direktionale Vertrauensstellung mit Partnerorganisation; kein Gastobjekt Bidirectional trust with partner organization; no guest object | Teams Connect (Shared Channels), Cross-Tenant-Kollaboration Teams Connect (Shared Channels), cross-tenant collaboration
Masseneinladung Bulk invitation | CSV-Upload im Portal oder Graph-API-Batch CSV upload in portal or Graph API batch | Große Migrationen, Partner-Onboarding-Projekte Large migrations, partner onboarding projects

### Einladung per PowerShell Invite via PowerShell

PowerShell

    Connect-MgGraph -Scopes "User.Invite.All","User.ReadWrite.All"

    # Einzelne Einladung
    New-MgInvitation -InvitedUserEmailAddress "partner@fabrikam.com" `
        -InviteRedirectUrl "https://myapps.microsoft.com" `
        -SendInvitationMessage $true `
        -InvitedUserDisplayName "Partner User"

    # Masseneinladung aus CSV
    $guests = Import-Csv "C:\guests.csv" # Spalten: Email, DisplayName
    foreach ($g in $guests) {
        New-MgInvitation -InvitedUserEmailAddress $g.Email `
            -InviteRedirectUrl "https://myapps.microsoft.com" `
            -SendInvitationMessage $true `
            -InvitedUserDisplayName $g.DisplayName
    }

## Einladungseinlösung (Redemption)Invitation redemption

Wenn ein Gast auf einen Einladungslink klickt, durchläuft er den Redemption-Flow. Entra ID prüft dabei die Identität des Gastes und legt ein entsprechendes Verbundkonto oder OTP-Konto an. When a guest clicks an invitation link, they go through the redemption flow. Entra ID verifies the guest's identity and creates a corresponding federated or OTP account.

Heimat-IdP des Gastes Guest's home IdP | Einlösungsmethode Redemption method
--- | ---
Anderes Microsoft Entra-Konto Other Microsoft Entra account | OIDC-Verbund mit dem Heimat-Tenant; kein Passwort im Ressource-Tenant OIDC federation with home tenant; no password in resource tenant
Microsoft-Konto (MSA)Microsoft-Konto (MSA) | MSA-Verbund MSA federation
Google Gmail Google Gmail | Google-Verbund (sofern konfiguriert)Google federation (if configured)
Facebook Facebook | Facebook-Verbund (sofern konfiguriert)Facebook federation (if configured)
SAML/OIDC-IdP (Direct Federation)SAML/OIDC-IdP (Direct Federation) | Direct Federation mit konfiguriertem IdP Direct federation with configured IdP
Keine bekannte Methode No recognized method | OTP (Email-Einmalpasswort)OTP (Email-Einmalpasswort)

ℹ️ Email OTP ℹ️ Email OTP

Email One-Time Passcode ist der Fallback-Mechanismus für Gäste ohne Entra ID oder MSA. Der Gast erhält ein kurzlebiges Einmalpasswort per E-Mail und kann sich damit authentifizieren, ohne ein Konto bei einem IdP zu benötigen. Email One-Time Passcode is the fallback mechanism for guests without Entra ID or MSA. The guest receives a short-lived OTP by email and can authenticate without needing an account at an IdP.

## Cross-Tenant-Zugriffsrichtlinien Cross-tenant access policies

Cross-Tenant-Zugriffsrichtlinien (XTAP) steuern pro Partnerorganisation, welche Vertrauensstellungen gewährt werden. Dabei wird zwischen Inbound (fremde Benutzer in meinem Tenant) und Outbound (meine Benutzer in fremdem Tenant) unterschieden. Cross-Tenant Access Policies (XTAP) control per partner organization what trust is granted. There is a distinction between inbound (foreign users in my tenant) and outbound (my users in a foreign tenant).

Richtlinientyp Policy type | Konfiguriert für Configured for | Steuert Controls
--- | --- | ---
Standard-Inbound Default inbound | Alle nicht explizit konfigurierten Partnertenants All partner tenants not explicitly configured | B2B-Einladungen erlauben/blockieren, MFA-Vertrauen, Geräte-Compliance-Vertrauen Allow/block B2B invitations, MFA trust, device compliance trust
Standard-Outbound Default outbound | Alle nicht explizit konfigurierten Partnertenants All partner tenants not explicitly configured | Ob meine Benutzer als Gäste in anderen Tenants eingeladen werden dürfen Whether my users may be invited as guests in other tenants
Organisations-spezifisch (Inbound)Organization-specific (inbound) | Einzelner Partnerorganiations-Tenant Individual partner organization tenant | MFA-Vertrauen, compliant device, Hybrid Join Trust für diesen Partner MFA trust, compliant device, Hybrid Join trust for this partner
Organisations-spezifisch (Outbound)Organization-specific (outbound) | Einzelner Zielorganisations-Tenant Individual target organization tenant | Welche internen Benutzer in diesem Fremd-Tenant als Gäste tätig sein dürfen Which internal users may operate as guests in this foreign tenant

### MFA- und Geräte-Vertrauen konfigurieren Configure MFA and device trust

Wenn Sie einem Partnerorganisations-Tenant MFA-Vertrauen gewähren, akzeptiert Ihr CA das bereits erfüllte MFA des Gastes – der Gast muss keine zweite MFA-Anforderung erfüllen. Gleiches gilt für Geräte-Compliance und Hybrid Join. When you grant an MFA trust to a partner organization tenant, your CA accepts the guest's already satisfied MFA – the guest does not need to fulfill a second MFA requirement. The same applies to device compliance and Hybrid Join.

PowerShell

    Connect-MgGraph -Scopes "Policy.ReadWrite.CrossTenantAccess"

    # Inbound MFA-Vertrauen für spezifischen Partnertenants konfigurieren
    $partnerTenantId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    $body = @{
        tenantId = $partnerTenantId
        inboundTrust = @{
            isMfaAccepted = $true
            isCompliantDeviceAccepted = $true
            isHybridAzureADJoinedDeviceAccepted = $false
        }
    } | ConvertTo-Json -Depth 5

    Invoke-MgGraphRequest -Method POST `
        -Uri "https://graph.microsoft.com/v1.0/policies/crossTenantAccessPolicy/partners" `
        -Body $body -ContentType "application/json"

    # Bestehende Cross-Tenant-Policies anzeigen
    Get-MgPolicyCrossTenantAccessPolicyPartner | Select-Object TenantId, InboundTrust, OutboundTrust

## Externe Identity Provider External identity providers

Im Workforce-Tenant können Google und Facebook als Identity Provider für B2B-Gäste konfiguriert werden. Für Unternehmenspartner eignet sich der SAML/OIDC Direct Federation. In the workforce tenant, Google and Facebook can be configured as identity providers for B2B guests. For enterprise partners, SAML/OIDC Direct Federation is suitable.

Provider Provider | Protokoll Protocol | Einsatz Use case | Konfiguration Configuration
--- | --- | --- | ---
Google Google | OAuth 2.0 / OIDC OAuth 2.0 / OIDC | Gmail-Nutzer als Gäste einladen Invite Gmail users as guests | Client-ID und Secret aus Google Developer Console Client ID and secret from Google Developer Console
Facebook Facebook | OAuth 2.0 OAuth 2.0 | Consumer-Gäste für B2C-nahe Szenarien Consumer guests for B2C-like scenarios | App-ID und Secret aus Meta Developer Portal App ID and secret from Meta Developer Portal
SAML Direct Federation SAML Direct Federation | SAML 2.0 SAML 2.0 | Unternehmenspartner mit eigenem SAML-IdP (ADFS, Ping, Okta)Enterprise partner with own SAML IdP (ADFS, Ping, Okta) | Partner-Metadaten oder manuelle Endpoints Partner metadata or manual endpoints
OIDC Direct Federation OIDC Direct Federation | OIDC OIDC | Partner mit modernem OIDC-IdP Partner with modern OIDC IdP | Client-ID, Secret, Metadata URI Client ID, secret, metadata URI

## Externer Tenant (CIAM)External tenant (CIAM)

Ein externer Tenant ist ein dedizierter Entra-ID-Tenant für Customer Identity and Access Management (CIAM). Er ermöglicht Self-Service-Registrierung, Social-Login, angepasstes Branding und kundenseitige MFA-Methoden, ohne die internen Workforce-Ressourcen zu berühren. An external tenant is a dedicated Entra ID tenant for Customer Identity and Access Management (CIAM). It enables self-service registration, social login, customized branding, and customer-side MFA methods without touching internal workforce resources.

Feature Feature | Beschreibung Description
--- | ---
User Flows User Flows | Vordefinierte Registrierungs- und Anmeldeabläufe mit konfigurierbaren Attributen Predefined sign-up and sign-in flows with configurable attributes
Custom Authentication Extensions Custom Authentication Extensions | Azure Function-Hooks für Attributanreicherung und externe Validierung Azure Function hooks for attribute enrichment and external validation
Branding Branding | Unternehmenslogo, Hintergrund, Farben; pro-App anpassbar Company logo, background, colors; customizable per app
Identity Provider Identity Provider | Email/Password, Google, Facebook, Apple, SAML/OIDC Email/password, Google, Facebook, Apple, SAML/OIDC
MFA MFA | TOTP, SMS, Email OTP TOTP, SMS, Email OTP
MSAL / OIDC SDK MSAL / OIDC SDK | Standardmäßige MSAL-Bibliotheken oder eigene OIDC-Integration Standard MSAL libraries or custom OIDC integration

## Einstellungen für externe Zusammenarbeit External collaboration settings

Im Entra-Admin-Center (Entra ID → External Identities → Externe Zusammenarbeit) steuern Sie übergeordnete Einschränkungen für B2B-Einladungen und Gastbenutzerrechte. In the Entra admin center (Entra ID → External Identities → External collaboration settings) you control top-level restrictions for B2B invitations and guest user permissions.

Einstellung Setting | Optionen Options | Empfehlung Recommendation
--- | --- | ---
Gastbenutzer-Zugriffsberechtigungen Guest user access permissions | Gleiche wie Mitglieder / Eingeschränkt / Höchst eingeschränkt Same as members / Restricted / Most restricted | Höchst eingeschränkt für externe Partner empfohlen Most restricted recommended for external partners
Wer darf einladen?Who can invite? | Jeder / Mitglieder und Admins / Nur Admins / Niemand Everyone / Members and admins / Admins only / Nobody | Admins only oder governed via Entitlement Management Admins only or governed via Entitlement Management
Erlaubte/Blockierte Domains Allowed/blocked domains | Allowlist oder Blocklist Allowlist or blocklist | Allowlist für kontrollierte Partnerumgebungen Allowlist for controlled partner environments
One-time passcode (OTP)One-time passcode (OTP) | Aktiviert / Deaktiviert Enabled / Disabled | Aktiviert als sicheres Fallback Enabled as secure fallback

## Gast-Lifecycle und Bereinigung Guest lifecycle and cleanup

PowerShell

    Connect-MgGraph -Scopes "User.Read.All","User.ReadWrite.All"

    # Alle Gastbenutzer auflisten
    Get-MgUser -Filter "userType eq 'Guest'" -All |
        Select-Object DisplayName, UserPrincipalName, CreatedDateTime, SignInActivity

    # Gäste, die sich nie oder seit 90 Tagen nicht angemeldet haben
    $cutoff = (Get-Date).AddDays(-90)
    Get-MgUser -Filter "userType eq 'Guest'" -All -Property "id,displayName,userPrincipalName,signInActivity" |
        Where-Object {
            $null -eq $_.SignInActivity.LastSignInDateTime -or
            $_.SignInActivity.LastSignInDateTime -lt $cutoff
        } | Select-Object DisplayName, UserPrincipalName, @{N="LastSignIn"; E={$_.SignInActivity.LastSignInDateTime}}

    # Gast deaktivieren
    Update-MgUser -UserId "" -AccountEnabled $false

    # Gast löschen
    Remove-MgUser -UserId ""

✅ Empfehlung: Access Reviews für Gäste✅ Recommendation: Access reviews for guests

Richten Sie wiederkehrende Access Reviews speziell für Gastbenutzer ein und konfigurieren Sie Auto-Apply mit der Aktion Block Sign-In oder Remove Access bei ausstehender Überprüfung. Kombinieren Sie dies mit Entitlement Management für einen vollständigen Gast-Lifecycle. Set up recurring access reviews specifically for guest users and configure auto-apply with the action Block sign-in or Remove access for outstanding reviews. Combine this with Entitlement Management for a complete guest lifecycle.

## Self-Service Sign-up User Flows Self-service sign-up user flows

Self-Service Sign-up User Flows erlauben es Gästen, sich ohne manuelle Einladung selbst zu registrieren. Sie werden auf Enterprise-App-Ebene konfiguriert und unterstützen verschiedene Identity Provider, Attributabfragen und API-Connectors. Self-service sign-up user flows allow guests to register themselves without a manual invitation. They are configured at the Enterprise App level and support various identity providers, attribute collections, and API connectors.

Schritt im User Flow User flow step | Konfigurierbar Configurable
--- | ---
Identity Provider Auswahl Identity provider selection | E-Mail/OTP, Entra-Konto, Google, Facebook, SAML/OIDC Email/OTP, Entra account, Google, Facebook, SAML/OIDC
Attributabfrage Attribute collection | DisplayName, Job Title, Department, benutzerdefinierte Attribute DisplayName, Job Title, Department, custom attributes
API Connector (vor Erstellung)API Connector (vor Erstellung) | Externe Validierung, Anreicherung per HTTP-Endpoint External validation, enrichment via HTTP endpoint
API Connector (vor Einladungs-Token)API Connector (vor Einladungs-Token) | Claims-Anreicherung vor Token-Ausstellung Claims enrichment before token issuance

## B2B Direct Connect (Shared Channels)B2B Direct Connect (Shared Channels)

B2B Direct Connect unterscheidet sich grundlegend von B2B Collaboration: Externe Benutzer werden nicht als Gastobjekte im Tenant angelegt. Stattdessen greifen sie direkt über eine Echtzeit-Verbindung auf freigegebene Teams Shared Channels zu. Dies erfordert eine bidirektionale Cross-Tenant-Zugriffsrichtlinienkonfiguration bei beiden Organisationen. B2B Direct Connect fundamentally differs from B2B Collaboration: external users are not created as guest objects in the tenant. Instead, they access shared Teams Shared Channels directly through a real-time connection. This requires a bidirectional Cross-Tenant Access Policy configuration in both organizations.

ℹ️ Teams Shared Channels ℹ️ Teams Shared Channels

B2B Direct Connect ist aktuell das einzige Szenario, das Teams Shared Channels über Tenant-Grenzen hinweg ermöglicht. Für alle anderen Ressourcen-Freigaben (SharePoint, Apps) bleibt B2B Collaboration die richtige Wahl. B2B Direct Connect is currently the only scenario enabling Teams Shared Channels across tenant boundaries. For all other resource sharing (SharePoint, apps), B2B Collaboration remains the right choice.

## Entitlement Management für externe Benutzer Entitlement Management for external users

Entitlement Management kann Access Packages spezifisch für externe Benutzer konfigurieren. Connected Organizations ermöglichen es, Partnerorganisationen als vertrauenswürdige Quellen für Zugriffsanfragen zu definieren. Entitlement Management can configure access packages specifically for external users. Connected Organizations enable defining partner organizations as trusted sources for access requests.

Konfiguration Configuration | Beschreibung Description
--- | ---
Connected Organization Connected Organization | Partnertenants oder Domains als vertrauenswürdig markieren Mark partner tenants or domains as trusted
Zugriffs-Package-Policy für externe Access package policy for external users | Erlaubt Anfragen von Connected Organizations oder bestimmten Domains Allows requests from connected organizations or specific domains
Auto-Enfernung Auto-removal | Gastzugang automatisch nach Ablauf oder Inaktivität entfernen Automatically remove guest access after expiry or inactivity

## PowerShell-Referenz für External ID PowerShell reference for External ID

Cmdlet Cmdlet | Beschreibung Description
--- | ---
New-MgInvitation New-MgInvitation | Gasteinladung erstellen und senden Create and send guest invitation
Get-MgUser -Filter "userType eq 'Guest'"Get-MgUser -Filter "userType eq 'Guest'" | Alle Gastbenutzer auflisten List all guest users
Get-MgPolicyCrossTenantAccessPolicyDefault Get-MgPolicyCrossTenantAccessPolicyDefault | Standard Cross-Tenant-Policy lesen Read default Cross-Tenant policy
Get-MgPolicyCrossTenantAccessPolicyPartner Get-MgPolicyCrossTenantAccessPolicyPartner | Partnertenants-Policies lesen Read partner tenant policies
Update-MgPolicyCrossTenantAccessPolicyDefault Update-MgPolicyCrossTenantAccessPolicyDefault | Standard Cross-Tenant-Policy aktualisieren Update default Cross-Tenant policy
Get-MgIdentityB2xUserFlow Get-MgIdentityB2xUserFlow | Self-Service Sign-up User Flows lesen Read self-service sign-up user flows

## CIAM User Flow Konfiguration CIAM user flow configuration

Im externen Tenant können User Flows für Registrierung, Anmeldung und Passwort-Reset konfiguriert werden. Jeder User Flow unterstützt mehrere Identity Provider und Attributabfragen. In the external tenant, user flows for sign-up, sign-in, and password reset can be configured. Each user flow supports multiple identity providers and attribute collections.

HTTP – External Tenant User Flows abrufen Retrieve external tenant user flows

    GET https://graph.microsoft.com/beta/identity/authenticationEventsFlows

    # Spezifischen User Flow abrufen
    GET https://graph.microsoft.com/beta/identity/authenticationEventsFlows/{id}

    # Verfügbare Identity Provider im externen Tenant
    GET https://graph.microsoft.com/v1.0/identityProviders

## Domain-Beschränkungen und Allow/Block-Listen Domain restrictions and allow/block lists

Konfiguration Configuration | Wirkung Effect | Empfehlung Recommendation
--- | --- | ---
Domain Allowlist Domain Allowlist | Nur Gasteinladungen an konfigurierte Domains erlaubt Only guest invitations to configured domains allowed | Strenge Umgebungen mit bekannten Partnern Strict environments with known partners
Domain Blocklist Domain Blocklist | Einladungen an blockierte Domains verhindern Prevent invitations to blocked domains | Wettbewerber, Consumer-Domains blockieren Block competitors, consumer domains
Kein Filter No filter | Einladungen an beliebige Domain möglich Invitations to any domain possible | Nicht empfohlen für produktive Umgebungen Not recommended for production environments

## Branding und Anpassung Branding and customization

Entra External ID erlaubt umfangreiche Branding-Anpassungen für den Anmeldeflow. Im externen Tenant können Logo, Hintergrundbild, Farben und benutzerdefinierte CSS sowie JavaScript-Erweiterungen eingesetzt werden. Entra External ID allows extensive branding customizations for the sign-in flow. In the external tenant, logo, background image, colors, and custom CSS as well as JavaScript extensions can be applied.

Branding-Element Branding element | Konfigurationsort Configuration location
--- | ---
Logo Logo | Entra Admin Center → External Identities → Branding Entra Admin Center → External Identities → Branding
Benutzerdefiniertes CSS Custom CSS | User Flow → Page layouts → Custom CSS User Flow → Page layouts → Custom CSS
Sprachen Languages | User Flow → Languages (benutzerdefinierte Übersetzungen möglich)User Flow → Languages (custom translations possible)
Benutzerdefinierte Domains Custom domains | Eigene Domain statt ciamlogin.com verwenden Use own domain instead of ciamlogin.com

## Benutzerdefinierte Attribute Custom user attributes

Benutzerdefinierte Attribute ergänzen das Standard-Benutzerverzeichnis um anwendungsspezifische Felder. Sie können bei der Registrierung im User Flow abgefragt und in den Token eingebettet werden. Custom user attributes extend the default user directory with application-specific fields. They can be collected during sign-up in the user flow and embedded in tokens.

Attributtyp Attribute type | Datentyp Data type | Verwendung Usage
--- | --- | ---
String-Attribut String attribute | String String | Freitextfelder (Firma, Abteilung)Free text fields (company, department)
Boolean-Attribut Boolean attribute | Boolean Boolean | Zustimmungsfelder (Newsletter, AGB)Consent fields (newsletter, terms)
Integer-Attribut Integer attribute | Int32 Int32 | Numerische Werte (Kundennummer)Numeric values (customer number)

## API Connectors API connectors

API Connectors ermöglichen die Integration externer REST-APIs in den Anmeldeflow. Sie können eingesetzt werden, um Benutzereingaben zu validieren, Daten aus externen Systemen abzurufen oder den Registrierungsflow zu steuern. API connectors enable the integration of external REST APIs into the sign-in flow. They can be used to validate user inputs, retrieve data from external systems, or control the registration flow.

Einsatzpunkt Integration point | Beschreibung Description
--- | ---
Nach Eingabe von Benutzerattributen After collecting user attributes | Validierung der Registrierungsdaten vor dem Erstellen des Kontos Validate registration data before account creation
Vor dem Erstellen des Benutzers Before creating the user | Anreicherung oder Blockierung basierend auf externen Daten Enrichment or blocking based on external data
Token-Anreicherung Token enrichment | Custom Claims Provider (Preview): Claims aus externem System injizieren Custom Claims Provider (Preview): inject claims from external system

## Custom Authentication Extensions Custom authentication extensions

Custom Authentication Extensions (CAE) sind Event-Listener, die an bestimmten Stellen im Authentifizierungsflow aufgerufen werden. Sie ermöglichen Token-Anreicherung mit Daten aus externen Systemen über einen benutzerdefinierten REST-Endpunkt. Custom Authentication Extensions (CAE) are event listeners called at specific points in the authentication flow. They enable token enrichment with data from external systems via a custom REST endpoint.

Event-Typ Event type | Auslöser Trigger
--- | ---
onTokenIssuanceStart onTokenIssuanceStart | Vor der Token-Ausstellung – Claims anreichern Before token issuance – enrich claims
onAttributeCollection onAttributeCollection | Nach der Attributerfassung – Daten validieren oder vorausfüllen After attribute collection – validate or pre-populate data

## Native Authentication Native authentication

Native Authentication erlaubt mobilen Apps die vollständige Kontrolle über den Anmeldefluss, ohne Browser-Umleitung. Die App kommuniziert direkt über die MSAL-Bibliothek mit dem Entra External ID-Endpoint. Native Authentication unterstützt E-Mail-OTP und Benutzername/Passwort-Flows. Native Authentication allows mobile apps full control over the sign-in flow without browser redirection. The app communicates directly with the Entra External ID endpoint via the MSAL library. Native Authentication supports email OTP and username/password flows.

Aspekt Aspect | Detail Detail
--- | ---
Unterstützte Methoden Supported methods | Email OTP, Benutzername/Passwort Email OTP, Benutzername/Passwort
SDK SDK | MSAL.NET, MSAL for Android/iOS MSAL.NET, MSAL for Android/iOS
Voraussetzung Prerequisite | Externer Tenant, Native Authentication aktiviert in App-Registrierung External tenant, Native Authentication enabled in app registration
Branding Branding | Vollständiges App-Branding möglich (kein Microsoft-Login-Screen)Full app branding possible (no Microsoft login screen)

## Token-Anpassung für Gastbenutzer Token Customisation for Guest Users

Optional Claim-Policies und Token-Mapping ermöglichen es, Gastbenutzer-Attribute im ID- und Access-Token anzupassen.Optional claims policies and token mapping let you customise guest user attributes in ID and access tokens.

Claim Claim | Quelle Source | Beschreibung Description
--- | --- | ---
email email | HomeDirectory HomeDirectory | E-Mail-Adresse des Gastbenutzers im Heimverzeichnis Guest user email from home directory
given_name given_name | HomeDirectory HomeDirectory | Vorname aus dem Gast-Tenant First name from the guest's home tenant
onpremisessamaccountname onpremisessamaccountname | Synchronized Synchronized | SAM-Kontoname, falls on-premises synchronisiert SAM account name if synchronised from on-premises
groups groups | ResourceDirectory ResourceDirectory | Gruppen aus dem Ressourcen-Tenant (max. 150)Groups from resource tenant (max 150)
employeeid employeeid | Extension Extension | Benutzerdefiniertes Attribut per Directory Extension Custom attribute via directory extension

ℹ️ Claims Mapping Policy

ClaimsMappingPolicy-Objekte können per PowerShell erstellt und ServicePrincipals zugewiesen werden, um SAML- und JWT-Tokens für Gastbenutzer anzupassen.ClaimsMappingPolicy objects can be created via PowerShell and assigned to service principals to customise SAML and JWT tokens for guest users.

## Gastbenutzer-Lebenszyklus & Access Reviews Guest User Lifecycle & Access Reviews

Microsoft Entra Entitlement Management und Access Reviews helfen, den Lebenszyklus von Gastbenutzern zu automatisieren.Microsoft Entra Entitlement Management and Access Reviews help automate the lifecycle of guest users.

Phase Phase | Mechanismus Mechanism | Automatisierung Automation
--- | --- | ---
Einladung Invitation | B2B Invitation API / Access Package B2B Invitation API / Access Package | Automatische E-Mail-Einladung Automatic email invitation
Onboarding Onboarding | Self-service sign-up user flow Self-service sign-up user flow | Attribut-Erfassung bei Anmeldung Attribute collection at sign-up
Zugriffsprüfung Access review | Entra Access Reviews Entra Access Reviews | Quartalsmäßige Sponsor-Überprüfung Quarterly sponsor review
Ablauf Expiry | Access Package Expiry Policy Access Package Expiry Policy | Automatische Entfernung nach Ablauf Automatic removal on expiry
Offboarding Offboarding | Lifecycle Workflow / Graph API Lifecycle Workflow / Graph API | Konto-Deaktivierung und Löschung Account disable and deletion

## Überwachung externer Benutzer Monitoring External Users

KQL-Abfragen im Log Analytics Workspace ermöglichen die gezielte Überwachung von Gastbenutzer-Aktivitäten.KQL queries in Log Analytics Workspace enable targeted monitoring of guest user activities.

KQL

    // Gastbenutzer-Anmeldungen der letzten 7 Tage
    SigninLogs
    | where TimeGenerated > ago(7d)
    | where UserType == "Guest"
    | summarize SigninCount=count() by UserPrincipalName, AppDisplayName, ResultType
    | where ResultType != "0"
    | order by SigninCount desc

    // Einladungen und Einlösungen
    AuditLogs
    | where TimeGenerated > ago(30d)
    | where OperationName in ("Invite external user", "Redeem external user invite")
    | project TimeGenerated, OperationName, InitiatedBy, TargetResources
    | order by TimeGenerated desc

## Cross-Tenant-Synchronisation Cross-Tenant Synchronisation

Cross-Tenant Sync automatisiert das Erstellen, Aktualisieren und Löschen von B2B-Benutzern zwischen Unternehmenstenant.Cross-Tenant Sync automates the creation, update, and deletion of B2B users between corporate tenants.

⚠️ Lizenzanforderung Licence Requirement

Cross-Tenant Sync erfordert Microsoft Entra ID P1 oder P2 im Quell-Tenant. Im Ziel-Tenant genügen Free-Lizenzen für die synchronisierten Benutzer.Cross-Tenant Sync requires Microsoft Entra ID P1 or P2 in the source tenant. In the target tenant, Free licences suffice for the synchronised users.

Schritt Step | Quell-Tenant Source Tenant | Ziel-Tenant Target Tenant
--- | --- | ---
1 1 | Cross-Tenant Sync Konfiguration erstellen Create cross-tenant sync configuration | Eingehende Synchronisation aktivieren Enable inbound synchronisation
2 2 | Benutzerbereich (Scope) definieren Define user scope | Ziel-Tenant-ID genehmigen Approve source tenant ID
3 3 | Attribut-Mapping konfigurieren Configure attribute mapping | Benutzer erscheinen als B2B-Member Users appear as B2B members
4 4 | Synchronisations-Job starten Start synchronisation job | Automatische Aktualisierung alle 40 Min.Automatic update every 40 min

## Verwandte Seiten Related pages

- B2B (klassische Referenz)B2B (classic reference)
- Conditional Access Conditional Access
- Governance & Lifecycle Governance & Lifecycle
- Authentifizierungsprotokolle Authentication Protocols
- Monitoring & Audit Monitoring & Audit