From 05369a7aef0accec103cc45c4aea2110f1bfcc9c Mon Sep 17 00:00:00 2001 From: Mikey Henderson <4452096+fiddlermikey@users.noreply.github.com> Date: Mon, 3 Jun 2024 16:19:45 -0700 Subject: [PATCH] Release 3.1 (#12) * chore(clientcertauth): Implement client certificate authentication * fix(deps): Revert main Azure App Registration and Enterprise Application Orchestrator extension .NET project to .NET 6 from .NET 8. * chore(deps): Revert Keyfactor.Logging --------- Co-authored-by: Keyfactor Co-authored-by: Hayden Roszell --- .../AzureApp-advanced-store-type-dialog.png | Bin 41356 -> 0 bytes .../AzureApp-basic-store-type-dialog.png | Bin 53346 -> 0 bytes ...ureApp-custom-fields-store-type-dialog.png | Bin 33050 -> 0 bytes .../AzureSP-advanced-store-type-dialog.png | Bin 41358 -> 0 bytes .../AzureSP-basic-store-type-dialog.png | Bin 54019 -> 0 bytes ...zureSP-custom-fields-store-type-dialog.png | Bin 33050 -> 0 bytes ...rpriseApplicationOrchestrator.Tests.csproj | 2 +- .../Client.cs | 75 ++++-- .../FakeClient.cs | 8 + .../IntegrationTestingFact.cs | 26 ++ .../JobClientBuilder.cs | 92 ++++++- ...reEnterpriseApplicationOrchestrator.csproj | 12 +- .../Client/GraphClient.cs | 28 +- .../Client/IAzureGraphClient.cs | 2 + .../GraphJobClientBuilder.cs | 126 ++++++++- CHANGELOG.md | 6 + README.md | 245 +++++++++++++++++- docs/azureapp.md | 119 +++++++-- docs/azuresp.md | 118 +++++++-- docsource/azureapp.md | 89 +++++++ docsource/azuresp.md | 88 +++++++ .../AzureApp-advanced-store-type-dialog.png | Bin 0 -> 41691 bytes .../AzureApp-basic-store-type-dialog.png | Bin 0 -> 54648 bytes ...ureApp-custom-fields-store-type-dialog.png | Bin 0 -> 40207 bytes .../AzureSP-advanced-store-type-dialog.png | Bin 0 -> 41691 bytes .../AzureSP-basic-store-type-dialog.png | Bin 0 -> 54938 bytes ...zureSP-custom-fields-store-type-dialog.png | Bin 0 -> 40207 bytes docsource/overview.md | 6 + integration-manifest.json | 64 +++-- readme_source.md | 245 +++++++++++++++++- 30 files changed, 1217 insertions(+), 134 deletions(-) delete mode 100644 .github/images/AzureApp-advanced-store-type-dialog.png delete mode 100644 .github/images/AzureApp-basic-store-type-dialog.png delete mode 100644 .github/images/AzureApp-custom-fields-store-type-dialog.png delete mode 100644 .github/images/AzureSP-advanced-store-type-dialog.png delete mode 100644 .github/images/AzureSP-basic-store-type-dialog.png delete mode 100644 .github/images/AzureSP-custom-fields-store-type-dialog.png create mode 100644 docsource/azureapp.md create mode 100644 docsource/azuresp.md create mode 100644 docsource/images/AzureApp-advanced-store-type-dialog.png create mode 100644 docsource/images/AzureApp-basic-store-type-dialog.png create mode 100644 docsource/images/AzureApp-custom-fields-store-type-dialog.png create mode 100644 docsource/images/AzureSP-advanced-store-type-dialog.png create mode 100644 docsource/images/AzureSP-basic-store-type-dialog.png create mode 100644 docsource/images/AzureSP-custom-fields-store-type-dialog.png create mode 100644 docsource/overview.md diff --git a/.github/images/AzureApp-advanced-store-type-dialog.png b/.github/images/AzureApp-advanced-store-type-dialog.png deleted file mode 100644 index c35554ac2b669f8cf39a2db483dabd38903f1aa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41356 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
Q*`AqT585WZGBSLTQ*R%i~~ropHArgQ)7&c zh+w`OIY=sFk=Wdn_p*gs-Fh$DW=ZhwnT;S3o%0L!LvA}Sl;`-=xxQ$vElDr#?iymX zR!&GfLgy?w#;W%5#lOPu?4(}+J%KcSX!5nV+WU!6$piGi{v&R(wfQl+swA#=lBoKa zF7t6?c|5)0wuo_w9(Zd$z7&3t>v_Q_^>Lj*?QQlZ?aJ;u380;S|K={QGO?Dm2pR)q zm3jTHKsg^qHDBWvo$kwxlg?c3k1~gKr)l=KoNyd7U)&qxQ5~QtI$+gln(j16jkv1A z#WV5aO+X8crzk36AfxD_mCU!xqdr!16y}rlde;9eh4l3%kwTeYeSZg<`Z;0Ik6(

Uzgk4xO7MSgK@rLuHHpV>i^ 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 z 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 - net6.0 + net8.0 enable enable diff --git a/AzureEnterpriseApplicationOrchestrator.Tests/Client.cs b/AzureEnterpriseApplicationOrchestrator.Tests/Client.cs index e2fb0f8..18db671 100644 --- a/AzureEnterpriseApplicationOrchestrator.Tests/Client.cs +++ b/AzureEnterpriseApplicationOrchestrator.Tests/Client.cs @@ -28,8 +28,10 @@ public AzureEnterpriseApplicationOrchestrator_Client() ConfigureLogging(); } - [IntegrationTestingFact] - public void GraphClient_Application_AddGetRemove_ReturnSuccess() + [IntegrationTestingTheory] + [InlineData("clientcert")] + [InlineData("clientsecret")] + public void GraphClient_Application_AddGetRemove_ReturnSuccess(string testAuthMethod) { // Arrange string certName = "AppTest" + Guid.NewGuid().ToString()[..6]; @@ -37,13 +39,22 @@ public void GraphClient_Application_AddGetRemove_ReturnSuccess() string b64Cert = Convert.ToBase64String(ssCert.Export(X509ContentType.Cert)); IntegrationTestingFact env = new(); - - IAzureGraphClient client = new GraphClient.Builder() + IAzureGraphClientBuilder clientBuilder = new GraphClient.Builder() .WithTenantId(env.TenantId) .WithApplicationId(env.ApplicationId) - .WithClientSecret(env.ClientSecret) - .WithTargetApplicationId(env.TargetApplicationId) - .Build(); + .WithTargetApplicationId(env.TargetApplicationId); + + if (testAuthMethod == "clientcert") + { + clientBuilder.WithClientSecret(env.ClientSecret); + } + else + { + var cert = X509Certificate2.CreateFromPemFile(env.ClientCertificatePath); + clientBuilder.WithClientCertificate(cert); + } + + IAzureGraphClient client = clientBuilder.Build(); // Step 1 - Add the certificate to the Application @@ -89,8 +100,10 @@ public void GraphClient_Application_AddGetRemove_ReturnSuccess() Assert.False(exists); } - [IntegrationTestingFact] - public void GraphClient_ServicePrincipal_AddGetRemove_ReturnSuccess() + [IntegrationTestingTheory] + [InlineData("clientcert")] + [InlineData("clientsecret")] + public void GraphClient_ServicePrincipal_AddGetRemove_ReturnSuccess(string testAuthMethod) { // Arrange const string password = "passwordpasswordpassword"; @@ -99,13 +112,22 @@ public void GraphClient_ServicePrincipal_AddGetRemove_ReturnSuccess() string b64PfxSslCert = Convert.ToBase64String(ssCert.Export(X509ContentType.Pfx, password)); IntegrationTestingFact env = new(); - - IAzureGraphClient client = new GraphClient.Builder() + IAzureGraphClientBuilder clientBuilder = new GraphClient.Builder() .WithTenantId(env.TenantId) .WithApplicationId(env.ApplicationId) - .WithClientSecret(env.ClientSecret) - .WithTargetApplicationId(env.TargetApplicationId) - .Build(); + .WithTargetApplicationId(env.TargetApplicationId); + + if (testAuthMethod == "clientcert") + { + clientBuilder.WithClientSecret(env.ClientSecret); + } + else + { + var cert = X509Certificate2.CreateFromPemFile(env.ClientCertificatePath); + clientBuilder.WithClientCertificate(cert); + } + + IAzureGraphClient client = clientBuilder.Build(); // Step 1 - Add the certificate to the Service Principal (and set it as the preferred SAML signing certificate) @@ -152,8 +174,10 @@ public void GraphClient_ServicePrincipal_AddGetRemove_ReturnSuccess() Assert.False(exists); } - [IntegrationTestingFact] - public void GraphClient_DiscoverApplicationIds_ReturnSuccess() + [IntegrationTestingTheory] + [InlineData("clientcert")] + [InlineData("clientsecret")] + public void GraphClient_DiscoverApplicationIds_ReturnSuccess(string testAuthMethod) { // Arrange const string password = "passwordpasswordpassword"; @@ -162,13 +186,22 @@ public void GraphClient_DiscoverApplicationIds_ReturnSuccess() string b64PfxSslCert = Convert.ToBase64String(ssCert.Export(X509ContentType.Pfx, password)); IntegrationTestingFact env = new(); - - IAzureGraphClient client = new GraphClient.Builder() + IAzureGraphClientBuilder clientBuilder = new GraphClient.Builder() .WithTenantId(env.TenantId) .WithApplicationId(env.ApplicationId) - .WithClientSecret(env.ClientSecret) - .WithTargetApplicationId(env.TargetApplicationId) - .Build(); + .WithTargetApplicationId(env.TargetApplicationId); + + if (testAuthMethod == "clientcert") + { + clientBuilder.WithClientSecret(env.ClientSecret); + } + else + { + var cert = X509Certificate2.CreateFromPemFile(env.ClientCertificatePath); + clientBuilder.WithClientCertificate(cert); + } + + IAzureGraphClient client = clientBuilder.Build(); // Act OperationResult> operationResult = client.DiscoverApplicationIds(); diff --git a/AzureEnterpriseApplicationOrchestrator.Tests/FakeClient.cs b/AzureEnterpriseApplicationOrchestrator.Tests/FakeClient.cs index ec28ed3..e8be1d1 100644 --- a/AzureEnterpriseApplicationOrchestrator.Tests/FakeClient.cs +++ b/AzureEnterpriseApplicationOrchestrator.Tests/FakeClient.cs @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +using System.Security.Cryptography.X509Certificates; using AzureEnterpriseApplicationOrchestrator.Client; using Keyfactor.Logging; using Keyfactor.Orchestrators.Common.Enums; @@ -31,6 +32,7 @@ public class FakeBuilder : IAzureGraphClientBuilder public string? _targetApplicationId { get; set; } public string? _applicationId { get; set; } public string? _clientSecret { get; set; } + public X509Certificate2? _clientCertificate { get; set; } public string? _azureCloudEndpoint { get; set; } public IAzureGraphClientBuilder WithTenantId(string tenantId) @@ -57,6 +59,12 @@ public IAzureGraphClientBuilder WithClientSecret(string clientSecret) return this; } + public IAzureGraphClientBuilder WithClientCertificate(X509Certificate2 clientCertificate) + { + _clientCertificate = clientCertificate; + return this; + } + public IAzureGraphClientBuilder WithAzureCloud(string azureCloud) { _azureCloudEndpoint = azureCloud; diff --git a/AzureEnterpriseApplicationOrchestrator.Tests/IntegrationTestingFact.cs b/AzureEnterpriseApplicationOrchestrator.Tests/IntegrationTestingFact.cs index 6bdd65d..ee6e960 100644 --- a/AzureEnterpriseApplicationOrchestrator.Tests/IntegrationTestingFact.cs +++ b/AzureEnterpriseApplicationOrchestrator.Tests/IntegrationTestingFact.cs @@ -19,6 +19,7 @@ public sealed class IntegrationTestingFact : FactAttribute public string TenantId { get; private set; } public string ApplicationId { get; private set; } public string ClientSecret { get; private set; } + public string ClientCertificatePath { get; private set; } public string TargetApplicationId { get; private set; } @@ -27,6 +28,7 @@ public IntegrationTestingFact() TenantId = Environment.GetEnvironmentVariable("AZURE_TENANT_ID") ?? string.Empty; ApplicationId = Environment.GetEnvironmentVariable("AZURE_CLIENT_ID") ?? string.Empty; ClientSecret = Environment.GetEnvironmentVariable("AZURE_CLIENT_SECRET") ?? string.Empty; + ClientCertificatePath = Environment.GetEnvironmentVariable("AZURE_PATH_TO_CLIENT_CERTIFICATE") ?? string.Empty; TargetApplicationId = Environment.GetEnvironmentVariable("AZURE_TARGET_APPLICATION_ID") ?? string.Empty; @@ -37,3 +39,27 @@ public IntegrationTestingFact() } } +public sealed class IntegrationTestingTheory : TheoryAttribute +{ + public string TenantId { get; private set; } + public string ApplicationId { get; private set; } + public string ClientSecret { get; private set; } + public string ClientCertificatePath { get; private set; } + + public string TargetApplicationId { get; private set; } + + public IntegrationTestingTheory() + { + TenantId = Environment.GetEnvironmentVariable("AZURE_TENANT_ID") ?? string.Empty; + ApplicationId = Environment.GetEnvironmentVariable("AZURE_CLIENT_ID") ?? string.Empty; + ClientSecret = Environment.GetEnvironmentVariable("AZURE_CLIENT_SECRET") ?? string.Empty; + ClientCertificatePath = Environment.GetEnvironmentVariable("AZURE_PATH_TO_CLIENT_CERTIFICATE") ?? string.Empty; + + TargetApplicationId = Environment.GetEnvironmentVariable("AZURE_TARGET_APPLICATION_ID") ?? string.Empty; + + if (string.IsNullOrEmpty(TenantId) || string.IsNullOrEmpty(ApplicationId) || string.IsNullOrEmpty(ClientSecret) || string.IsNullOrEmpty(TargetApplicationId)) + { + Skip = "Integration testing environment variables are not set - Skipping test. Please run `make setup` to set the environment variables."; + } + } +} diff --git a/AzureEnterpriseApplicationOrchestrator.Tests/JobClientBuilder.cs b/AzureEnterpriseApplicationOrchestrator.Tests/JobClientBuilder.cs index 2f6eb88..cad3f39 100644 --- a/AzureEnterpriseApplicationOrchestrator.Tests/JobClientBuilder.cs +++ b/AzureEnterpriseApplicationOrchestrator.Tests/JobClientBuilder.cs @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +using System.Security.Cryptography; +using System.Security.Cryptography.X509Certificates; +using System.Text; using AzureEnterpriseApplicationOrchestrator; using AzureEnterpriseApplicationOrchestrator.Client; using AzureEnterpriseApplicationOrchestrator.Tests; @@ -32,7 +35,7 @@ public AzureEnterpriseApplicationOrchestrator_JobClientBuilder() } [Fact] - public void GraphJobClientBuilder_ValidCertificateStoreConfig_BuildValidClient() + public void GraphJobClientBuilder_ValidCertificateStoreConfigWithClientSecret_BuildValidClient() { // Verify that the GraphJobClientBuilder uses the certificate store configuration // provided by Keyfactor Command/the Universal Orchestrator correctly as required @@ -68,6 +71,93 @@ public void GraphJobClientBuilder_ValidCertificateStoreConfig_BuildValidClient() _logger.LogInformation("GraphJobClientBuilder_ValidCertificateStoreConfig_BuildValidClient - Success"); } + + [IntegrationTestingTheory] + [InlineData("pkcs12")] + [InlineData("pem")] + [InlineData("encryptedPem")] + public void GraphJobClientBuilder_ValidCertificateStoreConfigWithClientCertificate_BuildValidClient(string certificateFormat) + { + // Verify that the GraphJobClientBuilder uses the certificate store configuration + // provided by Keyfactor Command/the Universal Orchestrator correctly as required + // by the IAzureGraphClientBuilder interface. + + // Arrange + GraphJobClientBuilder jobClientBuilderWithFakeBuilder = new(); + + string password = "passwordpasswordpassword"; + string certName = "SPTest" + Guid.NewGuid().ToString()[..6]; + X509Certificate2 ssCert = GetSelfSignedCert(certName); + + string b64ClientCertificate; + if (certificateFormat == "pkcs12") + { + b64ClientCertificate = Convert.ToBase64String(ssCert.Export(X509ContentType.Pfx, password)); + } + else if (certificateFormat == "pem") + { + string pemCert = ssCert.ExportCertificatePem(); + string keyPem = ssCert.GetRSAPrivateKey()!.ExportPkcs8PrivateKeyPem(); + b64ClientCertificate = Convert.ToBase64String(Encoding.UTF8.GetBytes(keyPem + '\n' + pemCert)); + password = ""; + } + else + { + PbeParameters pbeParameters = new PbeParameters( + PbeEncryptionAlgorithm.Aes256Cbc, + HashAlgorithmName.SHA384, + 300_000); + string pemCert = ssCert.ExportCertificatePem(); + string keyPem = ssCert.GetRSAPrivateKey()!.ExportEncryptedPkcs8PrivateKeyPem(password.ToCharArray(), pbeParameters); + b64ClientCertificate = Convert.ToBase64String(Encoding.UTF8.GetBytes(keyPem + '\n' + pemCert)); + } + + // Set up the certificate store with names that correspond to how we expect them to be interpreted by + // the builder + CertificateStore fakeCertificateStoreDetails = new() + { + ClientMachine = "fake-tenant-id", + StorePath = "fake-azure-target-application-id", + Properties = $@"{{""ServerUsername"": ""fake-azure-application-id"",""ServerPassword"": ""{password}"",""ClientCertificate"": ""{b64ClientCertificate}"",""AzureCloud"": ""fake-azure-cloud""}}" + }; + + // Act + IAzureGraphClient fakeAppGatewayClient = jobClientBuilderWithFakeBuilder + .WithCertificateStoreDetails(fakeCertificateStoreDetails) + .Build(); + + // Assert + + // IAzureGraphClient doesn't require any of the properties set by the builder to be exposed + // since the production Build() method creates an Azure Resource Manager client. + // But, our builder is fake and exposes the properties we need to test (via the FakeBuilder class). + Assert.Equal("fake-tenant-id", jobClientBuilderWithFakeBuilder._builder._tenantId); + Assert.Equal("fake-azure-target-application-id", jobClientBuilderWithFakeBuilder._builder._targetApplicationId); + Assert.Equal("fake-azure-application-id", jobClientBuilderWithFakeBuilder._builder._applicationId); + Assert.Equal("fake-azure-cloud", jobClientBuilderWithFakeBuilder._builder._azureCloudEndpoint); + Assert.Equal(ssCert.GetCertHash(), jobClientBuilderWithFakeBuilder._builder._clientCertificate!.GetCertHash()); + Assert.NotNull(jobClientBuilderWithFakeBuilder._builder._clientCertificate!.GetRSAPrivateKey()); + Assert.Equal(jobClientBuilderWithFakeBuilder._builder._clientCertificate!.GetRSAPrivateKey()!.ExportRSAPrivateKeyPem(), ssCert.GetRSAPrivateKey()!.ExportRSAPrivateKeyPem()); + + _logger.LogInformation("GraphJobClientBuilder_ValidCertificateStoreConfig_BuildValidClient - Success"); + } + + public static X509Certificate2 GetSelfSignedCert(string hostname) + { + RSA rsa = RSA.Create(2048); + CertificateRequest req = new CertificateRequest($"CN={hostname}", rsa, HashAlgorithmName.SHA256, + RSASignaturePadding.Pkcs1); + + SubjectAlternativeNameBuilder subjectAlternativeNameBuilder = new SubjectAlternativeNameBuilder(); + subjectAlternativeNameBuilder.AddDnsName(hostname); + req.CertificateExtensions.Add(subjectAlternativeNameBuilder.Build()); + req.CertificateExtensions.Add(new X509KeyUsageExtension(X509KeyUsageFlags.DataEncipherment | X509KeyUsageFlags.KeyEncipherment | X509KeyUsageFlags.DigitalSignature, false)); + req.CertificateExtensions.Add(new X509EnhancedKeyUsageExtension(new OidCollection { new Oid("2.5.29.32.0"), new Oid("1.3.6.1.5.5.7.3.1") }, false)); + + X509Certificate2 selfSignedCert = req.CreateSelfSigned(DateTimeOffset.Now, DateTimeOffset.Now.AddYears(5)); + Console.Write($"Created self-signed certificate for \"{hostname}\" with thumbprint {selfSignedCert.Thumbprint}\n"); + return selfSignedCert; + } static void ConfigureLogging() { diff --git a/AzureEnterpriseApplicationOrchestrator/AzureEnterpriseApplicationOrchestrator.csproj b/AzureEnterpriseApplicationOrchestrator/AzureEnterpriseApplicationOrchestrator.csproj index be0d3c2..9ffa756 100644 --- a/AzureEnterpriseApplicationOrchestrator/AzureEnterpriseApplicationOrchestrator.csproj +++ b/AzureEnterpriseApplicationOrchestrator/AzureEnterpriseApplicationOrchestrator.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 disable false false @@ -10,16 +10,16 @@ - - - - + + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - + diff --git a/AzureEnterpriseApplicationOrchestrator/Client/GraphClient.cs b/AzureEnterpriseApplicationOrchestrator/Client/GraphClient.cs index 310ead8..73b3b78 100644 --- a/AzureEnterpriseApplicationOrchestrator/Client/GraphClient.cs +++ b/AzureEnterpriseApplicationOrchestrator/Client/GraphClient.cs @@ -64,6 +64,7 @@ public class Builder : IAzureGraphClientBuilder private string _tenantId { get; set; } private string _applicationId { get; set; } private string _clientSecret { get; set; } + private X509Certificate2 _clientCertificate { get; set; } private string _targetApplicationId { get; set; } private Uri _azureCloudEndpoint { get; set; } @@ -91,6 +92,12 @@ public IAzureGraphClientBuilder WithClientSecret(string clientSecret) return this; } + public IAzureGraphClientBuilder WithClientCertificate(X509Certificate2 clientCertificate) + { + _clientCertificate = clientCertificate; + return this; + } + public IAzureGraphClientBuilder WithAzureCloud(string azureCloud) { if (string.IsNullOrWhiteSpace(azureCloud)) @@ -129,9 +136,24 @@ public IAzureGraphClient Build() AdditionallyAllowedTenants = { "*" } }; - TokenCredential credential = new ClientSecretCredential( - _tenantId, _applicationId, _clientSecret, credentialOptions - ); + TokenCredential credential; + if (!string.IsNullOrWhiteSpace(_clientSecret)) + { + credential = new ClientSecretCredential( + _tenantId, _applicationId, _clientSecret, credentialOptions + ); + } + else if (_clientCertificate != null) + { + credential = new ClientCertificateCredential( + _tenantId, _applicationId, _clientCertificate, credentialOptions + ); + } + else + { + throw new Exception("Client secret or client certificate must be provided."); + } + string[] scopes = { "https://graph.microsoft.com/.default" }; diff --git a/AzureEnterpriseApplicationOrchestrator/Client/IAzureGraphClient.cs b/AzureEnterpriseApplicationOrchestrator/Client/IAzureGraphClient.cs index 6b73c03..2043c67 100644 --- a/AzureEnterpriseApplicationOrchestrator/Client/IAzureGraphClient.cs +++ b/AzureEnterpriseApplicationOrchestrator/Client/IAzureGraphClient.cs @@ -13,6 +13,7 @@ // limitations under the License. using System.Collections.Generic; +using System.Security.Cryptography.X509Certificates; using Keyfactor.Orchestrators.Extensions; namespace AzureEnterpriseApplicationOrchestrator.Client; @@ -23,6 +24,7 @@ public interface IAzureGraphClientBuilder public IAzureGraphClientBuilder WithTargetApplicationId(string applicationId); public IAzureGraphClientBuilder WithApplicationId(string applicationId); public IAzureGraphClientBuilder WithClientSecret(string clientSecret); + public IAzureGraphClientBuilder WithClientCertificate(X509Certificate2 clientCertificate); public IAzureGraphClientBuilder WithAzureCloud(string azureCloud); public IAzureGraphClient Build(); } diff --git a/AzureEnterpriseApplicationOrchestrator/GraphJobClientBuilder.cs b/AzureEnterpriseApplicationOrchestrator/GraphJobClientBuilder.cs index dbe2e39..3474155 100644 --- a/AzureEnterpriseApplicationOrchestrator/GraphJobClientBuilder.cs +++ b/AzureEnterpriseApplicationOrchestrator/GraphJobClientBuilder.cs @@ -12,6 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. +using System; +using System.Security.Cryptography; +using System.Security.Cryptography.X509Certificates; +using System.Text; using AzureEnterpriseApplicationOrchestrator.Client; using Keyfactor.Logging; using Keyfactor.Orchestrators.Extensions; @@ -25,11 +29,12 @@ namespace AzureEnterpriseApplicationOrchestrator; public TBuilder _builder = new TBuilder(); private ILogger _logger = LogHandler.GetClassLogger>(); - public class CertificateStoreProperties + public record CertificateStoreProperties { - public string ServerUsername { get; set; } - public string ServerPassword { get; set; } - public string AzureCloud { get; set; } + public string ServerUsername { get; init; } + public string ServerPassword { get; init; } + public string ClientCertificate { get; init; } + public string AzureCloud { get; init; } } public GraphJobClientBuilder WithCertificateStoreDetails(CertificateStore details) @@ -41,16 +46,29 @@ public GraphJobClientBuilder WithCertificateStoreDetails(CertificateSt _logger.LogTrace($"Builder - ClientMachine => TenantId: {details.ClientMachine}"); _logger.LogTrace($"Builder - StorePath => TargetApplicationId: {details.StorePath}"); _logger.LogTrace($"Builder - ServerUsername => ApplicationId: {properties.ServerUsername}"); - _logger.LogTrace($"Builder - ServerPassword => ClientSecret: {properties.ServerPassword}"); _logger.LogTrace($"Builder - AzureCloud => AzureCloud: {properties.AzureCloud}"); - + _builder .WithTenantId(details.ClientMachine) .WithApplicationId(properties.ServerUsername) - .WithClientSecret(properties.ServerPassword) .WithTargetApplicationId(details.StorePath) .WithAzureCloud(properties.AzureCloud); + if (string.IsNullOrWhiteSpace(properties.ClientCertificate)) + { + _logger.LogDebug("Client certificate not present - Using Client Secret authentication"); + _logger.LogTrace($"Builder - ServerPassword => ClientSecret: {properties.ServerPassword}"); + _builder.WithClientSecret(properties.ServerPassword); + } + else + { + _logger.LogDebug("Client certificate present - Using Client Certificate authentication"); + _logger.LogTrace($"Builder - ServerPassword => ClientCertificateKeyPassword: {properties.ServerPassword}"); + X509Certificate2 clientCert = SerializeClientCertificate(properties.ClientCertificate, properties.ServerPassword); + _builder.WithClientCertificate(clientCert); + } + + return this; } @@ -72,4 +90,98 @@ public IAzureGraphClient Build() { return _builder.Build(); } + + private X509Certificate2 SerializeClientCertificate(string clientCertificate, string password) + { + // clientCertificate is a Base64 encoded certificate that's either PEM or PKCS#12 encoded. + // We expect that it includes a private key compatible with the dotnet standard crypto libraries. + + byte[] rawCertBytes = Convert.FromBase64String(clientCertificate); + X509Certificate2 serializedCertificate = null; + + // Try to serialize the certificate without any special handling + try + { + serializedCertificate = new X509Certificate2(rawCertBytes, password, X509KeyStorageFlags.Exportable); + if (serializedCertificate.HasPrivateKey) { + _logger.LogTrace("Successfully serialized certificate using standard X509Certificate2"); + return serializedCertificate; + } + } + catch (CryptographicException e) + { + _logger.LogDebug($"Couldn't serialize certificate using X509Certificate2: {e.Message} - trying to serialize from PEM"); + } + + try + { + return SerializePemCertificateAndKey(clientCertificate, password); + } + catch (Exception e) + { + string message = $"Couldn't serialize certificate as PEM: {e.Message} - please ensure that the certificate is valid."; + _logger.LogError(message); + throw new CryptographicException(message); + } + } + + private X509Certificate2 SerializePemCertificateAndKey(string clientCertificate, string password) + { + _logger.LogDebug($"Attempting to serialize client certificate and private key from PEM encoding"); + ReadOnlySpan utf8Cert = Encoding.UTF8.GetChars(Convert.FromBase64String(clientCertificate)); + + _logger.LogTrace("Finding all PEM objects in ClientCertificate"); + + ReadOnlySpan certificate = new char[0]; + ReadOnlySpan key = new char[0]; + + int numberOfPemObjects = 0; + + while (PemEncoding.TryFind(utf8Cert, out PemFields field)) + { + numberOfPemObjects++; + string label = utf8Cert[field.Label].ToString(); + _logger.LogTrace($"Found PEM object with label {label} at location {field.Location}"); + + if (label == "CERTIFICATE") + { + _logger.LogTrace($"Storing {label} as certificate for serialization"); + certificate = utf8Cert[field.Location]; + } + else + { + _logger.LogTrace($"Storing {label} as private key for serialization"); + key = utf8Cert[field.Location]; + } + + // Reconstruct utf8Cert without the PEM object + Range objectRange = field.Location; + int start = objectRange.Start.Value; + int end = objectRange.End.Value; + char[] newUtf8Cert = new char[utf8Cert.Length - (end - start)]; + + _logger.LogTrace($"Trimming range {field.Location} [{end - start} bytes]"); + // Copy over the slice before the start of the range + utf8Cert.Slice(0, start).CopyTo(newUtf8Cert); + // Copy over the slice after the end of the range + utf8Cert.Slice(end).CopyTo(newUtf8Cert.AsSpan(start)); + + utf8Cert = newUtf8Cert; + } + + if (numberOfPemObjects != 2) + { + throw new CryptographicException($"Expected 2 PEM objects in ClientCertificate, found {numberOfPemObjects}"); + } + + _logger.LogDebug("Successfully extracted certificate and private key from PEM encoding - serializing certificate"); + if (string.IsNullOrEmpty(password)) + { + return X509Certificate2.CreateFromPem(certificate, key); + } + else + { + return X509Certificate2.CreateFromEncryptedPem(certificate, key, password); + } + } } diff --git a/CHANGELOG.md b/CHANGELOG.md index dd0d904..a9d0ac1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,3 +4,9 @@ - 2.0.0 - Properly report Private Key existence in Inventory job for both AzureSP and AzureApp. - Remove Private Key handling from AzureApp Certificate Store Type + +- 3.0.0 + - Implement client certificate authentication as a secondary authentication method to Microsoft Graph API + +- 3.1.0 + - fix(deps): Revert main Azure App Registration and Enterprise Application Orchestrator extension .NET project to .NET 6 from .NET 8. diff --git a/README.md b/README.md index d2c8e49..fdb22b2 100644 --- a/README.md +++ b/README.md @@ -48,34 +48,246 @@ The Keyfactor Universal Orchestrator may be installed on either Windows or Linux --- +

+ Azure App Registration and Enterprise Application Universal Orchestrator Extension +

+ +

+ +Integration Status: production +Release +Issues +GitHub Downloads (all assets, all releases) +

+ +

+ + + Support + + · + + Installation + + · + + License + + · + + Related Integrations + +

+ + ## Overview + The Azure App Registration and Enterprise Application Orchestrator extension remotely manages both Azure [App Registration/Application](https://learn.microsoft.com/en-us/entra/identity-platform/certificate-credentials) certificates and [Enterprise Application/Service Principal](https://docs.microsoft.com/en-us/azure/active-directory/develop/enterprise-apps-certificate-credentials) certificates. Application certificates are typically public key only and used for client certificate authentication, while Service Principal certificates are commonly used for [SAML Assertion signing](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/tutorial-manage-certificates-for-federated-single-sign-on). The extension implements the Inventory, Management Add, Management Remove, and Discovery job types. -Certificates used for client authentication by Applications (configured in App Registrations) are represented by the [`AzureApp` store type](docs/azureapp.md), and certificates used for SSO/SAML assertion signing are represented by the [`AzureSP` store type](docs/azuresp.md). Both store types are managed by the same extension. The extension is configured with a single Azure Service Principal that is used to authenticate to the [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/use-the-api). The Azure App Registration and Enterprise Application Orchestrator extension manages certificates for Azure App Registrations (Applications) and Enterprise Applications (Service Principals) differently. +Certificates used for client authentication by Applications (configured in App Registrations) are represented by the [`AzureApp` store type](docs/azureapp.md), and certificates used for SSO/SAML assertion signing are represented by the [`AzureSP` store type](docs/azuresp.md). Both store types are managed by the same extension. The extension is configured with a single Azure Service Principal that is used to authenticate to the [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/use-the-api). The Azure App Registration and Enterprise Application Orchestrator extension manages certificates for Azure App Registrations (Applications) and Enterprise Applications (Service Principals) differently. ## Installation -Before installing the Azure App Registration and Enterprise Application Orchestrator extension, it's recommended to install [kfutil](https://github.com/Keyfactor/kfutil). Kfutil is a command-line tool that simplifies the process of creating store types, installing extensions, and instantiating certificate stores in Keyfactor Command. +Before installing the Azure App Registration and Enterprise Application Universal Orchestrator extension, it's recommended to install [kfutil](https://github.com/Keyfactor/kfutil). Kfutil is a command-line tool that simplifies the process of creating store types, installing extensions, and instantiating certificate stores in Keyfactor Command. + +The Azure App Registration and Enterprise Application Universal Orchestrator extension implements 2 Certificate Store Types. Depending on your use case, you may elect to install one, or all of these Certificate Store Types. An overview for each type is linked below: +* [Azure App Registration (Application)](docs/azureapp.md) +* [Azure Enterprise Application (Service Principal)](docs/azuresp.md) + +
Azure App Registration (Application) + + +1. Follow the [requirements section](docs/azureapp.md#requirements) to configure a Service Account and grant necessary API permissions. + +
Requirements + + ### Azure Service Principal (Graph API Authentication) + + The Azure App Registration and Enterprise Application Orchestrator extension uses an [Azure Service Principal](https://learn.microsoft.com/en-us/entra/identity-platform/app-objects-and-service-principals?tabs=browser) for authentication. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal) to create a service principal. Currently, Client Secret authentication is supported. The Service Principal must have the following API Permission: + - **_Microsoft Graph Application Permissions_**: + - `Application.ReadWrite.All` (_not_ Delegated; Admin Consent) - Allows the app to create, read, update and delete applications and service principals without a signed-in user. + + > For more information on Admin Consent for App-only access (also called "Application Permissions"), see the [primer on application-only access](https://learn.microsoft.com/en-us/azure/active-directory/develop/app-only-access-primer). + + Alternatively, the Service Principal can be granted the `Application.ReadWrite.OwnedBy` permission if the Service Principal is only intended to manage its own App Registration/Application. + + #### Client Certificate or Client Secret + + Beginning in version 3.0.0, the Azure App Registration and Enterprise Application Orchestrator extension supports both [client certificate authentication](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) and [client secret](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) authentication. + + * **Client Secret** - Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) to create a Client Secret. This secret will be used as the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + * **Client Certificate** - Create a client certificate key pair with the Client Authentication extended key usage. The client certificate will be used in the ClientCertificate field in the [Certificate Store Configuration](#certificate-store-configuration) section. If you have access to Keyfactor Command, the instructions in this section walk you through enrolling a certificate and ensuring that it's in the correct format. Once enrolled, follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the _public key_ certificate (no private key) to the service principal used for authentication. + + The certificate can be in either of the following formats: + * Base64-encoded PKCS#12 (PFX) with a matching private key. + * Base64-encoded PEM-encoded certificate _and_ PEM-encoded PKCS8 private key. Make sure that the certificate and private key are separated with a newline. The order doesn't matter - the extension will determine which is which. + + If the private key is encrypted, the encryption password will replace the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. -1. Follow the Requirements section to configure a Service Account and grant the necessary API permissions. + > **Creating and Formatting a Client Certificate using Keyfactor Command** + > + > To get started quickly, you can follow the instructions below to create and properly format a client certificate to authenticate to the Microsoft Graph API. + > + > 1. In Keyfactor Command, hover over **Enrollment** and select **PFX Enrollment**. + > 2. Select a **Template** that supports Client Authentication as an extended key usage. + > 3. Populate the certificate subject as appropriate for the Template. It may be sufficient to only populate the Common Name, but consult your IT policy to ensure that this certificate is compliant. + > 4. At the bottom of the page, uncheck the box for **Include Chain**, and select either **PFX** or **PEM** as the certificate Format. + > 5. Make a note of the password on the next page - it won't be shown again. + > 6. Prepare the certificate and private key for Azure and the Orchestrator extension: + > * If you downloaded the certificate in PEM format, use the commands below: + > + > ```shell + > # Verify that the certificate downloaded from Command contains the certificate and private key. They should be in the same file + > cat + > + > # Separate the certificate from the private key + > openssl x509 -in -out pubkeycert.pem + > + > # Base64 encode the certificate and private key + > cat | base64 > clientcertkeypair.pem.base64 + > ``` + > + > * If you downloaded the certificate in PFX format, use the commands below: + > + > ```shell + > # Export the certificate from the PFX file + > openssl pkcs12 -in -clcerts -nokeys -out pubkeycert.pem + > + > # Base64 encode the PFX file + > cat | base64 > clientcert.pfx.base64 + > ``` + > 7. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the public key certificate to the service principal used for authentication. + > + > You will use `clientcert.[pem|pfx].base64` as the **ClientCertificate** field in the [Certificate Store Configuration](#certificate-store-configuration) section. - * [Azure App Registration/Application](docs/azureapp.md#requirements) - * [Azure Enterprise Application/Service Principal](docs/azuresp.md#requirements) + ### Azure App Registration (Application) + + #### Application Certificates + + Application certificates are used for client authentication and are typically public key only. No additional configuration in Azure is necessary to manage Application certificates since all App Registrations can contain any number of [Certificates and Secrets](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app#add-credentials). Unless the Discovery job is used, you should collect the Application IDs for each App Registration that contains certificates to be managed. + + + +
2. Create Certificate Store Types for the Azure App Registration and Enterprise Application Orchestrator extension. * **Using kfutil**: ```shell + # Azure App Registration (Application) kfutil store-types create AzureApp - kfutil store-types create AzureSP ``` * **Manually**: + * [Azure App Registration (Application)](docs/azureapp.md#certificate-store-type-configuration) + +3. Install the Azure App Registration and Enterprise Application Universal Orchestrator extension. + + * **Using kfutil**: On the server that that hosts the Universal Orchestrator, run the following command: + + ```shell + # Windows Server + kfutil orchestrator extension -e azure-application-orchestrator@latest --out "C:\Program Files\Keyfactor\Keyfactor Orchestrator\extensions" + + # Linux + kfutil orchestrator extension -e azure-application-orchestrator@latest --out "/opt/keyfactor/orchestrator/extensions" + ``` - * [Azure App Registration/Application](docs/azureapp.md#certificate-store-type-configuration) - * [Azure Enterprise Application/Service Principal](docs/azuresp.md#certificate-store-type-configuration) + * **Manually**: Follow the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/InstallingAgents/NetCoreOrchestrator/CustomExtensions.htm?Highlight=extensions) to install the latest [Azure App Registration and Enterprise Application Universal Orchestrator extension](https://github.com/Keyfactor/azure-application-orchestrator/releases/latest). -3. Install the Azure App Registration and Enterprise Application Orchestrator extension. +4. Create new certificate stores in Keyfactor Command for the Sample Universal Orchestrator extension. + * [Azure App Registration (Application)](docs/azureapp.md#certificate-store-configuration) +
+ +
Azure Enterprise Application (Service Principal) + + +1. Follow the [requirements section](docs/azuresp.md#requirements) to configure a Service Account and grant necessary API permissions. + +
Requirements + + ### Azure Service Principal (Graph API Authentication) + + The Azure App Registration and Enterprise Application Orchestrator extension uses an [Azure Service Principal](https://learn.microsoft.com/en-us/entra/identity-platform/app-objects-and-service-principals?tabs=browser) for authentication. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal) to create a service principal. Currently, Client Secret authentication is supported. The Service Principal must have the following API Permission: + - **_Microsoft Graph Application Permissions_**: + - `Application.ReadWrite.All` (_not_ Delegated; Admin Consent) - Allows the app to create, read, update and delete applications and service principals without a signed-in user. + + > For more information on Admin Consent for App-only access (also called "Application Permissions"), see the [primer on application-only access](https://learn.microsoft.com/en-us/azure/active-directory/develop/app-only-access-primer). + + Alternatively, the Service Principal can be granted the `Application.ReadWrite.OwnedBy` permission if the Service Principal is only intended to manage its own App Registration/Application. + + #### Client Certificate or Client Secret + + Beginning in version 3.0.0, the Azure App Registration and Enterprise Application Orchestrator extension supports both [client certificate authentication](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) and [client secret](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) authentication. + + * **Client Secret** - Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) to create a Client Secret. This secret will be used as the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + * **Client Certificate** - Create a client certificate key pair with the Client Authentication extended key usage. The client certificate will be used in the ClientCertificate field in the [Certificate Store Configuration](#certificate-store-configuration) section. If you have access to Keyfactor Command, the instructions in this section walk you through enrolling a certificate and ensuring that it's in the correct format. Once enrolled, follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the _public key_ certificate (no private key) to the service principal used for authentication. + + The certificate can be in either of the following formats: + * Base64-encoded PKCS#12 (PFX) with a matching private key. + * Base64-encoded PEM-encoded certificate _and_ PEM-encoded PKCS8 private key. Make sure that the certificate and private key are separated with a newline. The order doesn't matter - the extension will determine which is which. + + If the private key is encrypted, the encryption password will replace the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + + > **Creating and Formatting a Client Certificate using Keyfactor Command** + > + > To get started quickly, you can follow the instructions below to create and properly format a client certificate to authenticate to the Microsoft Graph API. + > + > 1. In Keyfactor Command, hover over **Enrollment** and select **PFX Enrollment**. + > 2. Select a **Template** that supports Client Authentication as an extended key usage. + > 3. Populate the certificate subject as appropriate for the Template. It may be sufficient to only populate the Common Name, but consult your IT policy to ensure that this certificate is compliant. + > 4. At the bottom of the page, uncheck the box for **Include Chain**, and select either **PFX** or **PEM** as the certificate Format. + > 5. Make a note of the password on the next page - it won't be shown again. + > 6. Prepare the certificate and private key for Azure and the Orchestrator extension: + > * If you downloaded the certificate in PEM format, use the commands below: + > + > ```shell + > # Verify that the certificate downloaded from Command contains the certificate and private key. They should be in the same file + > cat + > + > # Separate the certificate from the private key + > openssl x509 -in -out pubkeycert.pem + > + > # Base64 encode the certificate and private key + > cat | base64 > clientcertkeypair.pem.base64 + > ``` + > + > * If you downloaded the certificate in PFX format, use the commands below: + > + > ```shell + > # Export the certificate from the PFX file + > openssl pkcs12 -in -clcerts -nokeys -out pubkeycert.pem + > + > # Base64 encode the PFX file + > cat | base64 > clientcert.pfx.base64 + > ``` + > 7. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the public key certificate to the service principal used for authentication. + > + > You will use `clientcert.[pem|pfx].base64` as the **ClientCertificate** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + + ### Enterprise Application (Service Principal) + + #### Service Principal Certificates + + Service Principal certificates are typically used for SAML Token signing. Service Principals are created from Enterprise Applications, and will mostly be configured with a variation of Microsoft's [SAML-based single sign-on](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/add-application-portal) documentation. For more information on the mechanics of the Service Principal certificate management capabilities of this extension, please see the [mechanics](#extension-mechanics) section. + + + +
+ +2. Create Certificate Store Types for the Azure App Registration and Enterprise Application Orchestrator extension. + + * **Using kfutil**: + + ```shell + # Azure Enterprise Application (Service Principal) + kfutil store-types create AzureSP + ``` + + * **Manually**: + * [Azure Enterprise Application (Service Principal)](docs/azuresp.md#certificate-store-type-configuration) + +3. Install the Azure App Registration and Enterprise Application Universal Orchestrator extension. * **Using kfutil**: On the server that that hosts the Universal Orchestrator, run the following command: @@ -87,13 +299,20 @@ Before installing the Azure App Registration and Enterprise Application Orchestr kfutil orchestrator extension -e azure-application-orchestrator@latest --out "/opt/keyfactor/orchestrator/extensions" ``` - * **Manually**: Follow the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/InstallingAgents/NetCoreOrchestrator/CustomExtensions.htm?Highlight=extensions) to install the latest [Azure App Registration and Enterprise Application Orchestrator extension](https://github.com/Keyfactor/azure-application-orchestrator/releases/latest). + * **Manually**: Follow the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/InstallingAgents/NetCoreOrchestrator/CustomExtensions.htm?Highlight=extensions) to install the latest [Azure App Registration and Enterprise Application Universal Orchestrator extension](https://github.com/Keyfactor/azure-application-orchestrator/releases/latest). + +4. Create new certificate stores in Keyfactor Command for the Sample Universal Orchestrator extension. + * [Azure Enterprise Application (Service Principal)](docs/azuresp.md#certificate-store-configuration) +
+ + +## License -4. Create new certificate stores in Keyfactor Command for the Azure App Registration and Enterprise Application Orchestrator extension. +Apache License 2.0, see [LICENSE](LICENSE). - * [Azure App Registration/Application](docs/azureapp.md#certificate-store-configuration) - * [Azure Enterprise Application/Service Principal](docs/azuresp.md#certificate-store-configuration) +## Related Integrations +See all [Keyfactor Universal Orchestrator extensions](https://github.com/orgs/Keyfactor/repositories?q=orchestrator). When creating cert store type manually, that store property names and entry parameter names are case sensitive diff --git a/docs/azureapp.md b/docs/azureapp.md index 93a1deb..9380654 100644 --- a/docs/azureapp.md +++ b/docs/azureapp.md @@ -1,7 +1,20 @@ -## Azure App Registration/Application +## Azure App Registration (Application) Azure [App Registration/Application certificates](https://learn.microsoft.com/en-us/entra/identity-platform/certificate-credentials) are typically used for client authentication by applications and are typically public key only in Azure. The general model by which these credentials are consumed is that the certificate and private key are accessible by the Application using the App Registration, and are passed to the service that is authenticating the Application. The Azure App Registration and Enterprise Application Orchestrator extension implements the Inventory, Management Add, Management Remove, and Discovery job types for managing these certificates. + + +### Supported Job Types + +| Job Name | Supported | +| -------- | --------- | +| Inventory | ✅ | +| Management Add | ✅ | +| Management Remove | ✅ | +| Discovery | ✅ | +| Create | | +| Reenrollment | | + ## Requirements ### Azure Service Principal (Graph API Authentication) @@ -14,12 +27,63 @@ The Azure App Registration and Enterprise Application Orchestrator extension use Alternatively, the Service Principal can be granted the `Application.ReadWrite.OwnedBy` permission if the Service Principal is only intended to manage its own App Registration/Application. +#### Client Certificate or Client Secret + +Beginning in version 3.0.0, the Azure App Registration and Enterprise Application Orchestrator extension supports both [client certificate authentication](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) and [client secret](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) authentication. + +* **Client Secret** - Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) to create a Client Secret. This secret will be used as the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. +* **Client Certificate** - Create a client certificate key pair with the Client Authentication extended key usage. The client certificate will be used in the ClientCertificate field in the [Certificate Store Configuration](#certificate-store-configuration) section. If you have access to Keyfactor Command, the instructions in this section walk you through enrolling a certificate and ensuring that it's in the correct format. Once enrolled, follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the _public key_ certificate (no private key) to the service principal used for authentication. + + The certificate can be in either of the following formats: + * Base64-encoded PKCS#12 (PFX) with a matching private key. + * Base64-encoded PEM-encoded certificate _and_ PEM-encoded PKCS8 private key. Make sure that the certificate and private key are separated with a newline. The order doesn't matter - the extension will determine which is which. + + If the private key is encrypted, the encryption password will replace the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + +> **Creating and Formatting a Client Certificate using Keyfactor Command** +> +> To get started quickly, you can follow the instructions below to create and properly format a client certificate to authenticate to the Microsoft Graph API. +> +> 1. In Keyfactor Command, hover over **Enrollment** and select **PFX Enrollment**. +> 2. Select a **Template** that supports Client Authentication as an extended key usage. +> 3. Populate the certificate subject as appropriate for the Template. It may be sufficient to only populate the Common Name, but consult your IT policy to ensure that this certificate is compliant. +> 4. At the bottom of the page, uncheck the box for **Include Chain**, and select either **PFX** or **PEM** as the certificate Format. +> 5. Make a note of the password on the next page - it won't be shown again. +> 6. Prepare the certificate and private key for Azure and the Orchestrator extension: +> * If you downloaded the certificate in PEM format, use the commands below: +> +> ```shell +> # Verify that the certificate downloaded from Command contains the certificate and private key. They should be in the same file +> cat +> +> # Separate the certificate from the private key +> openssl x509 -in -out pubkeycert.pem +> +> # Base64 encode the certificate and private key +> cat | base64 > clientcertkeypair.pem.base64 +> ``` +> +> * If you downloaded the certificate in PFX format, use the commands below: +> +> ```shell +> # Export the certificate from the PFX file +> openssl pkcs12 -in -clcerts -nokeys -out pubkeycert.pem +> +> # Base64 encode the PFX file +> cat | base64 > clientcert.pfx.base64 +> ``` +> 7. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the public key certificate to the service principal used for authentication. +> +> You will use `clientcert.[pem|pfx].base64` as the **ClientCertificate** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + ### Azure App Registration (Application) #### Application Certificates Application certificates are used for client authentication and are typically public key only. No additional configuration in Azure is necessary to manage Application certificates since all App Registrations can contain any number of [Certificates and Secrets](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app#add-credentials). Unless the Discovery job is used, you should collect the Application IDs for each App Registration that contains certificates to be managed. + + ## Extension Mechanics The Azure App Registration and Enterprise Application Orchestrator extension uses the [Microsoft Dotnet Graph SDK](https://learn.microsoft.com/en-us/graph/sdks/sdks-overview) to interact with the Microsoft Graph API. The extension uses the following Graph API endpoints to manage Application certificates: @@ -36,16 +100,18 @@ The Discovery operation uses the "Directories to search" field, and accepts inpu - `*` - If the asterisk symbol `*` is used, the extension will search for all Azure App Registrations that the Service Principal has access to, but only in the tenant that the discovery job was configured for as specified by the "Client Machine" field in the certificate store configuration. - `,,...` - If a comma-separated list of tenant IDs is used, the extension will search for all Azure App Registrations available in each tenant specified in the list. The tenant IDs should be the GUIDs associated with each tenant, and it's the user's responsibility to ensure that the service principal has access to the specified tenants. +> The Discovery Job only supports Client Secret authentication. + + + ## Certificate Store Type Configuration -The recommended method for creating the `AzureApp` Certificate Store Type is to use [kfutil](https://github.com/Keyfactor/kfutil). After installing, use the following command to create the `AzureApp` Certificate Store Type: +The recommended method for creating the `AzureApp` Certificate Store Type is to use [kfutil](https://github.com/Keyfactor/kfutil). After installing, use the following command to create the `` Certificate Store Type: ```shell kfutil store-types create AzureApp ``` -Alternatively, you can create the `AzureApp` Certificate Store Type manually by following the following steps: -
AzureApp Create a store type called `AzureApp` with the attributes in the tables below: @@ -53,32 +119,35 @@ Create a store type called `AzureApp` with the attributes in the tables below: ### Basic Tab | Attribute | Value | Description | | --------- | ----- | ----- | -| Name | Azure Application (Auth) | Display name for the store type (may be customized) | +| Name | Azure App Registration (Application) | Display name for the store type (may be customized) | | Short Name | AzureApp | Short display name for the store type | | Capability | AzureApp | Store type name orchestrator will register with. Check the box to allow entry of value | | Supported Job Types (check the box for each) | Add, Discovery, Remove | Job types the extension supports | -| Needs Server | ✓ | Determines if a target server name is required when creating store | +| Supports Add | ✅ | Check the box. Indicates that the Store Type supports Management Add | +| Supports Remove | ✅ | Check the box. Indicates that the Store Type supports Management Remove | +| Supports Discovery | ✅ | Check the box. Indicates that the Store Type supports Discovery | +| Supports Reenrollment | | Indicates that the Store Type supports Reenrollment | +| Supports Create | | Indicates that the Store Type supports store creation | +| Needs Server | ✅ | Determines if a target server name is required when creating store | | Blueprint Allowed | | Determines if store type may be included in an Orchestrator blueprint | | Uses PowerShell | | Determines if underlying implementation is PowerShell | | Requires Store Password | | Determines if a store password is required when configuring an individual store. | | Supports Entry Password | | Determines if an individual entry within a store can have a password. | - The Basic tab should look like this: -![AzureApp Basic Tab](../.github/images/AzureApp-basic-store-type-dialog.png) +![AzureApp Basic Tab](../docsource/images/AzureApp-basic-store-type-dialog.png) ### Advanced Tab | Attribute | Value | Description | | --------- | ----- | ----- | | Supports Custom Alias | Required | Determines if an individual entry within a store can have a custom Alias. | -| Private Key Handling | Forbidden | This determines if Keyfactor can send the private key associated with a certificate to the store. Required because IIS certificates without private keys would be invalid. | +| Private Key Handling | Required | This determines if Keyfactor can send the private key associated with a certificate to the store. Required because IIS certificates without private keys would be invalid. | | PFX Password Style | Default | 'Default' - PFX password is randomly generated, 'Custom' - PFX password may be specified when the enrollment job is created (Requires the Allow Custom Password application setting to be enabled.) | - The Advanced tab should look like this: -![AzureApp Advanced Tab](../.github/images/AzureApp-advanced-store-type-dialog.png) +![AzureApp Advanced Tab](../docsource/images/AzureApp-advanced-store-type-dialog.png) ### Custom Fields Tab Custom fields operate at the certificate store level and are used to control how the orchestrator connects to the remote target server containing the certificate store to be managed. The following custom fields should be added to the store type: @@ -86,32 +155,38 @@ Custom fields operate at the certificate store level and are used to control how | Name | Display Name | Type | Default Value/Options | Required | Description | | ---- | ------------ | ---- | --------------------- | -------- | ----------- | | ServerUsername | Server Username | Secret | | | The Application ID of the Service Principal used to authenticate with Microsoft Graph for managing Application/Service Principal certificates. | -| ServerPassword | Server Password | Secret | | | A Client Secret that the extension will use to authenticate with Microsoft Graph for managing Application/Service Principal certificates. | -| ServerUseSsl | Use SSL | Bool | true | ✓ | Specifies whether SSL should be used for communication with the server. Set to 'true' to enable SSL, and 'false' to disable it. | +| ServerPassword | Server Password | Secret | | | A Client Secret that the extension will use to authenticate with Microsoft Graph for managing Application/Service Principal certificates, OR the password that encrypts the private key in ClientCertificate | +| ClientCertificate | Client Certificate | Secret | | | The client certificate used to authenticate with Microsoft Graph for managing Application/Service Principal certificates. See the [requirements](#client-certificate-or-client-secret) for more information. | +| AzureCloud | Azure Global Cloud Authority Host | MultipleChoice | public,china,germany,government | | Specifies the Azure Cloud instance used by the organization. | +| ServerUseSsl | Use SSL | Bool | true | ✅ | Specifies whether SSL should be used for communication with the server. Set to 'true' to enable SSL, and 'false' to disable it. | The Custom Fields tab should look like this: -![AzureApp Custom Fields Tab](../.github/images/AzureApp-custom-fields-store-type-dialog.png) +![AzureApp Custom Fields Tab](../docsource/images/AzureApp-custom-fields-store-type-dialog.png) + +
## Certificate Store Configuration -After creating the `AzureApp` Certificate Store Type and installing the Azure App Registration and Enterprise Application Orchestrator extension, you can create new [Certificate Stores](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store) to manage certificates in the remote platform. +After creating the `AzureApp` Certificate Store Type and installing the Azure App Registration and Enterprise Application Universal Orchestrator extension, you can create new [Certificate Stores](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store) to manage certificates in the remote platform. The following table describes the required and optional fields for the `AzureApp` certificate store type. | Attribute | Description | | --------- | ----------- | -| Category | Select Azure Application (Auth) or the customized certificate store name from the previous step. | +| Category | Select "Azure App Registration (Application)" or the customized certificate store name from the previous step. | | Container | Optional container to associate certificate store with. | | Client Machine | The Azure Tenant (directory) ID that owns the Service Principal. | | Store Path | The Application ID of the target Application/Service Principal that will be managed by the Azure App Registration and Enterprise Application Orchestrator extension. | -| Orchestrator | Select an approved orchestrator capable of managing AzureApp certificates. Specifically, one with the AzureApp capability. | -| Server Username | The Application ID of the Service Principal used to authenticate with Microsoft Graph for managing Application/Service Principal certificates. | -| Server Password | A Client Secret that the extension will use to authenticate with Microsoft Graph for managing Application/Service Principal certificates. | -| Use SSL | Specifies whether SSL should be used for communication with the server. Set to 'true' to enable SSL, and 'false' to disable it. | +| Orchestrator | Select an approved orchestrator capable of managing `AzureApp` certificates. Specifically, one with the `AzureApp` capability. | +| ServerUsername | The Application ID of the Service Principal used to authenticate with Microsoft Graph for managing Application/Service Principal certificates. | +| ServerPassword | A Client Secret that the extension will use to authenticate with Microsoft Graph for managing Application/Service Principal certificates, OR the password that encrypts the private key in ClientCertificate | +| ClientCertificate | The client certificate used to authenticate with Microsoft Graph for managing Application/Service Principal certificates. See the [requirements](#client-certificate-or-client-secret) for more information. | +| AzureCloud | Specifies the Azure Cloud instance used by the organization. | +| ServerUseSsl | Specifies whether SSL should be used for communication with the server. Set to 'true' to enable SSL, and 'false' to disable it. | * **Using kfutil** @@ -125,6 +200,4 @@ The following table describes the required and optional fields for the `AzureApp kfutil stores import csv --store-type-name AzureApp --file AzureApp.csv ``` -* **Manually with the Command UI**: In Keyfactor Command, navigate to Certificate Stores from the Locations Menu. Click the Add button to create a new Certificate Store using the attributes in the table above. - - +* **Manually with the Command UI**: In Keyfactor Command, navigate to Certificate Stores from the Locations Menu. Click the Add button to create a new Certificate Store using the attributes in the table above. \ No newline at end of file diff --git a/docs/azuresp.md b/docs/azuresp.md index 2e48382..5335d60 100644 --- a/docs/azuresp.md +++ b/docs/azuresp.md @@ -1,8 +1,20 @@ -### Azure Enterprise Application/Service Principal +## Azure Enterprise Application (Service Principal) The Azure Enterprise Application/Service Principal certificate operations are implemented by the `AzureSP` store type, and supports the management of a single certificate for use in SSO/SAML assertion signing. The Management Add operation is only supported with the certificate replacement option, since adding a new certificate will replace the existing certificate. The Add operation will also set newly added certificates as the active certificate for SSO/SAML usage. The Management Remove operation removes the certificate from the Enterprise Application/Service Principal, which is the same as removing the SSO/SAML signing certificate. The Discovery operation discovers all Enterprise Applications/Service Principals in the tenant. + +### Supported Job Types + +| Job Name | Supported | +| -------- | --------- | +| Inventory | ✅ | +| Management Add | ✅ | +| Management Remove | ✅ | +| Discovery | ✅ | +| Create | | +| Reenrollment | | + ## Requirements ### Azure Service Principal (Graph API Authentication) @@ -15,12 +27,63 @@ The Azure App Registration and Enterprise Application Orchestrator extension use Alternatively, the Service Principal can be granted the `Application.ReadWrite.OwnedBy` permission if the Service Principal is only intended to manage its own App Registration/Application. +#### Client Certificate or Client Secret + +Beginning in version 3.0.0, the Azure App Registration and Enterprise Application Orchestrator extension supports both [client certificate authentication](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) and [client secret](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) authentication. + +* **Client Secret** - Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) to create a Client Secret. This secret will be used as the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. +* **Client Certificate** - Create a client certificate key pair with the Client Authentication extended key usage. The client certificate will be used in the ClientCertificate field in the [Certificate Store Configuration](#certificate-store-configuration) section. If you have access to Keyfactor Command, the instructions in this section walk you through enrolling a certificate and ensuring that it's in the correct format. Once enrolled, follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the _public key_ certificate (no private key) to the service principal used for authentication. + + The certificate can be in either of the following formats: + * Base64-encoded PKCS#12 (PFX) with a matching private key. + * Base64-encoded PEM-encoded certificate _and_ PEM-encoded PKCS8 private key. Make sure that the certificate and private key are separated with a newline. The order doesn't matter - the extension will determine which is which. + + If the private key is encrypted, the encryption password will replace the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + +> **Creating and Formatting a Client Certificate using Keyfactor Command** +> +> To get started quickly, you can follow the instructions below to create and properly format a client certificate to authenticate to the Microsoft Graph API. +> +> 1. In Keyfactor Command, hover over **Enrollment** and select **PFX Enrollment**. +> 2. Select a **Template** that supports Client Authentication as an extended key usage. +> 3. Populate the certificate subject as appropriate for the Template. It may be sufficient to only populate the Common Name, but consult your IT policy to ensure that this certificate is compliant. +> 4. At the bottom of the page, uncheck the box for **Include Chain**, and select either **PFX** or **PEM** as the certificate Format. +> 5. Make a note of the password on the next page - it won't be shown again. +> 6. Prepare the certificate and private key for Azure and the Orchestrator extension: +> * If you downloaded the certificate in PEM format, use the commands below: +> +> ```shell +> # Verify that the certificate downloaded from Command contains the certificate and private key. They should be in the same file +> cat +> +> # Separate the certificate from the private key +> openssl x509 -in -out pubkeycert.pem +> +> # Base64 encode the certificate and private key +> cat | base64 > clientcertkeypair.pem.base64 +> ``` +> +> * If you downloaded the certificate in PFX format, use the commands below: +> +> ```shell +> # Export the certificate from the PFX file +> openssl pkcs12 -in -clcerts -nokeys -out pubkeycert.pem +> +> # Base64 encode the PFX file +> cat | base64 > clientcert.pfx.base64 +> ``` +> 7. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the public key certificate to the service principal used for authentication. +> +> You will use `clientcert.[pem|pfx].base64` as the **ClientCertificate** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + ### Enterprise Application (Service Principal) #### Service Principal Certificates Service Principal certificates are typically used for SAML Token signing. Service Principals are created from Enterprise Applications, and will mostly be configured with a variation of Microsoft's [SAML-based single sign-on](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/add-application-portal) documentation. For more information on the mechanics of the Service Principal certificate management capabilities of this extension, please see the [mechanics](#extension-mechanics) section. + + ## Extension Mechanics The Azure App Registration and Enterprise Application Orchestrator extension uses the [Microsoft Dotnet Graph SDK](https://learn.microsoft.com/en-us/graph/sdks/sdks-overview) to interact with the Microsoft Graph API. The extension uses the following Graph API endpoints to manage Service Principal certificates: @@ -37,16 +100,18 @@ The Discovery operation uses the "Directories to search" field, and accepts inpu - `*` - If the asterisk symbol `*` is used, the extension will search for all Azure Enterprise Applications that the Service Principal has access to, but only in the tenant that the discovery job was configured for as specified by the "Client Machine" field in the certificate store configuration. - `,,...` - If a comma-separated list of tenant IDs is used, the extension will search for all Azure Enterprise Applications available in each tenant specified in the list. The tenant IDs should be the GUIDs associated with each tenant, and it's the user's responsibility to ensure that the service principal has access to the specified tenants. +> The Discovery Job only supports Client Secret authentication. + + + ## Certificate Store Type Configuration -The recommended method for creating the `AzureSP` Certificate Store Type is to use [kfutil](https://github.com/Keyfactor/kfutil). After installing, use the following command to create the `AzureSP` Certificate Store Type: +The recommended method for creating the `AzureSP` Certificate Store Type is to use [kfutil](https://github.com/Keyfactor/kfutil). After installing, use the following command to create the `` Certificate Store Type: ```shell kfutil store-types create AzureSP ``` -Alternatively, you can create the `AzureSP` Certificate Store Type manually by following the following steps: -
AzureSP Create a store type called `AzureSP` with the attributes in the tables below: @@ -54,20 +119,24 @@ Create a store type called `AzureSP` with the attributes in the tables below: ### Basic Tab | Attribute | Value | Description | | --------- | ----- | ----- | -| Name | Azure Service Principal (SSO/SAML) | Display name for the store type (may be customized) | +| Name | Azure Enterprise Application (Service Principal) | Display name for the store type (may be customized) | | Short Name | AzureSP | Short display name for the store type | | Capability | AzureSP | Store type name orchestrator will register with. Check the box to allow entry of value | | Supported Job Types (check the box for each) | Add, Discovery, Remove | Job types the extension supports | -| Needs Server | ✓ | Determines if a target server name is required when creating store | +| Supports Add | ✅ | Check the box. Indicates that the Store Type supports Management Add | +| Supports Remove | ✅ | Check the box. Indicates that the Store Type supports Management Remove | +| Supports Discovery | ✅ | Check the box. Indicates that the Store Type supports Discovery | +| Supports Reenrollment | | Indicates that the Store Type supports Reenrollment | +| Supports Create | | Indicates that the Store Type supports store creation | +| Needs Server | ✅ | Determines if a target server name is required when creating store | | Blueprint Allowed | | Determines if store type may be included in an Orchestrator blueprint | | Uses PowerShell | | Determines if underlying implementation is PowerShell | | Requires Store Password | | Determines if a store password is required when configuring an individual store. | | Supports Entry Password | | Determines if an individual entry within a store can have a password. | - The Basic tab should look like this: -![AzureSP Basic Tab](../.github/images/AzureSP-basic-store-type-dialog.png) +![AzureSP Basic Tab](../docsource/images/AzureSP-basic-store-type-dialog.png) ### Advanced Tab | Attribute | Value | Description | @@ -76,10 +145,9 @@ The Basic tab should look like this: | Private Key Handling | Required | This determines if Keyfactor can send the private key associated with a certificate to the store. Required because IIS certificates without private keys would be invalid. | | PFX Password Style | Default | 'Default' - PFX password is randomly generated, 'Custom' - PFX password may be specified when the enrollment job is created (Requires the Allow Custom Password application setting to be enabled.) | - The Advanced tab should look like this: -![AzureSP Advanced Tab](../.github/images/AzureSP-advanced-store-type-dialog.png) +![AzureSP Advanced Tab](../docsource/images/AzureSP-advanced-store-type-dialog.png) ### Custom Fields Tab Custom fields operate at the certificate store level and are used to control how the orchestrator connects to the remote target server containing the certificate store to be managed. The following custom fields should be added to the store type: @@ -87,38 +155,43 @@ Custom fields operate at the certificate store level and are used to control how | Name | Display Name | Type | Default Value/Options | Required | Description | | ---- | ------------ | ---- | --------------------- | -------- | ----------- | | ServerUsername | Server Username | Secret | | | The Application ID of the Service Principal used to authenticate with Microsoft Graph for managing Application/Service Principal certificates. | -| ServerPassword | Server Password | Secret | | | A Client Secret that the extension will use to authenticate with Microsoft Graph for managing Application/Service Principal certificates. | -| ServerUseSsl | Use SSL | Bool | true | ✓ | Specifies whether SSL should be used for communication with the server. Set to 'true' to enable SSL, and 'false' to disable it. | +| ServerPassword | Server Password | Secret | | | A Client Secret that the extension will use to authenticate with Microsoft Graph for managing Application/Service Principal certificates, OR the password that encrypts the private key in ClientCertificate | +| ClientCertificate | Client Certificate | Secret | | | The client certificate used to authenticate with Microsoft Graph for managing Application/Service Principal certificates. See the [requirements](#client-certificate-or-client-secret) for more information. | +| AzureCloud | Azure Global Cloud Authority Host | MultipleChoice | public,china,germany,government | | Specifies the Azure Cloud instance used by the organization. | +| ServerUseSsl | Use SSL | Bool | true | ✅ | Specifies whether SSL should be used for communication with the server. Set to 'true' to enable SSL, and 'false' to disable it. | The Custom Fields tab should look like this: -![AzureSP Custom Fields Tab](../.github/images/AzureSP-custom-fields-store-type-dialog.png) +![AzureSP Custom Fields Tab](../docsource/images/AzureSP-custom-fields-store-type-dialog.png) + -
+ ## Certificate Store Configuration -After creating the `AzureSP` Certificate Store Type and installing the Azure App Registration and Enterprise Application Orchestrator extension, you can create new [Certificate Stores](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store) to manage certificates in the remote platform. +After creating the `AzureSP` Certificate Store Type and installing the Azure App Registration and Enterprise Application Universal Orchestrator extension, you can create new [Certificate Stores](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store) to manage certificates in the remote platform. The following table describes the required and optional fields for the `AzureSP` certificate store type. | Attribute | Description | | --------- | ----------- | -| Category | Select Azure Service Principal (SSO/SAML) or the customized certificate store name from the previous step. | +| Category | Select "Azure Enterprise Application (Service Principal)" or the customized certificate store name from the previous step. | | Container | Optional container to associate certificate store with. | | Client Machine | The Azure Tenant (directory) ID that owns the Service Principal. | | Store Path | The Application ID of the target Application/Service Principal that will be managed by the Azure App Registration and Enterprise Application Orchestrator extension. | -| Orchestrator | Select an approved orchestrator capable of managing AzureSP certificates. Specifically, one with the AzureSP capability. | -| Server Username | The Application ID of the Service Principal used to authenticate with Microsoft Graph for managing Application/Service Principal certificates. | -| Server Password | A Client Secret that the extension will use to authenticate with Microsoft Graph for managing Application/Service Principal certificates. | -| Use SSL | Specifies whether SSL should be used for communication with the server. Set to 'true' to enable SSL, and 'false' to disable it. | +| Orchestrator | Select an approved orchestrator capable of managing `AzureSP` certificates. Specifically, one with the `AzureSP` capability. | +| ServerUsername | The Application ID of the Service Principal used to authenticate with Microsoft Graph for managing Application/Service Principal certificates. | +| ServerPassword | A Client Secret that the extension will use to authenticate with Microsoft Graph for managing Application/Service Principal certificates, OR the password that encrypts the private key in ClientCertificate | +| ClientCertificate | The client certificate used to authenticate with Microsoft Graph for managing Application/Service Principal certificates. See the [requirements](#client-certificate-or-client-secret) for more information. | +| AzureCloud | Specifies the Azure Cloud instance used by the organization. | +| ServerUseSsl | Specifies whether SSL should be used for communication with the server. Set to 'true' to enable SSL, and 'false' to disable it. | * **Using kfutil** ```shell - # Generate a CSV template for the AzureSP certificate store + # Generate a CSV template for the AzureApp certificate store kfutil stores import generate-template --store-type-name AzureSP --outpath AzureSP.csv # Open the CSV file and fill in the required fields for each certificate store. @@ -127,5 +200,4 @@ The following table describes the required and optional fields for the `AzureSP` kfutil stores import csv --store-type-name AzureSP --file AzureSP.csv ``` -* **Manually with the Command UI**: In Keyfactor Command, navigate to Certificate Stores from the Locations Menu. Click the Add button to create a new Certificate Store using the attributes in the table above. - +* **Manually with the Command UI**: In Keyfactor Command, navigate to Certificate Stores from the Locations Menu. Click the Add button to create a new Certificate Store using the attributes in the table above. \ No newline at end of file diff --git a/docsource/azureapp.md b/docsource/azureapp.md new file mode 100644 index 0000000..457bb74 --- /dev/null +++ b/docsource/azureapp.md @@ -0,0 +1,89 @@ +# Overview + +Azure [App Registration/Application certificates](https://learn.microsoft.com/en-us/entra/identity-platform/certificate-credentials) are typically used for client authentication by applications and are typically public key only in Azure. The general model by which these credentials are consumed is that the certificate and private key are accessible by the Application using the App Registration, and are passed to the service that is authenticating the Application. The Azure App Registration and Enterprise Application Orchestrator extension implements the Inventory, Management Add, Management Remove, and Discovery job types for managing these certificates. + +# Requirements + +### Azure Service Principal (Graph API Authentication) + +The Azure App Registration and Enterprise Application Orchestrator extension uses an [Azure Service Principal](https://learn.microsoft.com/en-us/entra/identity-platform/app-objects-and-service-principals?tabs=browser) for authentication. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal) to create a service principal. Currently, Client Secret authentication is supported. The Service Principal must have the following API Permission: +- **_Microsoft Graph Application Permissions_**: + - `Application.ReadWrite.All` (_not_ Delegated; Admin Consent) - Allows the app to create, read, update and delete applications and service principals without a signed-in user. + +> For more information on Admin Consent for App-only access (also called "Application Permissions"), see the [primer on application-only access](https://learn.microsoft.com/en-us/azure/active-directory/develop/app-only-access-primer). + +Alternatively, the Service Principal can be granted the `Application.ReadWrite.OwnedBy` permission if the Service Principal is only intended to manage its own App Registration/Application. + +#### Client Certificate or Client Secret + +Beginning in version 3.0.0, the Azure App Registration and Enterprise Application Orchestrator extension supports both [client certificate authentication](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) and [client secret](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) authentication. + +* **Client Secret** - Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) to create a Client Secret. This secret will be used as the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. +* **Client Certificate** - Create a client certificate key pair with the Client Authentication extended key usage. The client certificate will be used in the ClientCertificate field in the [Certificate Store Configuration](#certificate-store-configuration) section. If you have access to Keyfactor Command, the instructions in this section walk you through enrolling a certificate and ensuring that it's in the correct format. Once enrolled, follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the _public key_ certificate (no private key) to the service principal used for authentication. + + The certificate can be in either of the following formats: + * Base64-encoded PKCS#12 (PFX) with a matching private key. + * Base64-encoded PEM-encoded certificate _and_ PEM-encoded PKCS8 private key. Make sure that the certificate and private key are separated with a newline. The order doesn't matter - the extension will determine which is which. + + If the private key is encrypted, the encryption password will replace the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + +> **Creating and Formatting a Client Certificate using Keyfactor Command** +> +> To get started quickly, you can follow the instructions below to create and properly format a client certificate to authenticate to the Microsoft Graph API. +> +> 1. In Keyfactor Command, hover over **Enrollment** and select **PFX Enrollment**. +> 2. Select a **Template** that supports Client Authentication as an extended key usage. +> 3. Populate the certificate subject as appropriate for the Template. It may be sufficient to only populate the Common Name, but consult your IT policy to ensure that this certificate is compliant. +> 4. At the bottom of the page, uncheck the box for **Include Chain**, and select either **PFX** or **PEM** as the certificate Format. +> 5. Make a note of the password on the next page - it won't be shown again. +> 6. Prepare the certificate and private key for Azure and the Orchestrator extension: +> * If you downloaded the certificate in PEM format, use the commands below: +> +> ```shell +> # Verify that the certificate downloaded from Command contains the certificate and private key. They should be in the same file +> cat +> +> # Separate the certificate from the private key +> openssl x509 -in -out pubkeycert.pem +> +> # Base64 encode the certificate and private key +> cat | base64 > clientcertkeypair.pem.base64 +> ``` +> +> * If you downloaded the certificate in PFX format, use the commands below: +> +> ```shell +> # Export the certificate from the PFX file +> openssl pkcs12 -in -clcerts -nokeys -out pubkeycert.pem +> +> # Base64 encode the PFX file +> cat | base64 > clientcert.pfx.base64 +> ``` +> 7. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the public key certificate to the service principal used for authentication. +> +> You will use `clientcert.[pem|pfx].base64` as the **ClientCertificate** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + + +### Azure App Registration (Application) + +#### Application Certificates + +Application certificates are used for client authentication and are typically public key only. No additional configuration in Azure is necessary to manage Application certificates since all App Registrations can contain any number of [Certificates and Secrets](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app#add-credentials). Unless the Discovery job is used, you should collect the Application IDs for each App Registration that contains certificates to be managed. + +# Extension Mechanics + +The Azure App Registration and Enterprise Application Orchestrator extension uses the [Microsoft Dotnet Graph SDK](https://learn.microsoft.com/en-us/graph/sdks/sdks-overview) to interact with the Microsoft Graph API. The extension uses the following Graph API endpoints to manage Application certificates: + +* [Get Application](https://learn.microsoft.com/en-us/graph/api/application-get?view=graph-rest-1.0&tabs=http) - Used to obtain the Object ID of the App Registration, and to download the certificates owned by the App Registration. +* [Update Application](https://learn.microsoft.com/en-us/graph/api/application-update?view=graph-rest-1.0&tabs=http) - Used to modify the App Registration to add or remove certificates. + * Specifically, the extension manipulates the [`keyCredentials` resource](https://learn.microsoft.com/en-us/graph/api/resources/keycredential?view=graph-rest-1.0) of the Application object. + +### Discovery Job + +The Discovery operation discovers all Azure App Registrations that the Service Principal has access to. The discovered App Registrations (specifically, their Application IDs) are reported back to Command and can be easily added as certificate stores from the Locations tab. + +The Discovery operation uses the "Directories to search" field, and accepts input in one of the following formats: +- `*` - If the asterisk symbol `*` is used, the extension will search for all Azure App Registrations that the Service Principal has access to, but only in the tenant that the discovery job was configured for as specified by the "Client Machine" field in the certificate store configuration. +- `,,...` - If a comma-separated list of tenant IDs is used, the extension will search for all Azure App Registrations available in each tenant specified in the list. The tenant IDs should be the GUIDs associated with each tenant, and it's the user's responsibility to ensure that the service principal has access to the specified tenants. + +> The Discovery Job only supports Client Secret authentication. diff --git a/docsource/azuresp.md b/docsource/azuresp.md new file mode 100644 index 0000000..864b84a --- /dev/null +++ b/docsource/azuresp.md @@ -0,0 +1,88 @@ +# Overview + +The Azure Enterprise Application/Service Principal certificate operations are implemented by the `AzureSP` store type, and supports the management of a single certificate for use in SSO/SAML assertion signing. The Management Add operation is only supported with the certificate replacement option, since adding a new certificate will replace the existing certificate. The Add operation will also set newly added certificates as the active certificate for SSO/SAML usage. The Management Remove operation removes the certificate from the Enterprise Application/Service Principal, which is the same as removing the SSO/SAML signing certificate. The Discovery operation discovers all Enterprise Applications/Service Principals in the tenant. + +# Requirements + +### Azure Service Principal (Graph API Authentication) + +The Azure App Registration and Enterprise Application Orchestrator extension uses an [Azure Service Principal](https://learn.microsoft.com/en-us/entra/identity-platform/app-objects-and-service-principals?tabs=browser) for authentication. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal) to create a service principal. Currently, Client Secret authentication is supported. The Service Principal must have the following API Permission: +- **_Microsoft Graph Application Permissions_**: + - `Application.ReadWrite.All` (_not_ Delegated; Admin Consent) - Allows the app to create, read, update and delete applications and service principals without a signed-in user. + +> For more information on Admin Consent for App-only access (also called "Application Permissions"), see the [primer on application-only access](https://learn.microsoft.com/en-us/azure/active-directory/develop/app-only-access-primer). + +Alternatively, the Service Principal can be granted the `Application.ReadWrite.OwnedBy` permission if the Service Principal is only intended to manage its own App Registration/Application. + +#### Client Certificate or Client Secret + +Beginning in version 3.0.0, the Azure App Registration and Enterprise Application Orchestrator extension supports both [client certificate authentication](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) and [client secret](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) authentication. + +* **Client Secret** - Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) to create a Client Secret. This secret will be used as the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. +* **Client Certificate** - Create a client certificate key pair with the Client Authentication extended key usage. The client certificate will be used in the ClientCertificate field in the [Certificate Store Configuration](#certificate-store-configuration) section. If you have access to Keyfactor Command, the instructions in this section walk you through enrolling a certificate and ensuring that it's in the correct format. Once enrolled, follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the _public key_ certificate (no private key) to the service principal used for authentication. + + The certificate can be in either of the following formats: + * Base64-encoded PKCS#12 (PFX) with a matching private key. + * Base64-encoded PEM-encoded certificate _and_ PEM-encoded PKCS8 private key. Make sure that the certificate and private key are separated with a newline. The order doesn't matter - the extension will determine which is which. + + If the private key is encrypted, the encryption password will replace the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + +> **Creating and Formatting a Client Certificate using Keyfactor Command** +> +> To get started quickly, you can follow the instructions below to create and properly format a client certificate to authenticate to the Microsoft Graph API. +> +> 1. In Keyfactor Command, hover over **Enrollment** and select **PFX Enrollment**. +> 2. Select a **Template** that supports Client Authentication as an extended key usage. +> 3. Populate the certificate subject as appropriate for the Template. It may be sufficient to only populate the Common Name, but consult your IT policy to ensure that this certificate is compliant. +> 4. At the bottom of the page, uncheck the box for **Include Chain**, and select either **PFX** or **PEM** as the certificate Format. +> 5. Make a note of the password on the next page - it won't be shown again. +> 6. Prepare the certificate and private key for Azure and the Orchestrator extension: +> * If you downloaded the certificate in PEM format, use the commands below: +> +> ```shell +> # Verify that the certificate downloaded from Command contains the certificate and private key. They should be in the same file +> cat +> +> # Separate the certificate from the private key +> openssl x509 -in -out pubkeycert.pem +> +> # Base64 encode the certificate and private key +> cat | base64 > clientcertkeypair.pem.base64 +> ``` +> +> * If you downloaded the certificate in PFX format, use the commands below: +> +> ```shell +> # Export the certificate from the PFX file +> openssl pkcs12 -in -clcerts -nokeys -out pubkeycert.pem +> +> # Base64 encode the PFX file +> cat | base64 > clientcert.pfx.base64 +> ``` +> 7. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the public key certificate to the service principal used for authentication. +> +> You will use `clientcert.[pem|pfx].base64` as the **ClientCertificate** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + +### Enterprise Application (Service Principal) + +#### Service Principal Certificates + +Service Principal certificates are typically used for SAML Token signing. Service Principals are created from Enterprise Applications, and will mostly be configured with a variation of Microsoft's [SAML-based single sign-on](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/add-application-portal) documentation. For more information on the mechanics of the Service Principal certificate management capabilities of this extension, please see the [mechanics](#extension-mechanics) section. + +# Extension Mechanics + +The Azure App Registration and Enterprise Application Orchestrator extension uses the [Microsoft Dotnet Graph SDK](https://learn.microsoft.com/en-us/graph/sdks/sdks-overview) to interact with the Microsoft Graph API. The extension uses the following Graph API endpoints to manage Service Principal certificates: + +* [Get Service Principal](https://learn.microsoft.com/en-us/graph/api/serviceprincipal-get?view=graph-rest-1.0&tabs=http) - Used to obtain the Object ID of the Enterprise Application, and to download the certificates owned by the Service Principal. +* [Update Service Principal](https://learn.microsoft.com/en-us/graph/api/serviceprincipal-update?view=graph-rest-1.0&tabs=http) - Used to modify the Enterprise Application to add or remove certificates. + * Specifically, the extension manipulates the [`keyCredentials` resource](https://learn.microsoft.com/en-us/graph/api/resources/keycredential?view=graph-rest-1.0) of the Service Principal object. + +### Discovery Job + +The Discovery operation discovers all Azure Enterprise Applications that the Service Principal has access to. The discovered Enterprise Applications (specifically, their Application IDs) are reported back to Command and can be easily added as certificate stores from the Locations tab. + +The Discovery operation uses the "Directories to search" field, and accepts input in one of the following formats: +- `*` - If the asterisk symbol `*` is used, the extension will search for all Azure Enterprise Applications that the Service Principal has access to, but only in the tenant that the discovery job was configured for as specified by the "Client Machine" field in the certificate store configuration. +- `,,...` - If a comma-separated list of tenant IDs is used, the extension will search for all Azure Enterprise Applications available in each tenant specified in the list. The tenant IDs should be the GUIDs associated with each tenant, and it's the user's responsibility to ensure that the service principal has access to the specified tenants. + +> The Discovery Job only supports Client Secret authentication. diff --git a/docsource/images/AzureApp-advanced-store-type-dialog.png b/docsource/images/AzureApp-advanced-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..2b71e8ce6f47e0b32fe97f5ac26c1e77f438c5f8 GIT binary patch literal 41691 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 literal 0 HcmV?d00001 diff --git a/docsource/images/AzureApp-basic-store-type-dialog.png b/docsource/images/AzureApp-basic-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..dc2fa78b4b3e43f8b582da93cdbab049728fd819 GIT binary patch literal 54648 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 literal 0 HcmV?d00001 diff --git a/docsource/images/AzureSP-advanced-store-type-dialog.png b/docsource/images/AzureSP-advanced-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..2b71e8ce6f47e0b32fe97f5ac26c1e77f438c5f8 GIT binary patch literal 41691 zcmc$`bx@XV+XsjRDxfGJ0s>;tCEchJam9Ha@r&caTT)yA{XX7(BqStsA;AyQNJuvW;r|79k>L|ROm`V1 zq~}ONAKrbmkKUNHv&NFWZr(lC?RVO~@e3*5!~Z}nNeC0;_M?|0d>9x+PB*Y68@_to zq>zpL{psfu;Ut{Zd+8X0g2dHk5z|Bt1&?J~en}F#O%Jm*&1vj`993aRUz<>xfo@^z7o|m-2Gll-^zoMq>pcJG*uF)b#bcCh?gQBBfP)VX;d_IeM}vwg0SD>wFjJdeGzKBO46xcI7moJ)#XguMB5j06Z21otQu@p?31}?AE+s;m{#n>BY3!$DwuXIa<=ft#Ox&g1Nj|8zW^@WIvPU z&%GuF69o@abl1)m+Bt&k7fIqeCjP|7gk{KH@%ZvH*c+pCbX*^o$U+oVYiVeFNlz!o z^F#iF@yg63u!`wzC_NKXV_jVW|9Xyvh_*$1D1(5OcYrAJOv}_=>BkJ)`ig`1J}>Ig z=bRj#L{ZthyksC!mm_(5Gl@iJx6`wh!RFv`-8E}KO4*SziH#Ch>I1&QgL%oT37fw? zXX%40tUJvPy4*ECl8HQj*}lw7suJ%`ukUrxnKu-c+rP@@!WubDLPLxB{KlS@@5qiStHj}DG&K*w z3!c=K*a0DkLHnM;bQ#YG20cw39Uc44p(m|AH(mpd@K7LQt?J+DZNw;hG(d4(CocXV6smn^v6z9C% zh0a&v+|CvRX0C@%W6l`U4?}YY8mMZ{?NJz({C=yJ{@O{EPB*tGt?z8VA;CjRMb&{s zM$u!wYJKyxoX>e@^0p&a-(yTn>^EV*^m``oodk@Gjj6Y(KFbFskS*vg?~g}n6>ZAJ z5#IW0l)9ZjgchN|1=FfmMKJ8zl5?f z_ZJHT<4;EfL;Lr}zUS%E=@e)`Lk^=D`TgD}iD#0oUD)_<_>=9Q^;SPB+8)9nWvLWi zmW8Z~esSPHBsk|x@-5j3u`;~Ka&mrk5cN%VYHQUqc z=iT&SSy8ORuk-R*2)X?m_$K~zPorbnoYGo~<@;A{+|1gfdQ+MSW3o_;?mPe54GH%7-4O@mr~XQJ;AOo$7fd8 zZwITi+1i$-TC}qlZ4-X4PQ*UMbDWTh5$zmQ7?;akRm+ucX{TwZYs;E=Qxi0AW~$-i z86Xp}sO~3pDQeRTW7NK}@Do~*Q zD$VFby2peTSgv^I*`)mA=hub$jAF{eT2oo*&qncEXDnJ-%SJ-iN}{p&A69E_fb(H;*GVlz-M~(6!w@{N-6S-{MA?MHKP))rjJ~|n4&$M4BfgFg*h_P zF3C+y67n!5r?IZ@$4}f#RtLIBGwzA51_PJ7=Z9$b@(qxv!iyvB6f!edC=ro}Z}K*j z-=4DH6F?3y>;8`8^r&L@HmdrxW?Fp`cigR=(e9w#?DaMjnc=w=SGtzZ4>-q%36|@;Yd!DSZ{Ts79T6u^@`jGz? z9eon!Br;>FZ1b7N&rI^6-SxG4XHJt_g*g6o?cEWw>hAHws}5GZ3eLAw{MfIU;-M0i z(Eb|5l<%<;q@%4pzT35Rq|=7Agj1+7`mV-)U0&^K<`Mg$X$NT`bHdr0C zfJSR5&-bq2qX~*&+B+}kQQyn3{5@1tEGT&*i_<+Nxa8Rnj2lX=c-e3X#S)*m>L|G~ zHnP{1#LRa7jBBG>Z`ty)%#KL5EWEF{FZOiWr7E#wy*7*0c!firHf=4GJe$9Jao_t@ zL(<+z;ba=-jMQS-JWu^w1GnmOnc*OeAmQrg4QaO^p2a&X%?GhqL2n zb;HL^hBqe+aGForTdAD)!z@|MgNJn1Jb7_U5R@#oB}C>tTco#S%n1EoBcvkcC3-PjC|4HJ)pP zV6UP#B$w!16Uil}w%E6%V{akzdEe3a>Pg3x_T7MFW@?Ux6dh0dtL%3_94n&Yv8x7} z`D2e+-5#Xu$pdqHf|SDmZtqob+hgETG4{BzXzW*ZOb?2m~|~( zwLNBTJH}Wmf%$eST1W^72Ij{ln^d`71n=I?|8k4e*v;9lG z6K$`aemlMTdwDJC6Nl9sNNTRvkIwvz{bH(_hI5m4n^R;i%FOK|Y*wrtyPo-K9Lj6h z58Esy9}~u_4ts=$hhx~Rvg6lswB)E?RhXzU@hLsdO}X`&n&HV%lWLAwMP%0+ZGDe{ zO@})6dx&|uQbxYaUWO>|M znS%B~2GYdO)RYe`^p{`5gEY?59wn&VdU(L@UhChqGgw(WyP@l=Wb!qloP231g>ygd z1}A3*bq?Xt!txW#HAysIo{_HI%dqk@dkR0LlQ%|JWXJ&~-LQ*26(Y}r)HXd6ebL2p zY!|ejN^IaujA+PPw&c7Kq0rM z)08G%>Yn(})TzSlvWXMgJ>HlYRM}Iad<(BMO-rB6+O{yWLLB$C4LcM);($`U4J)pl zL%YN>$$IY{vKm)6d>*O^u}j@4>$S-w6&HTaLGM^zrJ3bzkEm2$KmY3(bIaoS_$j}U z!*=y(&ZlDYPi)Yxf2YNilL!b9Ezo_qPTjcVQVTU#tHfx1$c%_z;0s zUy_6d692-r$UtoXyCJdEKCaB&r9SHQ$S~@0e5!G`9^s1CVjJ=G2qpbgPTN zZ+T8#9?gyj2Pb5r(Pc}YQ!8$}EAL*+&W=UhSl3tNPUmpOY+B;Nvk*lASKCJdM<0I1 zDK{j^pZA%(wR)yvoM%;#V3T@Qb@7+Z@j>||IyQTD>_zl1*Bd2Aq5SBRiGcB}7(I4) zXy^?sp&S`%uYA)tOi2+-MTRoY0^2n+x0 zO%}N(;k+Kgh%BPGM^y44)Ouqw+^nSLZS5nIygd5)`eARyeStT-AvGswm6~vp!b+|f zN0#_)FS%E0LZloFL=09koX*cIj&1)8_1<^VGpcfq*@gA!P!TiMe(Y3o(fD(B)8V9- zd4x?7ca5lL#J4$iUEEanhCuxb@|Mi9%A22)i`nW)ZFNs`F-~S*XHf9^9j5v&}+vXJJfGUTD{co=|G{xM=a|KcOF}J758UgF%Py_CB$`I zBOI$vwmzwyeqtqXWUfn%MI|vDBp|xx(9z9FQH*kAG*J$FsqyHQdOMwHdnd)r$dw?{ z*zw)Ev8(OSD>>Dh5hudxW3~ofiJ8>4{&LnUqv5T&TxfsF=XaA*7bSlxH+<>YpAhX@ z+Qo5tJTNhAex*3B*yAK90?o4xzEbfMD_^&}LM8s5R^GN%m$Q+xIc6?EES)-tX~Fzu z{+y;CqUk2S6MoJ2jTmG7{^A=*0>}Kn914>{lE~C~58OW>joBC}EVV!U(@}@Tfs#p| ztCO;9xhi@S{hN#a)KKk&7@C~i(#V*6V#o(~jVdlbe!YR@xvvwNG_k@b+a-!Yq0yZ{ zF+2o>rBmYFsg|T4^SR^ISBaaJjEqfBa-@nFFga?{ybiQ~9mA}OKXVpvWoB4>Pu$ej z1K$>_x~_BJ*^o_i+=*S0?`QFZt2-MG2)>E_=JpW`a4>ol>Np1P9yN;`K?9C z%}PT`P2C)3w76f^Oax;2C1c-MjTrHGjRsL@v$6|}ZTY#`J1783(rXWRfav20_^74Vs_v;JQt`8D0+V#OO@OB?q}cBcFv<_H zHT+V69v4+F_6ktF%flOd>ub_2r#3pAfw|!BsoW(d6qV0a%VvBVs#cO?d=fWWs3()F zR?VSS+Dj}gg_YBgWNvLHqFJ9d*1sH|I?|1nCb`aL`O}|!m@2f+9)kP{QsVrm{S8G( z8%FqjRG-X?Iob}&rJdNjk8_h4w5IMN`+&p=9 zqN8pAW5G{DM@zi@!Iv@zc4?I?o$I506^~V!5zsKrPR}UQlG6LZVkIZ<( zMCqVj?!dM)@T10qW8+#VS$cMM^SigwR?ib?IcRV0SxJJ-p%_h6z>;&4jw) z>5w6UTbbA|22)7vPeX2FK=D=L#`-)@;BONi5!&AC5?HhJL+|#9lX~LJJ@3{r&D1 zXk2Xxe7=&IgCSF_Rz^Pu42wl$AXw1x2J|QS-SAU@9BG>g{W&oo#XP_r%cv9a5R&hY zV6nP2>!z|W;mzuNIjN7ef%<2A-M{~L`a>K1GW?o941Jbm&RdQVIwKrP{b}w*D7>_J z>tQlF$l7vP?hW6q6KF|fGpDw={ePgXcAR3$pIFSA`uH;ba48Xp$lrm^b@%)dEv}{{ z0(z6$wKF3E{aJ|cATc}Rh*x_M7Huh9Z~y(n#18P3FIl>GF8=cx`tIKJwo$d(jbv@y z3_MrwOffP2o&ir=F1*JTTd%U&hf-yxNj!!!I*L@TCS1OR60B)$D?EM$p&t|&s!YuT^~-ZxMA zQ4-9hroFB2qD~Fx(ZVD+V|<~_&+|3%95*y5PNpHA3uiR{>J_jI4|U#*EOGRxQv|jG zzVIRDYzxg{W1FLC{)K6tuEkSt`9256B-AchG_QxR=RJnbc5_LJ)9?8ypY+0S3^`X5 zk)666L!k<-j3Rozrt;#RMY{b7EACW~!>Iel^(B?wgXTBR(gG?I8+k>{sRrW}8>5aM zakX5ZD^p({e!U_*qTosON<4qDW45BW`NRo?$zzE^-Og|(qbEyCOR`tN8gJhs<#{!?v~^zWae~|N)Syo- zpM^wao$K(_dr?jG#ow0) z_*2M;DABOUOaE( z5SjIZv(8TC`9^6WG~$%*9XWuPiLm@ulBit-zNGLu0!cgyVwcK|M^VIecsAwYeL3FE zpkYW$BDU@sqt!?~2ATljvq5xso3(-TVjDc{7ljOatax&JcdjLm_v~t>+B)8gnV%y; zvo*JuxZR6`>5!)PGB);<4q!V0zW83FaxGq)MC>J<%~~ZcGKS|bbE(>NmVO?*F1_6A zy58zQkD71*+_?LI-8XAK>>YL(4o*+>1=rLo&(9fj|6;4P+R}F}w;+k)`4|9#k^V4K zi}`5Z)M(^x_ih*u|A^>ACuLC{vq7H&TB^Y9 zMoRmgmN^)dfIpkHlMhT6SLZ);|NTpK^@(G;3%zk{=<5;J*PYC5{%H-9yrP1c{?Vv= z=bKa-wK3ET+Y7@)uk!-!lEXwhsl`?=1w}wjR6J}Xtbap($rma8t*Jz7qmT=25+fr+ zCUr_IywLeY`_lDaSQH)CKvHcv9)9t&=G_cUx8bGTT3H*9uKYauMA=j%sO*AXLW}Wg zetEe`X6ev@D$tFaLgOBUt(wjO3_A$mN2D09NV?f)N*SJ~9@Rli%5Lm+Al$T5WuE`m zJs=uIj#~TS`W$50>({cz##M9M>JI(O*`PZBdjGwGy|Iy|^&TVL~fvyRRzF8=^pJ{oZf=uWn5BP+_GL4Z_7LGp)h6qlN7mx4k> zU|^`PTw;B1W64$z8eriV z(!F`}_wT3&`;9GVA~ZAuzhXnb3Cq%(Tl2BJ1tZ{*-6^u%(9+3iT+@dW8Fb;0~KiF@6JCL|-Y)`9G8DH1HW zoOeyIAiq+VoAND_oqaoj#9m2--{h-2b|RF)DGJSpCyWL3dkFg4+5Q(p7)as1E}?uv zP-{2!P2sbmGq{TlQ~AxBEbxqyGFM-bOi-0~QmWZRw+BmMxx<<*EMsdJ>AAJsWMrLb0x%8q2@ zlHHeD#ys6wEFNK3*p2IMn!%q@N)cV{Hda!MVlbK_%QETk_7+V@d;2Y<_>RqbrMx4W zk8hDmfXK^5ei9|W2Y?+}Bv39cCJ9?=Y9Xb!YRgVCu@;u`aRA&O%K@ZWujTj?wtdkw z@X(WG(X93nNtw6^jn3mQchUNg zq!J23d!}2!7xF^+kr0f=TXb@{=~0s|A-d`3_H&u*^zbFLp#*mD^>&dgEef^vHm<_c z#O|7|OF(-J@&7)vV%)wkOxOf`ygG6BRs|4447>Md|Js0FhLoF_icT+IB0hcZbO)4`kkulPWP7+ zhu6`&O-xK2R^mPN$4gB7LZhOiMb*>@Z``=Sl&zWFvwo;j;~cR*oZFwJ$iN9w8&zCn zr0|Cix5c8E8%IY^2?zJO$bH_cs5~PlCoj_Py-7)#=~OaBz+r1X*Km)Xo_=K{|0S2x zQN!TiVQf|{^D{Qf@0aJtVNR3H&7QmS&6tlKeev`}5f>LPRUOKZ&Aj{I0SPN>S>0-U ze7u5^QeUB7H{Nh1$<=8MEtBJc{>A0xwjvkUUW(&dJq9`*5N>GV=7X>e7 zb845f1C8MvRei=tigwc1uiv;`IZI1RZ%LsW@#hX(U0pcHWhuOKb-m(J)RUHej5vDc z&lkkmH#UsboOk&mnN8Ztt(FaoHnf`k-{^LPD`glA*45X8dFVgOC3)uM?~nZ3Y`Vtz zbTMpDX{aw*gbf}hx!>*bQ2sqH?;PW}>3?PcjFP9Ap!d0~CbBP!n-E5Q|9)GyJGL{< z?W(mkh;+2Zg@f1gfzF@LHx`zbhT7P-Lbq$LV__$!w++Fw{L5wLefy-_?W+DKF)vcj zsx=xBceFby&Jfw{n&T;_W2%k`{{*rR0s@6r%i>73+f!oGH7@PN{7-OjfRmHitzi(k~{s+8Vm58}H&4R+h{F0KUv9XE{#u#w{ST~=9nVFf->FEX$rv(KC zd3kw%y1E{O2+QhDU0gU@T3Ny2%o$xw$z=D5iHRGU5j*`(QW68n-QAt@XhbVZvCt!c z`)tKO3<9bxp4Zbbv!Zlyd%OGWaGf&xsF}!ZW^vJ`d(AR;;;e?HX_A$h=VIqueB*V4 zH)fI1uzydFB)=b?Z035pSZ{AH__CA#E`ZB6X1ZLa!9W_2%O_+8vu9`PxdvlJAzb5Ht=2VWwLf)!ZtiPlCZz<=CF7enZ&s|?yJET8y&kh`}fOhkvE)+qgu)D`-Ga+W(^A|ip4Ai z(mm}X1*}^Ams==k?TQ83_heGV7n8%(>ZYb*;cH7scL-DyRvH2SXXS||mk0e4=wX#M z>;(JE-K2DMu%eCM?_svIw4|AHSF3fyI`8i9*TXL_$2$2#9@QUsdEF%u4gU<=^6uR` z=bgVOSU5P-QUpdp{E6`}c9Er2>@!vE1a7VUL9YPJfe5=dFOB4D9c)cT4Q9&sC-9-B zh(^?Hj25<2SzTXU7MV@Q*45RG=hT{vmy}gjS^>r#cfI=l{re7-fW4FXfc*)pZrRL> zDu?~2%*Ib4Lg3jRV`DdlztPGoE!7*z(@085!E1xWoiy*V*%%3gJ48}*+GKh{tJYDV z)2`p2;x}8ERIrCVh)r>Qf%V>t!$SSNwt~V_qv0H#!?nSVNG4y{n;nS3TNpSv&11zz ziWS!65H!|n1Ktqy3H__At{1HRsS=feN~{Y}Zo zujc0FUa%jF5zc1TGY}vtzEJs_OmY#{v|yj##d!t;tHO zjgdDcCgc42`ecZZ$;I6 zG!zsW9buLl8pL|tv3JrAE>?%K@gX1T;ehR$bAJ#p^58!C{hzfmbaV24{D{@feNHu5 zX{UF*HTkyn^r#U>y$5Ecj<%-*{QS^2$BOGaJN;BEZD&_j6c%5v;hKILO~=@rkdzn znttH2va>_mfrIhAe0*Ne(&k1A{9Y2CJ}%{kCI@XYn#(B^3hiDO$F}*wiWFi|19+|! zX7gLy+qJf*sJJR{8)>Xg1z0l{;K$vn~f4t`FH2636p-R%N9p z{#I_ynPG988?-FW{SF4il0(Hq?TDEmXoW`UuhO>npR z(=}YMj5>P@t!M=7!Nj~CJDn`kpENb4bxwWOlm?eUE_zDI!$YL0H6P-1PZE#WIL&%% zLUDDXyiik5FBKAn5}utU817pJb~9yTtXRa`-(L>tH3|a4aGP>p4 z)yJ{)rW34uQdl}uRSrHeF)`8~KUzzaib-MdCH5lXKn@}=^8+6rxl*>=>3jfBFd>&C z84j)5#{s zSm{MvV{bXmjpC(%|3^(t&9;HkygbR%)zr9Pc{K;Va)`n3(f3Wpii9HQb$ot>hT0AvuS2B?8Om0kE>QvO5Rxnsh8G*hZXbTs__7U{;o)6`r!u=)_Zarm&4pCnOjhhnM02Ajm;yy^kB0nlL zBR>0#Kn?cm*`;m9-}n=ykaRjDnLHe9*kk6_*E1m)YA244R(cafW8hlv-@gwAph4l2 zK$fjsD(CT#C?}f3E~oF(uJmHxMI8Y?#n)dPVjbmN?(?kkxX*E1pIyl2K}6auWM3JWH8|Lx{^2 zJjNA`szmyDhwc=91h5|6&duS^+Q3H)*VGGCJK@BZ#Zq$(U_62 zprBxcj;!oeoK5!H1dX}d4GX{Y94XOHwGa(!xL zweM7I0E3VDcH3%SzkVg7pqN`5%v4ZRgc&|W;f3A|^>7w|4B&nZ?qVfBZ=u%NH04qn zs3P+_v-OB->2~dUcCh*_Dhj{ZpCHlg`l{+|Ewk$S>KswTp`Fl&g$x?nl-EM90}#y0 z%KAx9PcPim(9lOb^(8U!mu{ZxXHbEGmKqjE*0`Kop6=<;GcX8=iY5Vi^>C1-kd3Gb zwo?wHQH6f{(T}E9?)c)%uPuzrvqQ>#B?DB8bmh|PIJ?y8oI6yktRp*wWG;xy>$JTh zA-PEh=?Co|0L7p7c3+75kn$om3RnQOYR3?V&W?_bonrvjbPNoM4*S5WPj>#<}&t0vq>5N;q;e3%(x_=J~cyMKyMzaum7gg9vZ^7 zY$_YGS2{EpzOR0l*tEH$9rxkkNnkT^Jc<`w^mTP0GI?5M^wlAI+1@?qgB6cBA zfKUV2kMTrVAfh@L+2e-@y8{ksZEc0%35n2!z4Y}(?dCdu2DSAyGxN}nLbW54tE(%7 zQeaS!){3%2uFY!So!@npGL#kHRRh;zd60kvQ4Oc=LY@v}D<6xq{ME0isTmm^&DZV3 zL)4Rpd{XxNoh2-w5wW{HMmB`IH zPHDem3?jgZwKXFw@;r=#j1oCJa{^*9b-#X&{*3kK;rg)ELdzp?OF8VewBhlP^oy0$>}T(EMYDYa z7#_oJQ`gnC73;TsPiOi#IbaPfbH7_l<`FDOtlO1ClRtsTyLUGbEQw$+KchQtj7&X5 zfXF2nT1^4qbSUZ&ptI1DN!i$NPn>w5Sj7(-nkiq!Wt^YFJoTWB`uhdwkm$Ew@tiIM zS+5WIL3KrNDH7}Nr1|r2h4152M8x;&{YKxaD*Z*1^`&o)YNokOR{ZzJPLvsZ>!7oY&8{t zmsRn)v`lHuwg{1Iadha}a(;RT0_cj1Kgg}x6HcDIXIi?Qd3KTRw}%~rnXDt=ht~)J z_(4$cuAH14A_HdY?(oK-pgsKqQThe?6hwHX$*Eh$76R>k45MIXR@*(UwF_IxpnU!M z4lKH{v2mMNdsi2KV(-k{oaOi;a8@V+_7X}emX?-4(*Crzrcbz?_#~L`FNr~*Sy)-s z4-5o@5ES(DCxW7>si|Q-c>+v9GtJ1kYZsFN7qa04T#WL9K6m4ychy>3 zTRV7_@b{o0y!TMo-o74dHlOX|;{zq+@A!D7Xxy+5906a$Gf}dLrS=B~2Y*jZU3Qry z)RMI}zFLL50r28+a&m%a$B_mlmAOrx4|Jf*Gn|wuI+Lr$QmfUhy+$Fx6KAA3$ef=E+8^V`npOO!u<)RyS|37|50u;h>j&o)?KI*b* z*%NuZ=}%3UIbRX4Q5e2`zhJWAHELd)xs&_qAK~+4S}qX-7soESWNr7YFr#-;PSEvb zPE&1P?d1eQ6DG7~x@@eAbZjf>Zn-2|Z4&b_l!=S@od z=He%J_1oyvC>|=R@42d<+iQW%+VhD=bJJ~oZTBffPF1kp572!mF`Z0+i+wh{fmS;m z^3U5H_A@OQJaDn^82=w%5BZ;pqrbw!NdH^^O_u)8izrPNmPKLzc^Bos5BNX7i}F9c zn66{#lPafn1I?GFA6cn?2a>vY6jvx`KKbXt?G&?1Kai+a3tc0dPnsVCwqH)6wyO~ z@<1WcIyn31B^|?zA>|hgeft?U=@s31a@tAD^6V~K6Xl?G#eygcsH#I=-K7zMO1!<} zf$OKsq+0GTRU5TlEJc~In$I8w1_mNXF<|r0-k7A8(Ei4|oOb8i6N|`2bc8 zvsq|p{99TCU%Y&Y5S5^z&~tXTwN=b-B4Y4+nzxdfHzxt1)`!uR`|7n8^T;3!S6!X0 zBSgB-@VI~)y~DzA@ccaBj8ZBpDwH-kIZ&Iw0tUrjV*qf>Y&y{bO)xW>mVqG%#Hi_B z_EfPb-IGf7TGt;?oUbm=r+W*)d4McwzvW<8!k>8KZRQ}JT47<~{ONKWDHm4^U^2qb zKoi|TEk^$gV0Ec0rX3{KmEl|>0ITW5+J?nSvCex!AUK7y+fYDeqs;Wg^8!2Qfpv{_ zSi;RwDVN@49~&L*Ew|DGihKJHtcv~B>GJAWG387CAD=)EK>F_Pp8x6ZO=%e!hrL!( zkXLU1hNT4wi4GbVs1Wr4^ZdpH0Gq>d7l1HDpPQ>(>JPvkx8(GA+D#8=zxC!=2xuHX zV`ELpqJo0zFHZN-&y5E&WI;AeT>IBziQ6*tnkYP^wKZc?UCP&6S1*m}hNcK|3_|-x zfDg!3!!qm5wY4@Vhd1nJ-Ek1A1Y8&*$^t4O_vL|1&Dk2Irj}L&Xho8b%Yaj#?6uQ6 z0GeKzC}#i&I#)cbrZv~#Z46itz+^NC*qE3y)u98K^0@`T$Zp=c1?8Gby(U^Jkv|`y zJi-ccUtd_kNey}v?j#BXH1+ld!WCzimr>pVC4BJUf%DO*9vUHMI4FXFQBlg9E=HP~ z?*To+Ihm{ER8%_l7Tcl6GaK)NlI#HYeFD_FrL%Jp{y}~#g*9bAj}9uqDX3{6t`L=( z&)&3J?#i|$Kt#aq^{^`b9LlGo2JA&One>m(+D|S@_92wQKt(_Rh_82074kmaKmc#p zj@x(c+~|SH8)yrxc3aOt)zEJA!5+v}Cn76H;{;Rz$Q6JK(oA9iH+@GX;C@1fg+~=O z>&OV6vND*7Gdnwb8yQ(nAr-`;rvd^3Kr?_BHo#t_#yZ|FR_X+x-wK@8+s7vXZZiuu z8;H=^@wNnDA_N)%jmkskaAPzmU#t1%%;sh%@Gfs(Uj)}1oUBGH6p`!67f3LmzX)P< z1L%lne8;$1tr$pzNVGL4F9NuZo&s3L!oo5?J1_tk{28zy5^eRtW38qi8cQ7!(2nIQ z2@&ada=o16(J~+5yJfFdtRx2d+v-#`2ao~d>6#djzxqIg<=vqSiH`me5)wlE_9i?W zygt4$MnWRM3V>9FfZ<3`qwb-hHFR|Rn3zxj z0pTmSJYcIJ$Qh&)1uc5!pke(qjJoh|MASOi+xKKEv$%qhqT3bS3h9CSM)P)PXsCzC zDG7-i3-kHO$;`@13+NJgB_+t8AU_sE@xh7!!GAkV{NHDqg=gYO9$qhZy{wq+%XN3Z z1Nk@uIZwjQUZLW3aD1E!gbb?H?D{(DA3*iwfPotulk034jfT)bcz{bQZaOl7K2)dS z0Mefr=%@&z0E#dq9nc%e&BdVxkP{-9P4Ix#&jT^3+HJxQ2^A9&dC93y zn>TOn?C)!h7U(Q2Ec}d$Y6pRO=jbTsV9y*l@9E*N`aM+C#Imw*ux9|ANG&x5ty!9z zBhejt|8NeHA2-2!3?2M|`f=rv@GpqN-P6eTEo z_b4eTl}e1gYioIc3OgST%6n+|Ah}=zCPVK9P=*(LS#xk=- zAWZ;ku7?DLn(sY(2!)|PQQ#r4aZq)aq2_|x!(FxC#X+T370xncUr+Z+GLhd8p+CdE zV?VevP^c#{<-9Kj)ad2?`}fguCml~qD-bpu6x|3qjhoPI>RVgyF)%RH7r@6piHR>k zTBM)YuuA<1a?3K1PXwz&h(|#ALn*f*bHGnQ$}1?)gf0i5`c@t|HB%1D1cYuE7Fk(Y z;Bb{~nj;|DcMPPAkrDgG=~~llYP!`mvDl4ETxt$vjFE=QI{G&_n5XOJR6H9I{_-(C zv@Bt5&}x7GM$*$;w!E>u)ETu%BMfUc?2;pKpR^(l5G>ms7WnuBA+UZyqJOB`K0%K$SeSJmTiP>0K!V(e^glRAT zanOT(d~1cluG}pB;5cY88<57fF=ZJUE+T{-y2_DY6T)L>Px%iApfJtPB0KoV!Wl{r zBN>yElW7hVTHpqkX)MMK7}{i`v;+rZJs{%lfX>pLnOmb|K$)SG-PGBc-M2V0Hl}H0 zq?~E;{K#2$|32#L|9UleK0G4wzd_j>CRvgHdQ-UR|K?3$B|l_*b?oBb zCI56ez|Qfz=(+>?uK$goGo?hd#W1t}L7pemuc-f5UQGUop*0!8L{L5CaVcgjs|$sH{AGu3F7;1X>$n{XYLo z>~fXYQKu}_+6AJDI-Z*P)Mno6tP*35OCzP>>#kBSs^V%2t`XZZ^tg;O2cpPqHr0`* zQEzTx0c#&I6p0^wexw> z9T>ZMz_%{g@o~rYV{dv5o`e&&j2zakz7x}BmUTaC}tD=zNA*JEXB?X<w5xxM$W=QlY^-2ul1-`9fTuJfo%ecGAeI|>ltSI zgIVxtAWaHkoPdQmJZ9;Ks5X##nP^H#m?WZ~KuKCyTnurj&bT}Pcf=f^jZ*qDzFE~@ zC~KC4No zM$1oPkYFZDCbEl^r~!|p0K!DWrT-3afljaM8RU1l?Is>H)i;I?Z?g#n;CT~D1|1n@ z!YY|y=Y;ud>MrgDMLhh^EP$9&(O3boRHl@|j&JCc-yj^*hEvH@#W65Jrvy&YYesrYmMhQyyZVqf3)49_c@t5)_g4BS`mo z_EL^k`I{HN?Zq(O(W+q3OiUA9mA$NgA^$FWs=Ilf`@ps9G}?-Ld5W-xBW`hN5hPj3 zm-AGcsTHP2Wk|rnTRJ+l!F8|(v9t^?Qsmq0;fV3|X;(Ik1Aty5RqN^!$zmoxSz(ju z@X8;-2(HhDYZag~9#2?31c0@WT{@)+;yj3r(~?mDf->^Er9ON}N*T2OdL}P?uk$j7 zO_w5m$0xgvJ(LsQvpX1L;!ni4REh^sTWOy9@t?Q1wt9mmjgXHRV3UtF$6?INTT6%UqHK5b6kB5QjSNfwkBW+xC;jD77T=- zX@;=x5%>&njHIOG9}uBV#;33NL2%{uK+^z8=Ex@xbaf0tv%Kt1izk0Ce06aqH&$@WD{V_1(KpPeHSX zq+96bOWOQ{lnQzUCPkI)xU|PU+kI*vp2569K`o71l^{%)fMB|SzyUDqg7BX^Iz(Yb zxDeD4@aZ4G7_ghVKv#=Q#zV`>SiukKMobrg92z38_7_}-VRg3{r>$~NP&gl9VKspD zTnES(+`IcgOe)x$81w`sB=mOY8o}^{jK&2EMWND`8ir(O!AsWxr5d3RBZNE9JPo^p zQd9Mc;eG|}vxV3dr^@L$D_=&o1>Iw?_4^@)?Ln0Xs9z&;Z(##)` zFwxV|3HNNA|?6y?SpYHGNZA>p$ZdLe7 zfJ+Tptv84X6t&ARcu?HhxFWqzOwTgi6p->*i8-rc^*Ilzs~|0L?(ez5Hn8Ksg51dM z%X_2W^E{Ht$m8#)PvE97noUK6<7u_GAcO#BAg9wsh=R`8TV|nEbA9E6*lD035cLi9 z^|xT?1vF^{R}&N$*M;g0@^4?YlU;?~b{9y>oAXb(oms((I68)>X@toDU}F|AR)Yzi z4~%;O%Sziht7%i93bl++r3cp|oAI|CvqUn2db?ii3IGWI6U}C|v%8yaJp~ANwA73U z?yebnAUps&hz(;CYT1(9~B%2Vd0c`8hF3dF4wr!Vtc?p`(GBYyUt)lDoDGK6m1h} z(!EuS%ggh#vlcSLaYF+ZH#qlNUS2HHx)DErKI363YVjQ;c)85t4(4xv-)d;YyTl?P zd|%UPD6K)k!3{tl?%uy&U{*S6tdk>8ZL?`p*45Poc{e@{veb=WT#?mf4aU&R?&6AR zt4EIl$0X+|1Kn2V>#F?ZE;wVt4^Uq6YmK^n@Z%>X5y0QIwVLx&pqzJ=cXdyza6H<8 zwR!-lf@rn~cQb1G!sE}Mw?K!;$jRg3L-78;!T$C@gQPzX8-l+H(+DXC_l2YG{7yk( z1U(?V0;XXa5%@sX4pbNriMCTAQgy znVBR3ncxsWygv(S{g|VMVCE5`+Io6gg`*UzE>>Vg{QmvBqmwxqF>nVEK8#kKgoY+Z zg$NwN25ov+a8yXM6;SQquh!_urQCp7vZw6UWNOtW#F`ZyIDAqVTgjntTx%F@d z=KF#WRpkDCg;G-j2txG;?8UzARTxeIhx-L7sVB4q*>fkF7cZpo4V_>2O^iLiM3Q&nuSv9VMtWk1Pf zQbx?eSAgipaM(2s9>lagJ-`?A9yhlQon|8kXNnOIg4|bVf|B zoUJ5=3^_rT;&R&4!Py=h??O?xf|(9rpa|mzG(v=#4t*-K&mjtQq}=KwJaEux&;h(0 zL^dkhsKB|RSuJipeE9GjofO*9QU4^kETE9&_RS1{lml zufD^iSQxq4NFFgLetOVVAv84TBkaL&IqfuamC1?gO%#}4UTzklt=6u!Epa;DLg1yg z<~xV0{hlCj(%bKRg7DWL%EE>6LLt9Bw$1Pd#-!eXOP_Pjh4bi9I(6}pFVlE{LPYh} z8tu?+7W0%z)vk-5YVR#|@0m3yIl$spj}LWdIYHNKY-|KSA(#@t$KU?`{fg@}HLx-v zB&YUJJ`iy^27{`AiH*$%Bo!?A1<(hyb#)62`bl7>LB)ttB&1Ur-j~xYjDSd;G#@Wr zE9=l@fEAT>HPtOFhrcJX*G9>CGV{%Pdy1fN^ha*4S@QX~F*DRyFZl1`8X~yuy7BSx z`0YLzYXJ|hZ0n^Lh0{+5n}13?OQxJ#e#$^2C%*5zFROjVZCX3hz5B-2Xtuf=yey?R zPep>l!UQxmUjQ?)x3~Wp7bgLd8)RKgJa!95V~n#(GI0SIW2H9FAd-1lN?(2OnMenF zixi4Fg-Z1kNb5E*KgRd#2Vayb&Num)9b>=@rR$Jsx7n4qmzP&dcjWsd_}7b7lvox5HoEuj*fpLf%}1-$ZK zv8D;GT(x6s?-9=rf`OijYRrw7TU(|{Nh#9W#g_7)-fkW$;`?1$bAKz;6SH@47~@h$XbFgd;5%TJ9M$D`yv}&lA&AZ!&_= z#59@p&w{r!H~SV9F%;h}*D3h#X2z{H1-d|D5>$-<`~A;!Wz+{|(~_DN)#n z5J4F=e*M(1Ny(rRz9|jEk<0uiWLh?Li=WJIZpzMYF5zGeIC~u&?k6WDmHp?puyMj9 zb7Rf?O4l{5(@!xRV80iZ76+{h5sy6gd!mXnlF3AAeiJN+$cKSlUE<$8ib%Q>p8vb_ z3yOPXEJf(z;>G>0*%L97X;Qpf73(w|x>hEPw1_jvmKihm7pvn_%1uyGoUtXgzW&25Kd+!0}6_^VUy>!6aTg~h#c2YLDDMhtJ?Q+o)0=10fx z$@{`XPM+FY9$c^Uf3)|WQBiK&wrIIbOB69-Km-FOP)rDtmx?H;pyXUikPJ%BuuPyN zK>-l~C1(UACljJXK?@`&$w_i3!tK+w&w2aayZ7Daoc7LZ@5gOzuib1ERDCtSImhUu z_ddp#wk=+suZi4+Zye!OZcs=VS!y~KZtO4|++-CfVwk%WDnCrWD|q4ulgRu2*j$yZ z^WSlh{-eiO%a~_&O6S3cq=k@g5o65$ElqLjtGws^-%3x!c@B|X7vWE{ahs#3icLD2 z`__uucx*O?U#|Pxh6{t;eJKcG~uQ+2zH`e+Crk+qZ9tL+j0(Hp~iXzlfqgyp$mw(dbLSAAS<1$SpbPn6x$VdUVf}6Q72a7q?3T4)x?z0 zeEWO96&GCakw?4kxzvx)DY9q%C-vI@t|Hys#$=Ch6qw18yQ+cG0jeN zai(&vpSl>AuC)#qldXKRU_;RO^BBahu`7elHfr8MfoWji6r9n<XUE(QF31?=I(OpH3e6;`FxDX^&Ac`4D ze@OWZ-XDOZ43`Cm{&xBmaxNAM=WgFdSYH*yw7#(STA<>)uCujG!@!7?xyj7J#8-K! zHHg2T*v%K|g^TZNYXgYTwQ19`Kfv6fYhfvHoYv$(9Wh*;bxoSIhxS1vHaIma-~%B@ z4+PmVq*e+ll>6|gz`<1V;`E)8i6%I%zzjfcY6b7n4ssiWRzs<|nVC)dgZ){kR-yH1 z!A?Y~(8H=3aGg}*J1-$Prx#p$;FNlf#mk6@yV!Psiv!M!KORfl45Sp3yF5KrxL6JY z>);rCSR5eoKR;yV>S-wy% zK_SjwLY<-LMnh0E02l?}B^bDE4EFpDtgLI^q*aQPvM){-Gtdiw2?^FkS-D3B|E4b0qZGt)7a}+^0@q zM$}eVE6>5MLKrv@(K;r1*){34GR+BSARz(?U`5~yW#Vc=3xU6Gi0yrtD2eYs#iU7q zH0fxO@a02|799P^;)15HG@L^6o-mNX`~$4(3VLRPsi`TJdxZne)DE=yxL!rhAX6i%p$tHNo4M64AP5J71|nKBcFWc^DV>8?tq%RA52_`usv}D(rqB% z^j3whB&8gJ1?N=rdSWNVVM4L#h1Qh?Fsap8O?nDc+2f|oLZo=s*5&|5p(B+>_H^Tc zXxV5PV+7^+log8whkWK+LbS_P`-$Gn8{c9mAo6`Qr%-9BB76Mf$B*w67CPU%o}87n zHLcF5P$E)5Qc{wL>2UUC<>V;X7cMrp6c?{#V)AC_hi!AcqM{;^5dAPr6D;q%WQ$@z zozX}50>i>~!&e@NaEv{QEu2<%3WXQvj_6;j9T^d_uSFBMYt^gCK{4I}#R*eg(c|rz zG=@hq5OpiaQOC9szjkdWsP5fRmtk=vRdVA{8`k>Mkt>P!FJxO1`m?>GR;7rF9_*<003)ZH3iU0(_Y8b7)X^LeWFXJ5hHE_*pRuBfREd=Vk-k9f7sd2z~l zrfJxz80mu_9gd6>p=k6pGaF?bR8>b@BIZ%3`2KYZb-JM`=%Aw@b&*CC!(S!eXz4W` z7L&_vLf{@jZS5l&w?DbC3)a{oM9-PgPSq+$KSG{E1Bg=>J$B58aLQJ; zqqKH)-N(_eZnE5hY`gT0_VE!wE3(O34O-{Wi$;vUpspbbKS0?^=pVRAD`4TdX>J~$ zn((?DOmiEuC%mq`Xj!G;6upEuo!H#rOr#JIm>j>)+U;OX+W{uRK=}|!9sv&V7{b$W z+fi+>m1|vGT~`vuA8ODW8s;1Y3yfepQV7iokya1B77*R-;EHifU}W}0l7LpU;*AmS z38%Sf$zqe^fuxZThfo($i4fd?XQ>7>POz5SM4f~X7P$DPHoM>Z{#^-@+GqGjiD$lW zaelaz)==myN+HMoJ(H+5vL#rkuV7KZev-=qddeG`BYQ9T{bA(?YZw_LL6CWDJ$9QI zx$$Ra@MlpH6u8iOF`0vm^7PU^3c5Rq`}*ze<%H8AkrvH>^2)?&1Dhn6z4ph_BG&;8 zF9jaIhg7%ZCg^nJF6BI%V^CF=T>I?17e<*8(g+5`25|vqmUq{VKH>L*hZA2ks@ahpHXJBojdUwA)RKu8$lP#mpFMYv=E#HxZ93iC$mO{c;@h`PiTW7*`279 z@SOdY^|xgyKD^3j#hpK)g{0l;5C?#*%dmGs`g;=1k9bLC!!#f;`3Vbe_y$*uS*7?}p*T-=4EZ>TghBY1_ zkzeUm?Iv}@9VQXCDm`>fGlPypcuW?Yba5e4BP<ju`7G^YWy6wFVm zx=vbKT7n=|P*%thuo~nHgq=7$JG<7{87NZ-5CFUs!S>*G6{8w~brlj-S_UmYt`zj@0v0Z(9~7 z`9i=W+Ku;|HZX|GAFvzSgBVuG1}4b_-Xh!(^T`2aBi`*`WI*?|c6Sq3_`mb4r%;dt zI-*zN|KV4?L>y=3ls9kPN>m17Do#}J_4S=@cR%v`>ecZU4zNtVgdK)-6rl~^C_)iF z@Pecyr{WZnzb@JDu*L&#%RBDLgRt=N9S2;!rwad5w8no>z@BUy%+ zrOnL3;P?nCw>qnpTmoKsu$Bim^%*eP2?z}fq*~z(;%e-Mwg(512Wg*eahxJNaI3-5 zq>6t#q1h>2xNnEizT28o%(e$jdoD14vDx+PTC-v)?ji9&ii(P=WSXeop#HDyCpFUu zU*S@SP~cx8mIGN{(6m?Dz9ULWL75^-I8=$enXVv^59`pwjE$*~w1B<$i7Pqp9lC}{ zGZ1BmfWnT0lbLqxF4u?I*PrEX*56jP_8$;1S84L z^X{M<6$B<1o$fwLGpEh80Cxhd`*W+K3(U>Y9wBN5Ew9i%GDAZahiBYS&OrG10llHG zk4$Voc<9g%$nW`oJD+#H#>&QKU`d;NE3g?L2$NadTRnBg;(wuuw6fSn;?qRC*(1nC zTD(Cc6BCIF%CXf2N!Cl<@H@aHSvj0=Dd;&<{osWH3>-L}A_rRD*47qY$LL0py1F{@ zkFuwd@9WbW;sht_VQ9JI?Jb?Xup^NDSLTtB5WZYcWM-(a`yxL-KLIohrEv^$PX65Zx);q*pQ` z{NL!(HBaUJ2qk(UuXAqj-@E{WS%&EOEUV&wTV*w)E z)AoW*zo6Hg5kIDn85lO_)fsPp1HBmSOJr~X2}y`$C~HZ`Moo+gqdvpfzTu;F^w&9g zlLl`EjfQJF?R&(Z(FM&-T~3HTlf3Zx!1ZQvt|M!CMspttwl9X0RpXVBk$!BN(%8Jt z76lxXvP#I&oQY#_bymm9?uRI8()P)T&A?y*I|cU?C%1iIt~Bf2b$kTx5LZ|5dXqVe zx{no)i=LVpEt?joN{{^Wqvi8y=p=I^OP031Wbj2upvklBHdWO;8dMGuRbiV8h0SsN zYE3d#8Wd{aAie{jQDS5NC!alQJ&7`orspRO8pw`-5@@+}xJO64_CzgX)*u}s^clam zgXO(vR^7}}a4y<6=PbM3?ii zV<}}BzP=ksZG2i&Gi+X7mdhX6(Ur~44T{>S*Hi#A&v9pAK0#-SY2L^RS0?rwFd93c za&nj(DF*mBVLST6U`H{+Cosg47jUJ5CuvT(6SMbXyZh5=HydX;5@9bz-src3r}a zAiGS{>0e=(Jg!9m1L}yqf`UQV*lhL#$2`RM5afC7D11h{q_72m&C0-Ss3y+11cesD z4??=;0bx*OQeMCtc_~yR7z`rO$NHx`s>3lpe81}=WS^_z;cb(NVs>_R8(=L; z%zINf9x1k;w*NvnaY1&v$`4gq^x$XlSiVm7X>r z3L#BuHS9gHNOk?_Q3p*%M(M$$d;``?&_*Ac7qREy%GO4LPEbnu&AmwT2r}F-A*5g( zX#*$J2?z_n$Oh6HfDXy0Cv?|h59r_xBBG;PQfCAKGtmV-Nl`ArXaczZU%~Q2XQd>l z=lX*;B6SM6kpR*X*zk|{T@C}30V@gYeE>!m;8%j6(YQ-s3Yl_&^fWLCx|b9HFuo{d z7zNHhD|_|oD4@&-T#POFJywBxj)(u*>H^FP* zi&aHk-cGs)FeYP=j)^q{HPh*^VgWh>tA(RR8EDGQyu=QYFcSBPfM1{$1Wer{bhI20 zPKAeO6Ywyb)AV(FW$2XPLP_T%nVUd>Eow}ASjA6)oFE4k6H+j>A?_sm&9Sj==xc=> zt%ZJ1o;=Cs#*a7PtpT)uXJSHt5e7$h{pi-8<)P3=C9G%t402V5YElsi^+_ZT*t6vU76k`^op> z4T`4)Y3f_5prK_^qkuzsiZ@pGC3~FSM2)-ZA(vSN~ zIsW*|!J@al)gxZDsFuafM&K6p(TUH2doA>?It{Vgv@WShQZI!tf49yE!=S#4bUhT2 zji*VX(1~nW{-XMeMqpflC@xxlaxb*c1`}1c0kl$}do@X+3AHKcv`~Z0CK$?*rM>Hn zx-e^obPwRz$*DNQAM=JLn>aEua`*my|AWJDT@bU`^hgJVRm9=DMh!d#Xnr9b#JoY} z%?kR;XaWX{PWTf9m@g0}SZqBi$}2)qxFZRWuGPt}JqTc=D-@*hSnD08`hNeU-60~5 z&oG;%A(?)Nk-xTCnf0HPB4!>~pclAspzud{dw=DFR^OJ_d=D_%K5$^TEx36oieBXJAgs5} z2Jn)Tvft%n`{-Yh(UAIa7NcR~hnJ%9lN?S^}Ev~(xz;J?{MnW-aAqBb;r|iZtKBqYwh%@iO)2vm?-_=VPD)iW15A^#03s{Q7 z45$M$z~mRm5pQUZPS{Txp^2Xf%set>)n4?cIHox;aIu+(8(utnukwL|<^;0_Tl?)~U7EGH^z&0b7%ozc{lqEy zb^RXkpC7lIet{%|^PpcdAX-Uv#E_+@;Ar7EegXE}FUg1+A6Kw29xY1xs6h9iT+eXc zhxm|LV!T-N3|S==b7u$-^yS48l%&D$+!`x|N+h)Jz9^AF$k?-%}$lCdLiFgrb5~(8VC;!3@Y)!nRVWEyvr|CuuNc z+f5jdX74(q&UZ0&MoBkCD8zUN5~(y@IS}BEoC>Y6*Yj?Eb^S>TnwM`b)va&pEMw~3 z%c1N4Q#`>hz%}bjuJOdj$reufC1c+0q+d5)(Hm{)zXz3nL{rP3@z$f=ot^x1-(zqt zw{WWw3{&{j^@F?Hr{H0)>7r*c038T~Xd3hY3pFz{1K992*V@!oVW)GVf%$^u*&pT4 zH41{cyXur!sUP0T?zPDl^ijMPuJ!7K7JJSD!;kV=oT`$$uzL7VZwqpYl?0=c`5r>M zhxk0ti*V#gw9F>?G3((M8X|ebIJaH!gOS)N*Y#(bJgTz>;bnM5C46-(Du@4e^T@x@ zymtX>|INL!bxXMW-;66C^>_~aWpU~F7Z#TR|GThJUjp%U!}*@8YZ{;rScg&?nu)ZK za=sh!y3#?}k`{us!+bYe{~){sF<);5eTb%vc1F)O6-?5ArTJy!By4a#&T}2?e6-2* zDCy7&L?B{~#e_Qw?ind%S^9qoNh;uC{GU9bkYP-y2;Kr_5Ems_wF8QogjFA?+Xz>I zD;>ZBrrnaZd3+=VJCC$Ffk!z3T6sIm`*hCLFTtbm(T1G4f?KLZmk`4@=2RKJCZ)BH z%tzI_Kn&ZUB&wvhJ1=xQlNn_D9zOuBPpCX}E6kKq7f{^&1~`uSX^&w~qbM$|BaQ#? zXAxH!!eJX|Y~lta2p*%MFp`hNC+Jezs87Hj5uObdqco@?@WtWs@d|!kkZ+nh@OOFh zlMP6ZOMp(U6ImEV6T#m=W$l;=bSa28@lrni;A*mlFo8d=T^wMu@f+-qKZ^nAlO8X^ zL;pj}zxoX#lP!29V5o3FM9?R(YPsOFo+DX+R#B*{0kfu@ZomwJ7la;JXME@_V3M9w z*ttJyJN-2_28M)4AuAE#AJYaRVY~vl1%>%6R1h%lZ+=;d3F5}LSqV74H0gf!>(@LW zipqh)2z~+Y(m`0Rws-d?=T*}Uif}XknWZ}RrV+s1-2AXJ`E^LT6h-OxBsQX^N0ZrR z0qdbMU{F2G+(SuB+Q5jQ4q>@?DU;BZq^5`n4z$avc3EOQ?QM})Q6zMPF3#y zG}Dxt5)s9i$`C#hj<#vkydfY}~Mc7{?L%JL@MVCL$qW>1cp?&j^5Q{tViqD|&Y! zp{rlo_c;HMkPs`==ikb}9fOEhLnHruI7+iXD%&AvZ0gd+_I^==jTCGDv z6~oSp^!^OOp#GLQZ7~U&ct;#NCfgAMBNRV?A2PMj1%(#69p1re@EwBpJ-UD(wY+$< zdyx}MKE@m^TeeJ2X%XJnH=ucmtP7w|h6`e$APwLa+vit*?MHw2PBP-};K2tlZK7@F zDMN!X5Np2O1ZUb|5fL^QfRTODAxQ4#Kc}X;F|H)pf?LviKj=)DI@hc?8)=!`U7ukR zwS(NeiJWlu5i)EPl`nDY6K?<{6v`at_04th6~07?2*RaYqXkM1lphGRFidjn-06Z` zhKc|nSvW>EdM#@4q*q7q0V>$sKxX8SFF>4+s2R&a_6#%twMwCG#@FnI2BV1s zMxZL><8?cBl%ttLzD?_1(gc#o;*o>LXd^XNIC%VK}+0f_~y~o_^}|T z+YNaUA5V-WhqryUg?o|n-NKRoIF{F*Q zJjb&#(@&Z<4_JA>zm7YNCXphijhABKcqVCPSv=bAVQ;);X_^1B;4c#PLv3wlS#JyW z!C0~Af)Cm%6B(laKIcadW{6+^B3{5k40Fqne zg2-o=`uW;Db8zph(b%Z`7y|~m*4zW7+F0^DIeGZn4p0O?g8426Ibtqr4C^Q~uS%=EqgH};;|Jg)hIZ8z z#V+Y2$c(BL=Vd$EikTkcB6j=D)Fq2Go1k9LwEz7i8B_R|R!nrW%Ca5KTAuiqTchp2 z$kPA9{djhCHN)TD;TX60mcLQB9#wi-C!7Rf-Nl@hKMV{w;qk>ugH!J`x~4`ZCkvY1 z=XU5Xa0d9uetLIVpY=k{r5&bQxVtysat_MzVE?jdQ6MSP-UeSoR8=ZkDzYBg)v95| zO)#VY{TQi7!8X{xb0?e;V#tWte%LhkK|nQUj5PJ~IQ!9!T9)5P68Y?L{*HdthdWl~ zc{95X2gr7h2F|~g=<+Z)*Wxu{I&~C=JSR*o{I3zPZE22MrpFt`@&vh`gr=^ZnbhOe zO-ov*)Z)3gY9u@*lxxrC`A@BEp1loKi&jjENPD{BJYvlmA0V5c?J4m%WeM??Cr}GR zfNhUApv@OHFV*Z?WF%IW^N4Ujp$9VaA@7jU6F4snQ=s&Skky$Hin+b`JprEk+i#_f ztt7Ku;r!^uP$DQ{m?i9u$pTm9J}TXep3XE$A3nlDRV3QG8SAHVDKSu8WM5cI4R>PWv zU3>Q~cOk4?funu#+A#k^^-n(HE@wYg{g6PDP;xI>@jC3?2923kj_l<{Wm}z?OiiS? zWK9rYSFhfKv^YI&L*h8X)+t0WPw(`9$9&O22Hgsd!@wt!^Fh5JnWlKay9|E7E zQWwV8R_VPiL@o2FvQig38rs=5ZrcVz%Rw_)6kT`(EkKNiF`aS^{jBuL;yKcTG3-!GFN1-2dky|IR_vAn)*P{-kZv)I5aST^Z(&5hHxD#s}WO~ zpJNp2EuqD^F=D`grI8HfBa~fhUpHpEvDwoBAUd%-h+hh`qFeh6hH!&yF!yQ(Nh5Bc zAHXgTq9^H8#5ykk#kKr&Aoadm!)B=3!mED&Jw~Ak9Wx-?I1j1*T_4^j*a1&D&ho@7 zB({6T@u5J14vm2dQTQi-b!(-#br^FP8tJ7Afpzy&WW={^K= zN(QasIntWLi)g@`be>a0>qn7hN&vE|HR+c`()|fy!3<;Ez-F#eVv_od3wR%ih)b9W=zEis$X!4X+VAeJBD0^JF5f^NM`xWTdMwHCfwjT!3KS4r>rak# zwd}j-HzB3lW!};xVq>3!Mvn6GBJJa7!LI=2gBGMNw38-}p72C>5f%h~EMgyonK9d8 z=J?Htv4Tn8+sKZOLqol3273<=_DRMdQz0giUMkG*izz99$bjvSnifzVl%LPc7I9GbH9?!fYyr3&$j$HuwuNhEKp0H8;O# ze&QT9AIc2eWwgo`-0p1!jE3oUp@UZ<| z_uOdcI;(#~qozU2un&ey4S<`>*#^Y{1%~trf|4a8brAgs5cAXUwi6C8cb`U5vj0se zKB4yYpDSHu%YUepP?y3za1{*CCr~NMg-*h#0|{J|cZ$MkCev`CZ^JOS5x>^<^E(}2 z5xfwb_KB&d8i-beF7DG z9|pzuJBKXkfyN7BMS%)A9LN4i-HjBbfq4JL!$*!V@$qFclwzO>85p9OaxFy(e9#Td zRA#=^^zE#*NRbb!*EAR`4MB{w+w^?`~RgCF1p@$3LSJn z4G`0_QOH0aBg&6oO$&-jOyp7yxQu}cgd9iGvJ*gWGjR?tHeS$rAW%$Lq zAO#O@sk~ERdz**uFV;5C7uTxsEwDR>1gDkX(BdiLP%}Sv_NtgHk3q?CQG*#j_cIUr zcdx%(%O}S5Lsv9u&Wme9z^z1S8PCYn>La1+(&r@4W&|ddSJWk&i#SgY{ZOMzqZA3E`l4)MTQFj>}@pXbMG*frfrG zm_r|WdeQ)mr5U#!k9ao$5iAmwLP<;EsO;lzSm8Yos$*dql@ze9w*kw;oD}No8wNS? zz@9y4k-uO~Z4ho|TD!Iea#Sqhc?kw0?r{U6w19EF3C5{7#pDoh34>0UJ!K-`G?#_^ z8IItLE>T0Ek{mR+#0dpFRC60P1r}FHyWvTUBNDz%CbjSbCPDM=hnr->l~`Fy+tMX{hbm=sUKf#Tl6Zzug7h?GWqP&*yZP^u3`d$0$Sp^=7ZL5 z=e-2o?&_sW9^jq7WsMxUWmmkzy63_EkS`!#Xefsnyp2MWQyqn2B(=i`sc*<8%a<+7 zTHJ?a=A*J6*67ci4Y8kO%i)M0);J}=?hGsLPIRD~6p)?1mFB*7kikFWFj zkt0W>H@lyM&nw|(FnlM_n+~8uyUZTS!RXY~)Tv)&?gcQVcwCTI-LkmWGY-z&0T+?N zK;@6RotGHOt->E43@DY~Cl2|pbY6txAQ#s~Y;*3k@`tB_rBENKy&CRqN<8yLsAO}+bp8IajA<==yH_@Hz8VfwtWdDps=)ki=kvN#&d&Vgq`RSsAuiW24)tP zIEcF2cKn$qqh27K{Qk&m%ix{zE9e1&zcx{YkmwwS^1vNOx?*e$QZl1=3~44#$zr38;K}>@4p8 zGmP`j%X89ih2hx%0Jo3KF;`$Wb0N2%@xmgGV`$ixiUi3vD z6>;0@1CV2f1kr`vi`o}FXa+QJt_&)u-6CzudTg(JmN>rM2#w;6TPR5c!TIVDN5hqox2<&qzr6Vg($&; zaVzL(hzE1jY0`p0`ZvY4GFsZI8-tJf<1=B_}7th#w2Xhan0hP;~)d z;ggVW4WW*69yoB**#ssbvXaFaNCwPXwqQ)a0YscjaA(OcG+@s^ANCd3R#AC|VN$O_ z&gTQXvPCO(mj^||Oq)x^7V?e2FpTpkmA)ZCo&-rJDJ|XoLLr55$jr41w2m`4u?K?r8+D0Ke(;0&o+<7g|L-}ina*fKhI_>h7DQ^HuEJ!?KqTj z^(k7e90x^3sW6{MnH0?2n6d&E1@?~yh~+$X>?)jzwIHdV1P9NnE5#OG4cknUqJD_y~N6B}C+Mi<7yMUd0!ueynqH33SUM0ZlYhlj_v z!&A zeDJ`BgApVAK^yyXK(w%bcIs9bV#*N-2rkuNuS?5fL28qg2jq{(QW;{N2@4*lfOpyx zPveBY0tcxdDl85AjhUI59Kcu%4Z!|>X)lOU>IzJ_m@=4*VIX3@n>K6+Lo=CqKH}fe zRP^3l-0lPIBJpQF=;kN6bC866GBYz#jK#xuc?C#)=m1?BnS=%)F6__Gx)$~Y31Dyr zfC{)u8%eiOKU|$OOtU64@DGZJXpkF}j)QcME3v}cO$gKx>X^?r~&$3J&MV zB4Vi&IAq_xb4Pghz+C?kwA3_RoehOIzO%nywQcH_2v!wzRvf+&u*hT7>1tgoo&%Tm zgUKde3-dr@P?p-~QSBJ@otz559`2RElmUiSt75B3pq3N{w-hk7#|g|m*{4{_%aAG_ zdV7a(7law~l>B}< z@c22r4Prp39L5}-G-*_V_c%4jqBjgXsvplQ_@Zi>ABiiy=$m6T7>5&nfR9fRr3X3t zWJ1YM76fj;M~`;qHYH(KPU-iJ;oj-PFAM)<5Y7$uXgcHpf=F;op>Ys6nXQ&uX9P?r z@8FO(V3kYenWQ9Qr8zk`#H6BSAyoyCk3*~?yI6jK8v!N4AS>nL2Vg%Q$61T==lrr{ ztWbn`v{kXkHp~z_h5Vl(*?^}k`GkdspM>`sUUxNsK|lwd8QAX=;JwyE_`(X%2;|Gl z6FLl?8HT)Susq*#EDfh(CxI7YvFRBY8U2bhuWD;YAWX?AoQr5J$JILtVW zqZSqvcRZ+=f~)TU&>{-h8Zcxf`GOc|po$?bwTN3$WOHD^KRWjs$VE%Y;3!W3P4?g! zMZO&HK=#8*gJn2uK9yrJl=BsLH5O9_Nh*fO_7aXCPDgLt{q8hyXy0hB^*j35iq8dL zOmI+n6!>bJLq`rAxB{?^89>7R-CbQJ#l_Jj(a#sh(%=(uRM#cXbRa;-d zc)5Q4#Qa}i9rewH!NDQ@)nQZaue)PpmpE<<~>YF>?M_p@NJ9b{+@ThXXUO&LAHN!0Lkj;)6$ytlhel z;!^tFC%jl2ZnI{$#++oOpn?Nc?bi!tdvyb3*82B|WnA2Kdhs z_n}sGFIWSg;YcQf#VM_<99EnvgsUze&k7^Eo;0}5Oiyq1Tm-z57ZbaS^PdjxvI)-? zOI1mfUvM~c<~Gj0>h(V)Wo&G+5CzlGfsPR-(Pea)aceL#>NSWJiSB|s0A+FD3dPM2 zPN;TaDe9Z+3PHwZ_dzXt!xNhp>UTogWY@0W1A+T2h zj0YCq7mt{Z!&&x(Pz^j&n6n53sE_zYa^I~#Bz;RKN^LM)If_i9tl{QDL5U`fS=t0C z9x(?hnBV-P)(na_9&jy|Jzq|f=Ld;Qw=NY1tqP692V9TGN149NvZa81fpLd-7mBpY zeZ6*M$Eh|sO!{xM9IecG-F-g#Ouw!E)OFqLej9uH(%M=@>>?VeRuROIJ|%pggoGp^ zOaYL=Ja-*Y$dBXl)1#+B_f&%&Aa(2xA)70}wFCl^JcryT;R|nHI{K`p3IJ%+F?+>( z9vv$(zT@aa?*(@$AL5L_9+#IC8X5{4Z*PhbN>e1`Dugr`BljcmAk62ZodN~2Mx+)M zh41|}+rlvB$q>38pxl8IObFe;WL%t_k`PF%u?3nMScL6f1EoX(dg=o>kGc)sM6yg zugixlhQijwncM(r7A>5%hZ=INlTC65GZ;i=tG<5)@I^*Q?dBg zl|$798>LR>=8W#*iPNfT=83KlC=pee2?f?dc}0Q?82vab-YodtCw_jBU?K*a^HuQy zqZ1SIfTcR=Dl}a7-u?UgW1~aJSEXMSl)q{>uhW|m*9Qlayv7ue3TA(q1kU@1RP$ZU zwKA5d_Skmf$@Aw4swUaz$aE_qzyY#vNr{R`OIQ};*8ia;%Jq*g1#2e zh=KjH+d+XqYjk@K? zbbDv!rL0`B!T^Exp_f+;%DX7Q$;uA5&Y6lrg>OWmwZ^eZQloA5aqb^VtP6T5U)&P5 ze<=O)jj=TnLFHi*^F|Cm)Agjzq_E|F&21dS7L0xI;tvu?K(hP!`$wTOlL}lShwq5x zCxc8Z2kYg39U7A!R9CS;T{#%&BrLTaokhfy;8)rybNck3h!L`F4!B<)x5u6tCRIWB z8IA8BY|NI09qdvU{sU>oUHc$5J{Dk5f@GUtLt~L zGC=MG_saK*??leiiOD!Ww``@-xP@~N3G#cHW;w$G(;K_RywsFmY`c@k{DZnsRRRVi=e zS1~dlRTl<;kYGIy3v{VTCgHv8&_H2XezG0H!lK8O2?5ZD z<8;TN$ncFIWg+XSS7oOp3(t}Th@GS+*bWD23XgSVQxjGtc1QBo+Uc73i`d_+$+=Qud%RL#-f(daZ2d|y88zB ze9~e1C)IJQorJ^#pia+^AwfZ0FuTmm&MF9aqt2-_%HR~X-$+?nDcP?HKp%0vJMAHc25+kTif^?vUq%I$1DVv;xU%;f0 zDRRBCF<%WZPwUj*W0-$H{jAS@fBF|Y97xq}W z-uZR4{J*}j_?*GFoxjK^ufKzA|KRKXXPB;kz>R&L;Sc!xk2R=e;Q0UGWB;pM-9PvS z|M#u_vxMjWUBv%5IsE_6wJK9+LN2Fl`S_{l+-ys*D=21KoN@P+!;ba|#i?sgcf{%Q z1bA1bZPEB?OqlGsw^?!a6xs)w&-TWGixPvT^J9Crmv*+72Cqz~cesyX*|Od6TJ+g9D>=KPFs_j{nHj zSLv)M*CVSk@-Ejb+sXE>{nhIa!p?+NySQ}=i_kURDfX@7k#a4Z|Ex9BBXXp_$&;G1 zn6Fi;F_EhuwR^jCjqxsNJ-Os9mOK+rIC`^-TjX3{++s^EoU}jZ`;C6Tch;`9&Hbe1 zFChSrBQyM(r90d6^~cgahw^1bYND6-dj;2A&g3;u{@Q-u(9-h4BZk!vC%%_8`$kwU zPG8wuBqcn%7$%%CRU4cCBvkRmkIczWrJ7aIpIiEBR%~oa4r!C7R?o;s#Jmy<*VK@4 z()crj)kZv2_sBP{2U@QWj~GUB3|c2=YL&9pIV1?!9=d2RD%!3wWEQfz{K1`o&rTV0 zdpsn9towUi7h_YtYK`l6ISgJ1N^}!c;anKulb0EIlJ+6?{9?0gsCJoo;pQavPPUfL zyX1zjIT+fMYNmV&p~k=h6f9&V&eWXp$D&$RQ+~yFUCk$c3uy|6FUUlH@=vYLlam>c zE6JFD*k}FNUf7g9zP_bKZ86Oxz&;Rf|C_xJU0&&mgG9HY&*6Si+3TlMZXDVXXUAx8 z(f3(8L)9~;{jp=g=$B2TPWrG-t47SO8I17cva&M@Z%TX_XK(3p8=fVrg(69KoZ^*%3p_|dGmOY;&mQf*b6lB+udf=bQhD3llVKf1pAy|&HN zTwz^ZA!|NSqN=rNJ*|4az&rW!ps8V!rIVLbCnUCkn*3XaZ zn#e1>GrQ)&mj+XZq=7P_DY}RVuW+tWjBiVQ_=l6Bb`F!@MotKr3smm8P?{z@Vp#qx zt9gF5a!`$%XjNCl8(-CKq759(AMw_{ml2bEum8OM_@e0L`PRFFon|@XvtfgrhYr*P z2o~15xaM9E*rL4OTStF-qcDfW{CTS?J}R5MiC0tpVB>R#!G#}>=;_1m?A-IqO0T}h z6!!Y!QI3TA*xcbliPLYF7_cZ%`5LR`ObcfMiv?gwseUp~wmG!FE&oCeVCmZRBvGvmY?foF!7G#a)^DQfR*XX_@vm#gYOk>jiy=`Ha-&` zq0){;N?P{RtBpk))x;dEVzZ9ORpUnQ8UN_&iD6nOXHVQSyXlZ~z7ZSGr@eOie4b@m zFQPcZq`yjq$;0#8#B z-+5{S6g#0t);cxz;HTjlcTD{=z2(arc;w!Hd^^kEkhI;@II3Qe_N`i3b>iLQ#p>14 z3l}TB?9a|*FQ09Ay;Y+6BlAH{&O=qVExiv2o{*+GI(*ThV;?%q=QSmlNU>8TcbFI^ zwXR4XAAcY3ckB3hUkklOiKdobe#hwwjlJ{snGTNm%!QgUA1`}XW%V9=NadH?@ARp< zo83wAhJE;A^Tj3U20d?v*qch(9^|T~?KhDdRi(y9d_Q>J>7_={VgXy8d4c3ZC~>}; z(GT4v8?n=U<-S8EPa#`(KxKAL!MpNxR+|bVt7R^}g8a23GNX$Qi7`%m2Jc6`ON|OU2CvUf z|5!cbtgGAATX92Ly-`B`G@~>7VHHuyu@K2Gt*W~HWxYbQY|cOC&s$a*Tc_82F)^n( z%WX-|iG5JqJuAHFFQW9iR(8WoGPP3evNc%8K7#G&hRFNv-^ce;_SNyRrl$MtGrh2zQ) z@k>Kj8TZU|bZjw13csQgS*Y~>KlTCtqI%J=wbhNcUxPQD4*pas7|-H#@`qpWSX%Yh z6LI!J_;FTQWV9|Q^z*0F4L_TWMu)2HmyU{$h!Ddw0#uu{u*z?AVlWmi)y_87=}vrS e$6(^((z}}mCnb7sG~@3n66d7ElFnSa{XYQ7xQWF8 literal 0 HcmV?d00001 diff --git a/docsource/images/AzureSP-basic-store-type-dialog.png b/docsource/images/AzureSP-basic-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..ea8bd3315ca44acb309a66014ed7c5372a88c990 GIT binary patch literal 54938 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 literal 0 HcmV?d00001 diff --git a/docsource/overview.md b/docsource/overview.md new file mode 100644 index 0000000..6daa83c --- /dev/null +++ b/docsource/overview.md @@ -0,0 +1,6 @@ +## Overview + +The Azure App Registration and Enterprise Application Orchestrator extension remotely manages both Azure [App Registration/Application](https://learn.microsoft.com/en-us/entra/identity-platform/certificate-credentials) certificates and [Enterprise Application/Service Principal](https://docs.microsoft.com/en-us/azure/active-directory/develop/enterprise-apps-certificate-credentials) certificates. Application certificates are typically public key only and used for client certificate authentication, while Service Principal certificates are commonly used for [SAML Assertion signing](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/tutorial-manage-certificates-for-federated-single-sign-on). The extension implements the Inventory, Management Add, Management Remove, and Discovery job types. + +Certificates used for client authentication by Applications (configured in App Registrations) are represented by the [`AzureApp` store type](docs/azureapp.md), and certificates used for SSO/SAML assertion signing are represented by the [`AzureSP` store type](docs/azuresp.md). Both store types are managed by the same extension. The extension is configured with a single Azure Service Principal that is used to authenticate to the [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/use-the-api). The Azure App Registration and Enterprise Application Orchestrator extension manages certificates for Azure App Registrations (Applications) and Enterprise Applications (Service Principals) differently. + diff --git a/integration-manifest.json b/integration-manifest.json index 59235ff..7c7f817 100644 --- a/integration-manifest.json +++ b/integration-manifest.json @@ -34,6 +34,8 @@ "ShortName": "AzureApp", "Capability": "AzureApp", "LocalStore": false, + "ClientMachineDescription": "The Azure Tenant (directory) ID that owns the Service Principal.", + "StorePathDescription": "The Application ID of the target Application/Service Principal that will be managed by the Azure App Registration and Enterprise Application Orchestrator extension.", "SupportedOperations": { "Add": true, "Remove": true, @@ -46,12 +48,29 @@ "Name": "ServerUsername", "DisplayName": "Server Username", "Type": "Secret", + "Description": "The Application ID of the Service Principal used to authenticate with Microsoft Graph for managing Application/Service Principal certificates.", "Required": false }, { "Name": "ServerPassword", "DisplayName": "Server Password", "Type": "Secret", + "Description": "A Client Secret that the extension will use to authenticate with Microsoft Graph for managing Application/Service Principal certificates, OR the password that encrypts the private key in ClientCertificate", + "Required": false + }, + { + "Name": "ClientCertificate", + "DisplayName": "Client Certificate", + "Type": "Secret", + "Description": "The client certificate used to authenticate with Microsoft Graph for managing Application/Service Principal certificates. See the [requirements](#client-certificate-or-client-secret) for more information.", + "Required": false + }, + { + "Name": "AzureCloud", + "DisplayName": "Azure Global Cloud Authority Host", + "Type": "MultipleChoice", + "DefaultValue": "public,china,germany,government", + "Description": "Specifies the Azure Cloud instance used by the organization.", "Required": false }, { @@ -59,6 +78,7 @@ "DisplayName": "Use SSL", "Type": "Bool", "DefaultValue": "true", + "Description": "Specifies whether SSL should be used for communication with the server. Set to 'true' to enable SSL, and 'false' to disable it.", "Required": true } ], @@ -78,6 +98,8 @@ "ShortName": "AzureSP", "Capability": "AzureSP", "LocalStore": false, + "ClientMachineDescription": "The Azure Tenant (directory) ID that owns the Service Principal.", + "StorePathDescription": "The Application ID of the target Application/Service Principal that will be managed by the Azure App Registration and Enterprise Application Orchestrator extension.", "SupportedOperations": { "Add": true, "Remove": true, @@ -90,12 +112,29 @@ "Name": "ServerUsername", "DisplayName": "Server Username", "Type": "Secret", + "Description": "The Application ID of the Service Principal used to authenticate with Microsoft Graph for managing Application/Service Principal certificates.", "Required": false }, { "Name": "ServerPassword", "DisplayName": "Server Password", "Type": "Secret", + "Description": "A Client Secret that the extension will use to authenticate with Microsoft Graph for managing Application/Service Principal certificates, OR the password that encrypts the private key in ClientCertificate", + "Required": false + }, + { + "Name": "ClientCertificate", + "DisplayName": "Client Certificate", + "Type": "Secret", + "Description": "The client certificate used to authenticate with Microsoft Graph for managing Application/Service Principal certificates. See the [requirements](#client-certificate-or-client-secret) for more information.", + "Required": false + }, + { + "Name": "AzureCloud", + "DisplayName": "Azure Global Cloud Authority Host", + "Type": "MultipleChoice", + "DefaultValue": "public,china,germany,government", + "Description": "Specifies the Azure Cloud instance used by the organization.", "Required": false }, { @@ -103,6 +142,7 @@ "DisplayName": "Use SSL", "Type": "Bool", "DefaultValue": "true", + "Description": "Specifies whether SSL should be used for communication with the server. Set to 'true' to enable SSL, and 'false' to disable it.", "Required": true } ], @@ -117,29 +157,7 @@ "BlueprintAllowed": false, "CustomAliasAllowed": "Required" } - ], - "store_types_metadata": { - "AzureApp": { - "ClientMachine": "The Azure Tenant (directory) ID that owns the Service Principal.", - "StorePath": "The Application ID of the target Application/Service Principal that will be managed by the Azure App Registration and Enterprise Application Orchestrator extension.", - "Properties": { - "ServerUsername": "The Application ID of the Service Principal used to authenticate with Microsoft Graph for managing Application/Service Principal certificates.", - "ServerPassword": "A Client Secret that the extension will use to authenticate with Microsoft Graph for managing Application/Service Principal certificates.", - "ServerUseSsl": "Specifies whether SSL should be used for communication with the server. Set to 'true' to enable SSL, and 'false' to disable it." - }, - "EntryParameters": {} - }, - "AzureSP": { - "ClientMachine": "The Azure Tenant (directory) ID that owns the Service Principal.", - "StorePath": "The Application ID of the target Application/Service Principal that will be managed by the Azure App Registration and Enterprise Application Orchestrator extension.", - "Properties": { - "ServerUsername": "The Application ID of the Service Principal used to authenticate with Microsoft Graph for managing Application/Service Principal certificates.", - "ServerPassword": "A Client Secret that the extension will use to authenticate with Microsoft Graph for managing Application/Service Principal certificates.", - "ServerUseSsl": "Specifies whether SSL should be used for communication with the server. Set to 'true' to enable SSL, and 'false' to disable it." - }, - "EntryParameters": {} - } - } + ] }, "pam": {} } diff --git a/readme_source.md b/readme_source.md index 4442e7e..36ccab5 100644 --- a/readme_source.md +++ b/readme_source.md @@ -1,31 +1,243 @@ +

+ Azure App Registration and Enterprise Application Universal Orchestrator Extension +

+ +

+ +Integration Status: production +Release +Issues +GitHub Downloads (all assets, all releases) +

+ +

+ + + Support + + · + + Installation + + · + + License + + · + + Related Integrations + +

+ + ## Overview + The Azure App Registration and Enterprise Application Orchestrator extension remotely manages both Azure [App Registration/Application](https://learn.microsoft.com/en-us/entra/identity-platform/certificate-credentials) certificates and [Enterprise Application/Service Principal](https://docs.microsoft.com/en-us/azure/active-directory/develop/enterprise-apps-certificate-credentials) certificates. Application certificates are typically public key only and used for client certificate authentication, while Service Principal certificates are commonly used for [SAML Assertion signing](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/tutorial-manage-certificates-for-federated-single-sign-on). The extension implements the Inventory, Management Add, Management Remove, and Discovery job types. -Certificates used for client authentication by Applications (configured in App Registrations) are represented by the [`AzureApp` store type](docs/azureapp.md), and certificates used for SSO/SAML assertion signing are represented by the [`AzureSP` store type](docs/azuresp.md). Both store types are managed by the same extension. The extension is configured with a single Azure Service Principal that is used to authenticate to the [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/use-the-api). The Azure App Registration and Enterprise Application Orchestrator extension manages certificates for Azure App Registrations (Applications) and Enterprise Applications (Service Principals) differently. +Certificates used for client authentication by Applications (configured in App Registrations) are represented by the [`AzureApp` store type](docs/azureapp.md), and certificates used for SSO/SAML assertion signing are represented by the [`AzureSP` store type](docs/azuresp.md). Both store types are managed by the same extension. The extension is configured with a single Azure Service Principal that is used to authenticate to the [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/use-the-api). The Azure App Registration and Enterprise Application Orchestrator extension manages certificates for Azure App Registrations (Applications) and Enterprise Applications (Service Principals) differently. ## Installation -Before installing the Azure App Registration and Enterprise Application Orchestrator extension, it's recommended to install [kfutil](https://github.com/Keyfactor/kfutil). Kfutil is a command-line tool that simplifies the process of creating store types, installing extensions, and instantiating certificate stores in Keyfactor Command. +Before installing the Azure App Registration and Enterprise Application Universal Orchestrator extension, it's recommended to install [kfutil](https://github.com/Keyfactor/kfutil). Kfutil is a command-line tool that simplifies the process of creating store types, installing extensions, and instantiating certificate stores in Keyfactor Command. + +The Azure App Registration and Enterprise Application Universal Orchestrator extension implements 2 Certificate Store Types. Depending on your use case, you may elect to install one, or all of these Certificate Store Types. An overview for each type is linked below: +* [Azure App Registration (Application)](docs/azureapp.md) +* [Azure Enterprise Application (Service Principal)](docs/azuresp.md) + +
Azure App Registration (Application) + + +1. Follow the [requirements section](docs/azureapp.md#requirements) to configure a Service Account and grant necessary API permissions. + +
Requirements + + ### Azure Service Principal (Graph API Authentication) + + The Azure App Registration and Enterprise Application Orchestrator extension uses an [Azure Service Principal](https://learn.microsoft.com/en-us/entra/identity-platform/app-objects-and-service-principals?tabs=browser) for authentication. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal) to create a service principal. Currently, Client Secret authentication is supported. The Service Principal must have the following API Permission: + - **_Microsoft Graph Application Permissions_**: + - `Application.ReadWrite.All` (_not_ Delegated; Admin Consent) - Allows the app to create, read, update and delete applications and service principals without a signed-in user. + + > For more information on Admin Consent for App-only access (also called "Application Permissions"), see the [primer on application-only access](https://learn.microsoft.com/en-us/azure/active-directory/develop/app-only-access-primer). + + Alternatively, the Service Principal can be granted the `Application.ReadWrite.OwnedBy` permission if the Service Principal is only intended to manage its own App Registration/Application. + + #### Client Certificate or Client Secret + + Beginning in version 3.0.0, the Azure App Registration and Enterprise Application Orchestrator extension supports both [client certificate authentication](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) and [client secret](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) authentication. + + * **Client Secret** - Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) to create a Client Secret. This secret will be used as the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + * **Client Certificate** - Create a client certificate key pair with the Client Authentication extended key usage. The client certificate will be used in the ClientCertificate field in the [Certificate Store Configuration](#certificate-store-configuration) section. If you have access to Keyfactor Command, the instructions in this section walk you through enrolling a certificate and ensuring that it's in the correct format. Once enrolled, follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the _public key_ certificate (no private key) to the service principal used for authentication. + + The certificate can be in either of the following formats: + * Base64-encoded PKCS#12 (PFX) with a matching private key. + * Base64-encoded PEM-encoded certificate _and_ PEM-encoded PKCS8 private key. Make sure that the certificate and private key are separated with a newline. The order doesn't matter - the extension will determine which is which. -1. Follow the Requirements section to configure a Service Account and grant the necessary API permissions. + If the private key is encrypted, the encryption password will replace the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. - * [Azure App Registration/Application](docs/azureapp.md#requirements) - * [Azure Enterprise Application/Service Principal](docs/azuresp.md#requirements) + > **Creating and Formatting a Client Certificate using Keyfactor Command** + > + > To get started quickly, you can follow the instructions below to create and properly format a client certificate to authenticate to the Microsoft Graph API. + > + > 1. In Keyfactor Command, hover over **Enrollment** and select **PFX Enrollment**. + > 2. Select a **Template** that supports Client Authentication as an extended key usage. + > 3. Populate the certificate subject as appropriate for the Template. It may be sufficient to only populate the Common Name, but consult your IT policy to ensure that this certificate is compliant. + > 4. At the bottom of the page, uncheck the box for **Include Chain**, and select either **PFX** or **PEM** as the certificate Format. + > 5. Make a note of the password on the next page - it won't be shown again. + > 6. Prepare the certificate and private key for Azure and the Orchestrator extension: + > * If you downloaded the certificate in PEM format, use the commands below: + > + > ```shell + > # Verify that the certificate downloaded from Command contains the certificate and private key. They should be in the same file + > cat + > + > # Separate the certificate from the private key + > openssl x509 -in -out pubkeycert.pem + > + > # Base64 encode the certificate and private key + > cat | base64 > clientcertkeypair.pem.base64 + > ``` + > + > * If you downloaded the certificate in PFX format, use the commands below: + > + > ```shell + > # Export the certificate from the PFX file + > openssl pkcs12 -in -clcerts -nokeys -out pubkeycert.pem + > + > # Base64 encode the PFX file + > cat | base64 > clientcert.pfx.base64 + > ``` + > 7. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the public key certificate to the service principal used for authentication. + > + > You will use `clientcert.[pem|pfx].base64` as the **ClientCertificate** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + + ### Azure App Registration (Application) + + #### Application Certificates + + Application certificates are used for client authentication and are typically public key only. No additional configuration in Azure is necessary to manage Application certificates since all App Registrations can contain any number of [Certificates and Secrets](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app#add-credentials). Unless the Discovery job is used, you should collect the Application IDs for each App Registration that contains certificates to be managed. + + + +
2. Create Certificate Store Types for the Azure App Registration and Enterprise Application Orchestrator extension. * **Using kfutil**: ```shell + # Azure App Registration (Application) kfutil store-types create AzureApp - kfutil store-types create AzureSP ``` * **Manually**: + * [Azure App Registration (Application)](docs/azureapp.md#certificate-store-type-configuration) + +3. Install the Azure App Registration and Enterprise Application Universal Orchestrator extension. + + * **Using kfutil**: On the server that that hosts the Universal Orchestrator, run the following command: + + ```shell + # Windows Server + kfutil orchestrator extension -e azure-application-orchestrator@latest --out "C:\Program Files\Keyfactor\Keyfactor Orchestrator\extensions" + + # Linux + kfutil orchestrator extension -e azure-application-orchestrator@latest --out "/opt/keyfactor/orchestrator/extensions" + ``` + + * **Manually**: Follow the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/InstallingAgents/NetCoreOrchestrator/CustomExtensions.htm?Highlight=extensions) to install the latest [Azure App Registration and Enterprise Application Universal Orchestrator extension](https://github.com/Keyfactor/azure-application-orchestrator/releases/latest). + +4. Create new certificate stores in Keyfactor Command for the Sample Universal Orchestrator extension. + * [Azure App Registration (Application)](docs/azureapp.md#certificate-store-configuration) +
+ +
Azure Enterprise Application (Service Principal) + + +1. Follow the [requirements section](docs/azuresp.md#requirements) to configure a Service Account and grant necessary API permissions. + +
Requirements + + ### Azure Service Principal (Graph API Authentication) + + The Azure App Registration and Enterprise Application Orchestrator extension uses an [Azure Service Principal](https://learn.microsoft.com/en-us/entra/identity-platform/app-objects-and-service-principals?tabs=browser) for authentication. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal) to create a service principal. Currently, Client Secret authentication is supported. The Service Principal must have the following API Permission: + - **_Microsoft Graph Application Permissions_**: + - `Application.ReadWrite.All` (_not_ Delegated; Admin Consent) - Allows the app to create, read, update and delete applications and service principals without a signed-in user. + + > For more information on Admin Consent for App-only access (also called "Application Permissions"), see the [primer on application-only access](https://learn.microsoft.com/en-us/azure/active-directory/develop/app-only-access-primer). + + Alternatively, the Service Principal can be granted the `Application.ReadWrite.OwnedBy` permission if the Service Principal is only intended to manage its own App Registration/Application. + + #### Client Certificate or Client Secret + + Beginning in version 3.0.0, the Azure App Registration and Enterprise Application Orchestrator extension supports both [client certificate authentication](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) and [client secret](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) authentication. + + * **Client Secret** - Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) to create a Client Secret. This secret will be used as the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + * **Client Certificate** - Create a client certificate key pair with the Client Authentication extended key usage. The client certificate will be used in the ClientCertificate field in the [Certificate Store Configuration](#certificate-store-configuration) section. If you have access to Keyfactor Command, the instructions in this section walk you through enrolling a certificate and ensuring that it's in the correct format. Once enrolled, follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the _public key_ certificate (no private key) to the service principal used for authentication. + + The certificate can be in either of the following formats: + * Base64-encoded PKCS#12 (PFX) with a matching private key. + * Base64-encoded PEM-encoded certificate _and_ PEM-encoded PKCS8 private key. Make sure that the certificate and private key are separated with a newline. The order doesn't matter - the extension will determine which is which. + + If the private key is encrypted, the encryption password will replace the **Server Password** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + + > **Creating and Formatting a Client Certificate using Keyfactor Command** + > + > To get started quickly, you can follow the instructions below to create and properly format a client certificate to authenticate to the Microsoft Graph API. + > + > 1. In Keyfactor Command, hover over **Enrollment** and select **PFX Enrollment**. + > 2. Select a **Template** that supports Client Authentication as an extended key usage. + > 3. Populate the certificate subject as appropriate for the Template. It may be sufficient to only populate the Common Name, but consult your IT policy to ensure that this certificate is compliant. + > 4. At the bottom of the page, uncheck the box for **Include Chain**, and select either **PFX** or **PEM** as the certificate Format. + > 5. Make a note of the password on the next page - it won't be shown again. + > 6. Prepare the certificate and private key for Azure and the Orchestrator extension: + > * If you downloaded the certificate in PEM format, use the commands below: + > + > ```shell + > # Verify that the certificate downloaded from Command contains the certificate and private key. They should be in the same file + > cat + > + > # Separate the certificate from the private key + > openssl x509 -in -out pubkeycert.pem + > + > # Base64 encode the certificate and private key + > cat | base64 > clientcertkeypair.pem.base64 + > ``` + > + > * If you downloaded the certificate in PFX format, use the commands below: + > + > ```shell + > # Export the certificate from the PFX file + > openssl pkcs12 -in -clcerts -nokeys -out pubkeycert.pem + > + > # Base64 encode the PFX file + > cat | base64 > clientcert.pfx.base64 + > ``` + > 7. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) to add the public key certificate to the service principal used for authentication. + > + > You will use `clientcert.[pem|pfx].base64` as the **ClientCertificate** field in the [Certificate Store Configuration](#certificate-store-configuration) section. + + ### Enterprise Application (Service Principal) - * [Azure App Registration/Application](docs/azureapp.md#certificate-store-type-configuration) - * [Azure Enterprise Application/Service Principal](docs/azuresp.md#certificate-store-type-configuration) + #### Service Principal Certificates -3. Install the Azure App Registration and Enterprise Application Orchestrator extension. + Service Principal certificates are typically used for SAML Token signing. Service Principals are created from Enterprise Applications, and will mostly be configured with a variation of Microsoft's [SAML-based single sign-on](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/add-application-portal) documentation. For more information on the mechanics of the Service Principal certificate management capabilities of this extension, please see the [mechanics](#extension-mechanics) section. + + + +
+ +2. Create Certificate Store Types for the Azure App Registration and Enterprise Application Orchestrator extension. + + * **Using kfutil**: + + ```shell + # Azure Enterprise Application (Service Principal) + kfutil store-types create AzureSP + ``` + + * **Manually**: + * [Azure Enterprise Application (Service Principal)](docs/azuresp.md#certificate-store-type-configuration) + +3. Install the Azure App Registration and Enterprise Application Universal Orchestrator extension. * **Using kfutil**: On the server that that hosts the Universal Orchestrator, run the following command: @@ -37,10 +249,17 @@ Before installing the Azure App Registration and Enterprise Application Orchestr kfutil orchestrator extension -e azure-application-orchestrator@latest --out "/opt/keyfactor/orchestrator/extensions" ``` - * **Manually**: Follow the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/InstallingAgents/NetCoreOrchestrator/CustomExtensions.htm?Highlight=extensions) to install the latest [Azure App Registration and Enterprise Application Orchestrator extension](https://github.com/Keyfactor/azure-application-orchestrator/releases/latest). + * **Manually**: Follow the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/InstallingAgents/NetCoreOrchestrator/CustomExtensions.htm?Highlight=extensions) to install the latest [Azure App Registration and Enterprise Application Universal Orchestrator extension](https://github.com/Keyfactor/azure-application-orchestrator/releases/latest). + +4. Create new certificate stores in Keyfactor Command for the Sample Universal Orchestrator extension. + * [Azure Enterprise Application (Service Principal)](docs/azuresp.md#certificate-store-configuration) +
+ + +## License -4. Create new certificate stores in Keyfactor Command for the Azure App Registration and Enterprise Application Orchestrator extension. +Apache License 2.0, see [LICENSE](LICENSE). - * [Azure App Registration/Application](docs/azureapp.md#certificate-store-configuration) - * [Azure Enterprise Application/Service Principal](docs/azuresp.md#certificate-store-configuration) +## Related Integrations +See all [Keyfactor Universal Orchestrator extensions](https://github.com/orgs/Keyfactor/repositories?q=orchestrator).