Coder Social home page Coder Social logo

azure-samples / prototype-active-directory-dotnet-web-ad-complex-org-utility Goto Github PK

View Code? Open in Web Editor NEW
8.0 20.0 6.0 5.89 MB

Web console, on-prem powershell, and SignalR, working in concert to facilitate complex organization user management and integration with Azure Active Directory

License: MIT License

C# 15.92% CSS 2.71% PowerShell 7.63% Batchfile 0.01% ASP 0.01% JavaScript 73.71%
azure signalr active-directory azure-active-directory complex-org sts

prototype-active-directory-dotnet-web-ad-complex-org-utility's Introduction

Azure Active Directory/ASP.Net MVC Complex Organization Utility

Sample/Prototype utility facilitating automated access to a headquarters Azure AD and on-premises resources from affiliated companies

Quick Start

Documentation

Detailed step-by-step deployment instructions

Configuration instructions

Setting up a demo

Details

  • Creates a cloud-based management portal and database for staging of user accounts from one or more on-premises Active Directory forests, for creation in a master AD
    • The Azure AD administrator establishes a verified domain name in the master Azure AD, one for each remote site's UPN suffixes
    • "Master" accounts are created and then synchronized to Azure Active Directory via the Azure Active Directory Connect
    • The "immutable id" that is synchronized with Azure AD is then updated back in the staging database
    • The originating AD picks this record up and records the immutable id in it's local AD, using the "mS-DS-ConsistencyGuid"
    • Federation is then manually configured (via PowerShell) for this remote AD to the master Azure AD tenant, federating with associated domain previously established by HQ. Azure Active Directory Connect is NOT configured at these remote sites.
    • This federation is enabled on behalf of all remote sites via a central custom STS. This STS communicates with each remote site via a SignalR backplane running on the administrative portal. This real-time socket connection facilitates pass-through authentication directly from the STS to the appropriate on-prem AD.
    • The result of this orchestration is a central location to manage and authorize user identities across a distributed network of affiliated companies. Users credentials are managed in their local Active Directory, but they maintain cloud access for SaaS applications via the headquarters Azure AD
    • Additionally, the accounts created in the on-premises headquarters AD enable affiliate users to access on-premises applications hosted locally at HQ, and authorized against the HQ AD, by leveraging Azure Application Proxy
  • Leverages Azure Cosmos DB. For development, a downloadable emulator is available: https://aka.ms/documentdb-emulator
  • ARM template deploys the following:
    • Azure Web App
    • Azure Cosmos DB
  • Requires the following (see step-by-step deployment instructions above for details):
    1. Azure AD application with the following:
      • Sign-in permissions
    2. Optional - custom DNS name and SSL cert

As-Is Code

This code is made available as a sample to demonstrate a potential strategy for managing and integrating multiple disconnected directories with Azure Active Directory. It should be customized by your dev team or a partner, and should be reviewed before being deployed in a production scenario. As an end to end system, it should be considered ALPHA code.

Contributing

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

prototype-active-directory-dotnet-web-ad-complex-org-utility's People

Contributors

bretthackermsft avatar microsoftopensource avatar msftgits avatar pataltimore avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.