Share via


KeyVaultAuthenticator Class

Definition

Base class for any Azure Key Vault authentication provider. This is responsible for logging into Azure, obtaining access keys and returning to the caller. Notes: Only one provider is allowed per process, with the first to register being the successful provider. In order to support DacServices and related APIs being used in multiple UI tools and the SqlPackage command line the binding to Azure Authentication DLLs is loosely coupled to the core Dac Framework using MEF. A default provider is available for use in SqlPackage and other command line scenarios, supporting basic credential based authentication. This can be overridden in order to integrate with custom authentication pipelines or into your UI application by extending this method and providing an ExportableAttribute with typeof(KeyVaultAuthenticator), a unique ID and high priority

public abstract class KeyVaultAuthenticator : Microsoft.SqlServer.Dac.Extensibility.ExportableBase
type KeyVaultAuthenticator = class
    inherit ExportableBase
Public MustInherit Class KeyVaultAuthenticator
Inherits ExportableBase
Inheritance
KeyVaultAuthenticator

Constructors

KeyVaultAuthenticator()

Properties

DependencyManager (Inherited from ExportableBase)
Metadata (Inherited from ExportableBase)
Status (Inherited from ExportableBase)
Trace (Inherited from ExportableBase)

Methods

AssertTraceEvent(Boolean, TraceEventType, Int32, String) (Inherited from TraceableBase)
AssertTraceEvent(Boolean, TraceEventType, TraceId, String) (Inherited from TraceableBase)
AssertTraceException(Boolean, TraceEventType, Int32, Exception, String) (Inherited from TraceableBase)
AssertTraceException(Boolean, TraceEventType, TraceId, Exception, String) (Inherited from TraceableBase)
DebugTraceEvent(TraceEventType, Int32, String) (Inherited from TraceableBase)
DebugTraceException(TraceEventType, Int32, Exception, String) (Inherited from TraceableBase)
GetService<T>() (Inherited from ExportableBase)
GetService<T>(IExportableMetadata) (Inherited from ExportableBase)
GetToken(String, String, String)

Azure Key Vault authentication callback

InitializeAuthenticator()

Gives the authenticator the opportunity to register with the core AlwaysEncrypted callstack. This is important in scenarios where Interactive authentication is being used and this is the global authenticator to be used in the application

TraceEvent(TraceEventType, Int32, String, Object[]) (Inherited from TraceableBase)
TraceEvent(TraceEventType, TraceId, String, Object[]) (Inherited from TraceableBase)
TraceException(TraceEventType, Int32, Exception, String) (Inherited from TraceableBase)
TraceException(TraceEventType, TraceId, Exception, String) (Inherited from TraceableBase)
UpdateAuthInfo(KeyVaultAuthInfoBase)

Passes a KeyVaultAuthInfoBase object to the KeyVaultAuthenticator, to support scenarios where a user changes authentication method, for instance by logging into a different Azure account

Validate(IList<String>, CancellationToken)

Called before Dac operations that may cause data movement against a table with encrypted columns will occur, for instance deployment of a dacpac

Applies to