Git Product home page Git Product logo

splice's Introduction

Splice

CLI Tests SpliceD Tests

Splice is an infrastructure service which allows Windows instances to join a Microsoft Active Directory domain without direct line of sight to a domain controller. It also supports flexible user auth and complex join request validation.

Overview

In a traditional Windows domain, all clients must be "domain joined" during (or after) imaging. The join establishes trust between the client and the domain controllers, and can be used as the basis for long term remote management of the device via a VPN, Microsoft DirectAccess, etc.

The join introduces a potential circular dependency for remote devices:

  • Trust must preceed remote access.
  • Access is required to establish trust.

The most basic solution is to always join clients on a network segment with direct connectivity to the business domain, but this introduces limitations. It's normally undesirable to expose domain controllers beyond the network perimeter, and it may be logistically or functionally difficult to physically connect every client to the domain network.

Splice addresses this dilemma by providing an intermediary broker for the domain join operation. The Splice infrastructure spans the network perimeter, enabling join requests to enter the network externally, and permits establishing domain trust without ever requiring the client to directly contact a domain controller. Once the join is complete, a management VPN can take over responsibility for the device's lifecycle.

Documentation

See the Project Documentation for more information.

Disclaimer

This is not an official Google product.

splice's People

Contributors

alexherrero avatar dependabot[bot] avatar itsmattl avatar tseknet avatar

Stargazers

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

Watchers

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

splice's Issues

NetCreateProvisioningPackage vs NetProvisionComputerAccount

Hello,

Is there a benefit to migrating from NetProvisionComputerAccount to NetCreateProvisioningPackage ?

We used splice internally as a way to domain join after imaging with Glazier, but we needed the join to set up enough PKI & GPO related stuff that the machines could drop onto an AlwaysOn VPN Device Tunnel once they reboot.

NetCreateProvisioningPackage allows you to bundle PKI (including a machine certificate generated & signed as the package is created) and Group Policy, but is also backwards compatible with NetRequestOfflineDomainJoin according to the Microsoft docs.

Both NetCreateProvisioningPackage and NetRequestProvisioningPackageInstall implemented here if it helps:

https://github.com/iamacarpet/go-win64api/blob/master/provisioning.go

Thanks so much for your great project, we'd have never even known this was possible without it :).

Regards,
iamacarpet

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.