2015-03-18 16 views
5

Gibt es eine Möglichkeit, bei der Verwendung von Multi-Tenant-Anwendungen auf Azure AD auf bestimmte Mandanten zu beschränken?Azure Active Directory | Multi-Tenant-Anwendung

Vielleicht habe ich die ganze Sache missverstanden, aber ich merke, dass ein Benutzer eines anderen Mieters sich in meine Anwendung einloggen kann, nachdem ich seine Zustimmung gegeben habe und ich keine Möglichkeit gefunden habe, diese Anmeldung auf eine Gruppe von Mietern zu beschränken.

Antwort

4

Derzeit verfügen wir nicht über eine Anwendungskonfigurationseigenschaft, die einer Tenant-Zulassungsliste für eine mandantenfähige Anwendung zugeordnet ist.

Was Sie tun können, ist diese Fähigkeit in Ihre Anwendung zu bauen - das auth/JWT-Token enthält die TenantID (tid) als Anspruch. Sie können den Zugriff nur für bekannte Mandanten in der Genehmigungsliste Ihrer App autorisieren.

Bitte lassen Sie uns wissen, ob dies eine Funktion ist, die Sie über eine Anwendungskonfigurationsseite (wie im azure Management Portal) konfigurieren können? Es wäre auch schön, hier Ihr Szenario zu verstehen.

hoffe, das hilft,

+1

Hallo Dan, danke für die Antwort. Ich konnte diese Überprüfung für meinen Code durchführen, aber der Benutzer konnte sich weiterhin als Benutzer meiner App bei meinem Mandanten registrieren. Ich habe es getestet. Gibt es eine Möglichkeit, die Zustimmung des Benutzers zu meinem Code zu vermeiden? Ich nehme dieses Beispiel als Referenz: https: //github.com/AzureADSamples/WebApp-MultiTenant-OpenIdConnect-DotNet. Es wäre großartig, eine Option auf der Anwendungskonfigurationsseite zu haben. –

+0

Das ist richtig. Ohne eine neue Funktion können wir nicht verhindern, dass Nutzer sich zu Ihrer mandantenfähigen App anmelden. Die Zugriffskontrolle muss im Rahmen der Autorisierung des Nutzers in Ihrer App erfolgen. Ich werde hier sicher eine Feature-Anfrage hier Rodrigo hinzufügen. Danke für die Rückmeldung. –

+0

Großartig! Danke Dan! –

2

Während diese Funktion in Azure AD heute nicht verfügbar ist, können Sie dieses Szenario implementieren, wenn Sie Auth0 in den Mix. Auth0 unterstützt multi-tenant Azure AD applications as a connection für Ihre Anwendungen und using the rules engine Sie können Regeln schreiben, um den Zugriff auf eine bestimmte Anwendung basierend auf dem Azure AD-Mandanten zu beschränken.

Hier ist ein Beispiel dafür, wie eine solche Regel (die in der Auth0 Authentifizierungs-Pipeline verläuft, nachdem der Benutzer in Azure AD und vor dem Benutzer authentifiziert Ihre Anwendung zugreifen können):

function (user, context, callback) { 
    if(context.clientName !== 'NameOfTheAppWithWhiteList'){ 

     var whitelist = [ 'tenantId1', 'tenantId2' ]; //authorized Azure AD tenants. 
     var userHasAccess = whitelist.some(
     function (tenantId) { 
      return tenantId === user.tenantid; 
     }); 

     if (!userHasAccess) { 
     return callback(new UnauthorizedError('Access denied.')); 
     } 
    } 

    callback(null, user, context); 
} 

Haftungsausschluss: I arbeite für Auth0.

Verwandte Themen