Skip to content

Commit

Permalink
Azure data factory: Add AAD support for sql dw and azure sql (#4044)
Browse files Browse the repository at this point in the history
  • Loading branch information
hbzhxying authored and shahabhijeet committed Feb 7, 2018
1 parent 97a6521 commit 3d5f3be
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,25 @@ public AzureSqlDWLinkedService()
/// message are deserialized this collection</param>
/// <param name="connectVia">The integration runtime reference.</param>
/// <param name="description">Linked service description.</param>
/// <param name="servicePrincipalId">The ID of the service principal
/// used to authenticate against Azure SQL Data Warehouse. Type: string
/// (or Expression with resultType string).</param>
/// <param name="servicePrincipalKey">The key of the service principal
/// used to authenticate against Azure SQL Data Warehouse.</param>
/// <param name="tenant">The name or ID of the tenant to which the
/// service principal belongs. Type: string (or Expression with
/// resultType string).</param>
/// <param name="encryptedCredential">The encrypted credential used for
/// authentication. Credentials are encrypted using the integration
/// runtime credential manager. Type: string (or Expression with
/// resultType string).</param>
public AzureSqlDWLinkedService(SecretBase connectionString, IDictionary<string, object> additionalProperties = default(IDictionary<string, object>), IntegrationRuntimeReference connectVia = default(IntegrationRuntimeReference), string description = default(string), object encryptedCredential = default(object))
public AzureSqlDWLinkedService(SecretBase connectionString, IDictionary<string, object> additionalProperties = default(IDictionary<string, object>), IntegrationRuntimeReference connectVia = default(IntegrationRuntimeReference), string description = default(string), object servicePrincipalId = default(object), SecretBase servicePrincipalKey = default(SecretBase), object tenant = default(object), object encryptedCredential = default(object))
: base(additionalProperties, connectVia, description)
{
ConnectionString = connectionString;
ServicePrincipalId = servicePrincipalId;
ServicePrincipalKey = servicePrincipalKey;
Tenant = tenant;
EncryptedCredential = encryptedCredential;
CustomInit();
}
Expand All @@ -63,6 +74,29 @@ public AzureSqlDWLinkedService()
[JsonProperty(PropertyName = "typeProperties.connectionString")]
public SecretBase ConnectionString { get; set; }

/// <summary>
/// Gets or sets the ID of the service principal used to authenticate
/// against Azure SQL Data Warehouse. Type: string (or Expression with
/// resultType string).
/// </summary>
[JsonProperty(PropertyName = "typeProperties.servicePrincipalId")]
public object ServicePrincipalId { get; set; }

/// <summary>
/// Gets or sets the key of the service principal used to authenticate
/// against Azure SQL Data Warehouse.
/// </summary>
[JsonProperty(PropertyName = "typeProperties.servicePrincipalKey")]
public SecretBase ServicePrincipalKey { get; set; }

/// <summary>
/// Gets or sets the name or ID of the tenant to which the service
/// principal belongs. Type: string (or Expression with resultType
/// string).
/// </summary>
[JsonProperty(PropertyName = "typeProperties.tenant")]
public object Tenant { get; set; }

/// <summary>
/// Gets or sets the encrypted credential used for authentication.
/// Credentials are encrypted using the integration runtime credential
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,25 @@ public AzureSqlDatabaseLinkedService()
/// message are deserialized this collection</param>
/// <param name="connectVia">The integration runtime reference.</param>
/// <param name="description">Linked service description.</param>
/// <param name="servicePrincipalId">The ID of the service principal
/// used to authenticate against Azure SQL Database. Type: string (or
/// Expression with resultType string).</param>
/// <param name="servicePrincipalKey">The key of the service principal
/// used to authenticate against Azure SQL Database.</param>
/// <param name="tenant">The name or ID of the tenant to which the
/// service principal belongs. Type: string (or Expression with
/// resultType string).</param>
/// <param name="encryptedCredential">The encrypted credential used for
/// authentication. Credentials are encrypted using the integration
/// runtime credential manager. Type: string (or Expression with
/// resultType string).</param>
public AzureSqlDatabaseLinkedService(SecretBase connectionString, IDictionary<string, object> additionalProperties = default(IDictionary<string, object>), IntegrationRuntimeReference connectVia = default(IntegrationRuntimeReference), string description = default(string), object encryptedCredential = default(object))
public AzureSqlDatabaseLinkedService(SecretBase connectionString, IDictionary<string, object> additionalProperties = default(IDictionary<string, object>), IntegrationRuntimeReference connectVia = default(IntegrationRuntimeReference), string description = default(string), object servicePrincipalId = default(object), SecretBase servicePrincipalKey = default(SecretBase), object tenant = default(object), object encryptedCredential = default(object))
: base(additionalProperties, connectVia, description)
{
ConnectionString = connectionString;
ServicePrincipalId = servicePrincipalId;
ServicePrincipalKey = servicePrincipalKey;
Tenant = tenant;
EncryptedCredential = encryptedCredential;
CustomInit();
}
Expand All @@ -65,6 +76,29 @@ public AzureSqlDatabaseLinkedService()
[JsonProperty(PropertyName = "typeProperties.connectionString")]
public SecretBase ConnectionString { get; set; }

/// <summary>
/// Gets or sets the ID of the service principal used to authenticate
/// against Azure SQL Database. Type: string (or Expression with
/// resultType string).
/// </summary>
[JsonProperty(PropertyName = "typeProperties.servicePrincipalId")]
public object ServicePrincipalId { get; set; }

/// <summary>
/// Gets or sets the key of the service principal used to authenticate
/// against Azure SQL Database.
/// </summary>
[JsonProperty(PropertyName = "typeProperties.servicePrincipalKey")]
public SecretBase ServicePrincipalKey { get; set; }

/// <summary>
/// Gets or sets the name or ID of the tenant to which the service
/// principal belongs. Type: string (or Expression with resultType
/// string).
/// </summary>
[JsonProperty(PropertyName = "typeProperties.tenant")]
public object Tenant { get; set; }

/// <summary>
/// Gets or sets the encrypted credential used for authentication.
/// Credentials are encrypted using the integration runtime credential
Expand Down
5 changes: 5 additions & 0 deletions src/SDKs/DataFactory/Management.DataFactory/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Changelog for the Azure Data Factory V2 .NET SDK

## Version 0.5.0-preview

### Feature Additions
* Enable AAD auth via service principal and management service identity for Azure SQL DB/DW linked service types

## Version 0.4.0-preview

### Feature Additions
Expand Down
6 changes: 3 additions & 3 deletions src/SDKs/_metadata/datafactory_resource-manager.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
2018-01-29 06:12:53 UTC
2018-02-02 07:13:12 UTC

1) azure-rest-api-specs repository information
GitHub user: Azure
Branch: master
Commit: 6af881374aa0fa4af3c037b2fef15a2f15d0f42c
Commit: f9ec24015ab77a2d7a1dfd33ddd208824459a7ca

2) AutoRest information
Requested version: latest
Bootstrapper version: C:\Users\dashe\AppData\Roaming\npm `-- [email protected]
Bootstrapper version: C:\Program Files\nodejs `-- [email protected]
Latest installed version:

0 comments on commit 3d5f3be

Please sign in to comment.