Skip to content

Conversation

cheenamalhotra
Copy link
Member

@cheenamalhotra cheenamalhotra commented Mar 25, 2021

Phase 1 changes

  • Add new dependency on Azure.Identity v1.3.0.
  • Use Azure.Identity library to acquire token using ManagedIdentityCredential() for Managed Identity based authentication modes (ActiveDirectoryMSI and ActiveDirectoryManagedIdentity)
  • Merge "AzureManagedIdentityAuthenticationProvider" into "ActiveDirectoryAuthenticationProvider" to support MSI modes from the same class "ActiveDirectoryAuthenticationProvider"
  • Transition below authentication modes to start using Azure.Identity to acquire access token:
    • ActiveDirectoryManagedIdentity > ManagedIdentityCredential()
    • ActiveDirectoryMSI > ManagedIdentityCredential()
    • ActiveDirectoryServicePrincipal > ClientSecretCredential()
      • New addition: Tenant id (required) - uses default from database info
  • Accept "Client Id" for User-Assigned Managed Identity as Azure.Identity doesn't support "Object Id"
    • Use existing "UserId" connection property to accept "Client Id" instead of "Object Id' starting with v3.0
  • Pass "Connect Timeout" from SqlConnection property to SqlAuthenticationParameters to provide cancellation token to all Async calls in order to cancel token acquire request after "timeout" milliseconds.
    • For Interactive Authentication on .NET Core: Cancellation token cancels request after 3 mins [as of current design]

Public Observations:

  • 1 Breaking change:
    • "User Id" now accepts "Client Id" instead of "Object Id" for User-Assigned Managed Identity.
      • It was initially designed to keep the behavior in sync with other SQL drivers, but Azure.Identity doesn't support Object Id
  • 1 new Public API (read only)
    • SqlAuthenticationParameters.ConnectionTimeout
  • 1 new Dependency on all supported platforms:
    • Azure.Identity v1.3.0

@cheenamalhotra cheenamalhotra added Public API 🆕 Issues/PRs that introduce new APIs to the driver. Breaking Change 🔨 Issues/PRs that are related with breaking API changes in the driver. labels Mar 25, 2021
@cheenamalhotra cheenamalhotra added this to the 3.0.0-preview2 milestone Mar 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaking Change 🔨 Issues/PRs that are related with breaking API changes in the driver. Public API 🆕 Issues/PRs that introduce new APIs to the driver.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Integrate with Azure.Identity
4 participants