Skip to content

Commit ce54cd0

Browse files
author
mattosaurus
committed
Add configurable tenant ID
1 parent 186a476 commit ce54cd0

File tree

4 files changed

+14
-4
lines changed

4 files changed

+14
-4
lines changed

src/Serilog.Sinks.MSSqlServer/Sinks/MSSqlServer/Dependencies/SinkDependenciesFactory.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ internal static SinkDependencies Create(
2222
sinkOptions?.UseAzureManagedIdentity ?? default,
2323
new AzureManagedServiceAuthenticator(
2424
sinkOptions?.UseAzureManagedIdentity ?? default,
25-
sinkOptions.AzureServiceTokenProviderResource));
25+
sinkOptions.AzureServiceTokenProviderResource,
26+
sinkOptions.AzureTenantId));
2627
var logEventDataGenerator =
2728
new LogEventDataGenerator(columnOptions,
2829
new StandardColumnDataGenerator(columnOptions, formatProvider,

src/Serilog.Sinks.MSSqlServer/Sinks/MSSqlServer/MSSqlServerSinkOptions.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,5 +71,10 @@ internal MSSqlServerSinkOptions(
7171
/// Azure service token provider to be used for Azure Managed Identities
7272
/// </summary>
7373
public string AzureServiceTokenProviderResource { get; set; }
74+
75+
/// <summary>
76+
/// ID of the tenant where the Azure resource exists
77+
/// </summary>
78+
public string AzureTenantId { get; set; }
7479
}
7580
}

src/Serilog.Sinks.MSSqlServer/Sinks/MSSqlServer/Platform/AzureManagedServiceAuthenticator.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ internal class AzureManagedServiceAuthenticator : IAzureManagedServiceAuthentica
88
{
99
private readonly bool _useAzureManagedIdentity;
1010
private readonly string _azureServiceTokenProviderResource;
11+
private readonly string _tenantId;
1112
private readonly AzureServiceTokenProvider _azureServiceTokenProvider;
1213

13-
public AzureManagedServiceAuthenticator(bool useAzureManagedIdentity, string azureServiceTokenProviderResource)
14+
public AzureManagedServiceAuthenticator(bool useAzureManagedIdentity, string azureServiceTokenProviderResource, string tenantId = null)
1415
{
1516
if (useAzureManagedIdentity && string.IsNullOrWhiteSpace(azureServiceTokenProviderResource))
1617
{
@@ -19,6 +20,7 @@ public AzureManagedServiceAuthenticator(bool useAzureManagedIdentity, string azu
1920

2021
_useAzureManagedIdentity = useAzureManagedIdentity;
2122
_azureServiceTokenProviderResource = azureServiceTokenProviderResource;
23+
_tenantId = tenantId;
2224
_azureServiceTokenProvider = new AzureServiceTokenProvider();
2325
}
2426

@@ -29,7 +31,7 @@ public Task<string> GetAuthenticationToken()
2931
return Task.FromResult((string)null);
3032
}
3133

32-
return _azureServiceTokenProvider.GetAccessTokenAsync(_azureServiceTokenProviderResource);
34+
return _azureServiceTokenProvider.GetAccessTokenAsync(_azureServiceTokenProviderResource, _tenantId);
3335
}
3436
}
3537
}

src/Serilog.Sinks.MSSqlServer/Sinks/MSSqlServer/Platform/AzureManagedServiceAuthenticatorStub.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ internal class AzureManagedServiceAuthenticator : IAzureManagedServiceAuthentica
1111
{
1212
private readonly bool _useAzureManagedIdentity;
1313
private readonly string _azureServiceTokenProviderResource;
14+
private readonly string _tenantId;
1415

15-
public AzureManagedServiceAuthenticator(bool useAzureManagedIdentity, string azureServiceTokenProviderResource)
16+
public AzureManagedServiceAuthenticator(bool useAzureManagedIdentity, string azureServiceTokenProviderResource, string tenantId = null)
1617
{
1718
if (useAzureManagedIdentity)
1819
{
@@ -22,6 +23,7 @@ public AzureManagedServiceAuthenticator(bool useAzureManagedIdentity, string azu
2223

2324
_useAzureManagedIdentity = useAzureManagedIdentity;
2425
_azureServiceTokenProviderResource = azureServiceTokenProviderResource;
26+
_tenantId = tenantId;
2527
}
2628

2729
public Task<string> GetAuthenticationToken() => Task.FromResult((string)null);

0 commit comments

Comments
 (0)