Always Encrypted Azure Key Vault Support (#934)

Add support for running queries that require a decryption key from Azure Key Vault when using Always Encrypted.
This commit is contained in:
Jeff Trimmer
2020-03-19 12:48:05 -07:00
committed by GitHub
parent 9ea076e51d
commit 6920c34570
5 changed files with 78 additions and 2 deletions

View File

@@ -0,0 +1,50 @@
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
namespace Microsoft.SqlTools.ServiceLayer.Connection.Contracts
{
class RequestSecurityTokenParams
{
/// <summary>
/// Gets or sets the address of the authority to issue token.
/// </summary>
public string Authority { get; set; }
/// <summary>
/// Gets or sets the provider that indicates the type of linked account to query.
/// </summary>
public string Provider { get; set; }
/// <summary>
/// Gets or sets the identifier of the target resource that is the recipient of the requested token.
/// </summary>
public string Resource { get; set; }
/// <summary>
/// Gets or sets the scope of the authentication request.
/// </summary>
public string Scope { get; set; }
}
class RequestSecurityTokenResponse
{
/// <summary>
/// Gets or sets the key that uniquely identifies a particular linked account.
/// </summary>
public string AccountKey { get; set; }
/// <summary>
/// Gets or sets the access token.
/// </summary>
public string Token { get; set; }
}
/// <summary>
/// SecurityToken Request mapping entry
/// </summary>
class SecurityTokenRequest
{
public static readonly
RequestType<RequestSecurityTokenParams, RequestSecurityTokenResponse> Type =
RequestType<RequestSecurityTokenParams, RequestSecurityTokenResponse>.Create("account/securityTokenRequest");
}
}