Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ entrauth Public

A thin auth layer on top of azidentity, with an opinionated token credential for Azure Terraform providers

License

Notifications You must be signed in to change notification settings

Azure/entrauth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intro

entrauth provides a customizable chained token credential for authenticating to Microsoft Entra ID. Based on this, it contains a sub package aztfauth that provides an opinionated chained token credential, which is meant to be used for Azure Terraform providers.

Credentials

The high level structure of the basic supported credentials are listed below:

Auth
  |
  +--> OAuth2 Client Credential
  |      |
  |      +------ client secret ----------------------> "client-secret"
  |      |
  |      +------ client assertion
  |                    |
  |                    +----- plain assertion -------> "assertion-plain" 
  |                    |
  |                    +----- assertion file --------> "assertion-file" 
  |                    |
  |                    +----- client certificate ----> "client-certificate" 
  |                    |       (build assertion)
  |                    |
  |                    +------ request --------------> "assertion-request"
  |                                                    (Github, AzureDevOps)
  +--> Token Provider
         |
         +------ Azure Managed Identity -------------> "managed-identity"
         |
         +------ Azure CLI delegation ---------------> "azure-cli"
         |
         +------ Azure Developer CLI delegation -----> "azure-dev-cli"

Based on above, the aztfauth provides the following chained token credential:

            "assertion-plain"
                   |
                   v
            "assertion-file"
                   |
                   v
           "assertion-request"
                   |
                   v
    ADOServiceConnectionId == "" ?
                  / \
               y /   \ n
                /     \
           Github    AzureDevOps
                \     /
                 \   /
                  \ /
                   v
            "client-secret"
                   |
                   v
          "client-certificate"
                   |
                   v
           "managed-identity"
                   |
                   v
              "Azure CLI"
                   |
                   v
            "Azure Dev CLI"

Note that each token credential can be enabled/disabled.

About

A thin auth layer on top of azidentity, with an opinionated token credential for Azure Terraform providers

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages