2015-03-18 27 views
5

Có cách nào hạn chế cho người thuê nhất định khi sử dụng các ứng dụng nhiều người thuê trên Azure AD không?Azure Active Directory | Ứng dụng nhiều người thuê nhà

Có lẽ tôi đã hiểu lầm toàn bộ nhưng tôi nhận ra rằng người dùng của người thuê nhà khác có thể đăng nhập vào ứng dụng của tôi sau khi đồng ý và tôi không thể tìm cách hạn chế đăng nhập đó vào nhóm người thuê tôi tin tưởng.

Trả lời

4

Hiện tại chúng tôi không có thuộc tính cấu hình ứng dụng để ánh xạ tới danh sách cho phép người thuê nhà cho ứng dụng nhiều người thuê.

Việc bạn có thể làm là tạo khả năng này vào ứng dụng của mình - mã thông báo auth/JWT chứa tenantID (tid) làm xác nhận quyền sở hữu. Bạn chỉ có thể ủy quyền truy cập cho người thuê đã biết trong danh sách cho phép của ứng dụng.

Vui lòng cho chúng tôi biết nếu đây là tính năng mà bạn muốn có thể định cấu hình thông qua trang cấu hình ứng dụng (như trong cổng quản lý Azure)? Ngoài ra nó sẽ là tuyệt vời để hiểu kịch bản của bạn ở đây.

Hope this helps,

+1

Hi Dan, cảm ơn câu trả lời. Tôi có thể thực hiện xác thực đó trên mã của mình nhưng người dùng vẫn có thể đăng ký với tư cách là người dùng ứng dụng của tôi trên người thuê nhà của tôi. Tôi đã thử nghiệm nó. Có cách nào để tránh sự đồng ý của người dùng trên mã của tôi không? Tôi lấy mẫu này làm tham chiếu: https: //github.com/AzureADSamples/WebApp-MultiTenant-OpenIdConnect-DotNet. Sẽ rất tuyệt khi có một tùy chọn trên trang cấu hình ứng dụng –

+0

Đúng vậy. Không có tính năng mới, chúng tôi không thể ngăn người dùng đồng ý đăng nhập vào ứng dụng nhiều người thuê của bạn. Kiểm soát quyền truy cập sẽ cần phải xảy ra như là một phần của việc cho phép người dùng trong ứng dụng của bạn. Tôi chắc chắn sẽ thêm yêu cầu tính năng tại đây Rodrigo. Cảm ơn vì bạn đã phản hồi. –

+0

Tuyệt vời! Cảm ơn Dan! –

2

Trong khi tính năng này không có sẵn trong Azure AD hôm nay, bạn có thể thực hiện kịch bản này nếu bạn thêm Auth0 trong hỗn hợp. Auth0 hỗ trợ multi-tenant Azure AD applications as a connection cho các ứng dụng của bạn và using the rules engine bạn có thể viết quy tắc để hạn chế quyền truy cập vào một ứng dụng cụ thể dựa trên đối tượng thuê Azure AD.

Dưới đây là một ví dụ về cách như một quy tắc (mà chạy trong các đường ống xác thực Auth0, sau khi người dùng được chứng thực trong Azure AD và trước khi người dùng có thể truy cập vào ứng dụng của bạn):

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); 
} 

Disclaimer: Tôi làm việc cho Auth0.

Các vấn đề liên quan