From bc7282049889a242ed86027b0f019fd12b70f0e6 Mon Sep 17 00:00:00 2001 From: Joe VanWanzeele <76071503+joevanwanzeeleKF@users.noreply.github.com> Date: Mon, 23 Oct 2023 11:59:29 -0400 Subject: [PATCH] Multiple Subscription and Tenant Support (#32) * Updated discovery process to search across all subscriptions * Updated documentation * Updated storepath and documentation to reflect the change * Checking for legacy store paths. Updated tenant authorization. Updated README. * Updated changelong and integration manifest * Added additional trace logs around store path parsing. * Updated readme for clarity on usage of the Azure Cloud parameter. * Updated documentation to reflect optional global cloud and private endpoint parameters. Added optional TenantId to manifest. * remove cert store creation * Update generated README --------- Co-authored-by: Michael Henderson Co-authored-by: Keyfactor --- .../workflows/keyfactor-starter-workflow.yml | 6 - AzureKeyVault.sln | 1 + AzureKeyVault/AkvProperties.cs | 22 +-- AzureKeyVault/AzureClient.cs | 186 ++++++++++++------ AzureKeyVault/Constants.cs | 17 +- AzureKeyVault/JobAttribute.cs | 17 +- AzureKeyVault/Jobs/AzureKeyVaultJob.cs | 99 +++++++--- AzureKeyVault/Jobs/Discovery.cs | 17 +- AzureKeyVault/Jobs/Inventory.cs | 17 +- AzureKeyVault/Jobs/Management.cs | 17 +- AzureKeyVault/PamUtilities.cs | 3 +- CHANGELOG.md | 11 +- Images/discovery-result.png | Bin 59160 -> 25190 bytes Images/resource-id.png | Bin 63010 -> 66293 bytes Images/storepath.png | Bin 20390 -> 6063 bytes README.md | 89 +++++---- integration-manifest.json | 16 +- readme_source.md | 89 +++++---- 18 files changed, 359 insertions(+), 248 deletions(-) diff --git a/.github/workflows/keyfactor-starter-workflow.yml b/.github/workflows/keyfactor-starter-workflow.yml index b7d1185..c77eeda 100644 --- a/.github/workflows/keyfactor-starter-workflow.yml +++ b/.github/workflows/keyfactor-starter-workflow.yml @@ -45,9 +45,3 @@ jobs: secrets: token: ${{ secrets.SDK_SYNC_PAT }} - call-update-store-types-workflow: - needs: get-manifest-properties - if: needs.get-manifest-properties.outputs.integration_type == 'orchestrator' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') - uses: Keyfactor/actions/.github/workflows/update-store-types.yml@main - secrets: - token: ${{ secrets.UPDATE_STORE_TYPES }} diff --git a/AzureKeyVault.sln b/AzureKeyVault.sln index 75246d0..464c21d 100644 --- a/AzureKeyVault.sln +++ b/AzureKeyVault.sln @@ -7,6 +7,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzureKeyVault", "AzureKeyVa EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{AB1BF579-FBD3-4F59-BBF2-7B973B9AD1DB}" ProjectSection(SolutionItems) = preProject + CHANGELOG.md = CHANGELOG.md integration-manifest.json = integration-manifest.json readme_source.md = readme_source.md EndProjectSection diff --git a/AzureKeyVault/AkvProperties.cs b/AzureKeyVault/AkvProperties.cs index 1431051..031af3b 100644 --- a/AzureKeyVault/AkvProperties.cs +++ b/AzureKeyVault/AkvProperties.cs @@ -1,16 +1,11 @@ // Copyright 2023 Keyfactor -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions +// and limitations under the License. + +using System.Collections.Generic; namespace Keyfactor.Extensions.Orchestrator.AzureKeyVault { @@ -22,9 +17,10 @@ public class AkvProperties public string TenantId { get; set; } public string ResourceGroupName { get; set; } public string VaultName { get; set; } - public string StorePath { get; set; } + public string StorePath { get; set; } // format = :: public string VaultRegion { get; set; } public bool PremiumSKU { get; set; } + public List TenantIdsForDiscovery { get; set; } internal protected bool UseAzureManagedIdentity { get diff --git a/AzureKeyVault/AzureClient.cs b/AzureKeyVault/AzureClient.cs index 42a5c56..8ca5308 100644 --- a/AzureKeyVault/AzureClient.cs +++ b/AzureKeyVault/AzureClient.cs @@ -1,16 +1,9 @@ // Copyright 2023 Keyfactor -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions +// and limitations under the License. using System; using System.Collections.Generic; @@ -36,14 +29,17 @@ public class AzureClient { internal protected virtual AkvProperties VaultProperties { get; set; } - private Uri AzureCloudEndpoint { - get { - switch (VaultProperties.AzureCloud.ToLower()) { + private Uri AzureCloudEndpoint + { + get + { + switch (VaultProperties.AzureCloud?.ToLower()) + { case "china": - return AzureAuthorityHosts.AzureChina; + return AzureAuthorityHosts.AzureChina; case "germany": - return AzureAuthorityHosts.AzureGermany; + return AzureAuthorityHosts.AzureGermany; case "government": return AzureAuthorityHosts.AzureGovernment; default: @@ -59,6 +55,7 @@ private protected virtual CertificateClient CertClient { if (_certClient != null) { + logger.LogTrace("getting previously initialized certificate client"); return _certClient; } @@ -68,17 +65,22 @@ private protected virtual CertificateClient CertClient if (this.VaultProperties.UseAzureManagedIdentity) { - var credentialOptions = new DefaultAzureCredentialOptions { AuthorityHost = AzureCloudEndpoint }; + logger.LogTrace("Entering the managed identity workflow"); + + var credentialOptions = new DefaultAzureCredentialOptions { AuthorityHost = AzureCloudEndpoint, AdditionallyAllowedTenants = { "*" } }; if (!string.IsNullOrEmpty(this.VaultProperties.ClientId)) // are they using a user assigned identity instead of a system assigned one (default)? { + logger.LogTrace("they provided client ID, so it is a user assigned managed identity (instead of system assigned)"); credentialOptions.ManagedIdentityClientId = VaultProperties.ClientId; } cred = new DefaultAzureCredential(credentialOptions); } else { - cred = new ClientSecretCredential(VaultProperties.TenantId, VaultProperties.ClientId, VaultProperties.ClientSecret); + logger.LogTrace("They are using a service principal to authenticate, generating the credentials"); + cred = new ClientSecretCredential(VaultProperties.TenantId, VaultProperties.ClientId, VaultProperties.ClientSecret, new ClientSecretCredentialOptions() { AuthorityHost = AzureCloudEndpoint, AdditionallyAllowedTenants = { "*" } }); + logger.LogTrace("generated credentials", cred); } _certClient = new CertificateClient(new Uri(VaultProperties.VaultURL), credential: cred); @@ -88,40 +90,47 @@ private protected virtual CertificateClient CertClient } protected CertificateClient _certClient { get; set; } - internal protected virtual ArmClient KvManagementClient + internal protected virtual ArmClient getArmClient(string tenantId) { - get + TokenCredential credential; + var credentialOptions = new DefaultAzureCredentialOptions { AuthorityHost = AzureCloudEndpoint, AdditionallyAllowedTenants = { "*" } }; + if (this.VaultProperties.UseAzureManagedIdentity) { - if (_mgmtClient != null) + logger.LogTrace("getting management client for a managed identity"); + if (!string.IsNullOrEmpty(tenantId)) credentialOptions.TenantId = tenantId; + + if (!string.IsNullOrEmpty(this.VaultProperties.ClientId)) // they have selected a managed identity and provided a client ID, so it is a user assigned identity { - return _mgmtClient; + logger.LogTrace("It is a user assigned managed identity"); + credentialOptions.ManagedIdentityClientId = VaultProperties.ClientId; } + credential = new DefaultAzureCredential(credentialOptions); + } + else + { + logger.LogTrace("getting credentials for a service principal identity"); + credential = new ClientSecretCredential(tenantId, VaultProperties.ClientId, VaultProperties.ClientSecret, credentialOptions); + logger.LogTrace("got credentials for service principal identity", credential); + } - // var subId = VaultProperties.SubscriptionId ?? VaultProperties.StorePath.Split("/")[2]; - // var creds = SdkContext.AzureCredentialsFactory.FromServicePrincipal(VaultProperties.ApplicationId, VaultProperties.ClientSecret, VaultProperties.TenantId, AzureEnvironment.AzureGlobalCloud); - //NOTE: creating a certificate store from the platform is currently only supported for Azure GlobalCloud customers. - - TokenCredential credential; - - if (this.VaultProperties.UseAzureManagedIdentity) - { - var credentialOptions = new DefaultAzureCredentialOptions { AuthorityHost = AzureCloudEndpoint }; + _mgmtClient = new ArmClient(credential); + logger.LogTrace("created management client", _mgmtClient); + return _mgmtClient; + } - if (!string.IsNullOrEmpty(this.VaultProperties.ClientId)) // they have selected a managed identity and provided a client ID, so it is a user assigned identity - { - credentialOptions.ManagedIdentityClientId = VaultProperties.ClientId; - } - credential = new DefaultAzureCredential(credentialOptions); - } - else + internal protected virtual ArmClient KvManagementClient + { + get + { + if (_mgmtClient != null) { - credential = new ClientSecretCredential(VaultProperties.TenantId, VaultProperties.ClientId, VaultProperties.ClientSecret); + logger.LogTrace("getting previously initialized management client"); + return _mgmtClient; } - - _mgmtClient = new ArmClient(credential); - return _mgmtClient; + return getArmClient(VaultProperties.TenantId); } } + protected virtual ArmClient _mgmtClient { get; set; } public AzureClient() { } @@ -134,6 +143,7 @@ public AzureClient(AkvProperties props) public virtual async Task DeleteCertificateAsync(string certName) { + logger.LogTrace("calling method to delete certificate"); return await CertClient.StartDeleteCertificateAsync(certName); } @@ -141,24 +151,41 @@ public virtual async Task CreateVault() { try { - logger.LogInformation("Begin create vault..."); + logger.LogInformation($"Begin create vault in Subscription {VaultProperties.SubscriptionId} with storepath = {VaultProperties.StorePath}"); - SubscriptionResource subscription = await KvManagementClient.GetDefaultSubscriptionAsync(); - ResourceGroupCollection resourceGroups = subscription.GetResourceGroups(); - ResourceGroupResource resourceGroup = await resourceGroups.GetAsync(this.VaultProperties.ResourceGroupName); - - var vaults = resourceGroup.GetKeyVaults(); + logger.LogTrace($"getting subscription info for provided subscription id {VaultProperties.SubscriptionId}"); + SubscriptionResource subscription = KvManagementClient.GetSubscriptionResource(SubscriptionResource.CreateResourceIdentifier(VaultProperties.SubscriptionId)); + ResourceGroupResource resourceGroup = subscription.GetResourceGroup(VaultProperties.ResourceGroupName); - //TODO: Create store type parameter for Azure Location. + AzureLocation loc; - var loc = new AzureLocation(VaultProperties.VaultRegion); // pass property instead of hardcoded value after testing + var vaults = resourceGroup.GetKeyVaults(); + if (string.IsNullOrEmpty(VaultProperties.VaultRegion)) + { + try + { + logger.LogTrace($"no Vault Region location specified for new Vault, Getting available regions for resource group {resourceGroup.Data.Name}."); + var locOptions = await resourceGroup.GetAvailableLocationsAsync(); + logger.LogTrace($"got location options for subscription {subscription.Data.SubscriptionId}", locOptions); + loc = locOptions.Value.FirstOrDefault(); + } + catch (Exception ex) + { + logger.LogError($"error retrieving default Azure Location: {ex.Message}", ex); + throw; + } + } + else + { + loc = new AzureLocation(VaultProperties.VaultRegion); + } var skuType = VaultProperties.PremiumSKU ? KeyVaultSkuName.Premium : KeyVaultSkuName.Standard; var content = new KeyVaultCreateOrUpdateContent(loc, new KeyVaultProperties(new Guid(VaultProperties.TenantId), new KeyVaultSku(KeyVaultSkuFamily.A, skuType))); - var newVault = await vaults.CreateOrUpdateAsync(WaitUntil.Completed, VaultProperties.VaultName, content); //this takes a bit of time to run + var newVault = await vaults.CreateOrUpdateAsync(WaitUntil.Completed, VaultProperties.VaultName, content); return newVault.Value; } @@ -174,15 +201,19 @@ public virtual async Task ImportCertificateAsync( { try { + logger.LogTrace("checking to see if the certificate exists and has been deleted"); + if (CertClient.GetDeletedCertificates().FirstOrDefault(i => i.Name == certName) != null) { + logger.LogTrace("certificate to import has been previously deleted, starting recovery operation."); RecoverDeletedCertificateOperation recovery = await CertClient.StartRecoverDeletedCertificateAsync(certName); recovery.WaitForCompletion(); } - + logger.LogTrace("begin creating x509 certificate from contents."); var bytes = Convert.FromBase64String(contents); var x509 = new X509Certificate2(bytes, pfxPassword, X509KeyStorageFlags.Exportable); var certWithKey = x509.Export(X509ContentType.Pkcs12); + logger.LogTrace($"importing created x509 certificate named {1}", certName); var cert = await CertClient.ImportCertificateAsync(new ImportCertificateOptions(certName, certWithKey)); return cert; } @@ -199,7 +230,9 @@ public virtual async Task> GetCertificatesAsyn Pageable inventory = null; try { + logger.LogTrace("calling GetPropertiesOfCertificates() on the Certificate Client", CertClient); inventory = CertClient.GetPropertiesOfCertificates(); + logger.LogTrace("got a response", inventory); var certQuantity = inventory.Count(); } catch (Exception ex) @@ -208,9 +241,14 @@ public virtual async Task> GetCertificatesAsyn throw; } + logger.LogTrace("retrieving each certificate from the response"); + foreach (var certificate in inventory) { + logger.LogTrace("getting details for the individual certificate", certificate); var cert = await CertClient.GetCertificateAsync(certificate.Name); + logger.LogTrace("got certificate response", cert); + inventoryItems.Add(new CurrentInventoryItem() { Alias = cert.Value.Name, @@ -225,21 +263,43 @@ public virtual async Task> GetCertificatesAsyn public virtual async Task> GetVaults() { - // discovery is currently only available for the Azure Public cloud. - // We need a way to pass the Azure Cloud parameter as part of a discovery job to support other cloud instances. + var vaultNames = new List(); try { - // trace log the resrouce groups available and checked - SubscriptionResource subscription = await KvManagementClient.GetDefaultSubscriptionAsync(); - ResourceGroupCollection resourceGroups = subscription.GetResourceGroups(); - var vaultNames = new List(); - - resourceGroups.ToList().ForEach(rg => // we go through all of the resource groups that the identity has access to + if (VaultProperties.TenantIdsForDiscovery == null || VaultProperties.TenantIdsForDiscovery.Count() < 1) + { + throw new Exception("no tenant ID's provided."); + } + VaultProperties.TenantIdsForDiscovery.ForEach(tenantId => { - var rgVaults = rg.GetKeyVaults().ToList(); - vaultNames.AddRange(rgVaults.Select(v => subscription.Id.SubscriptionId + ":" + v.Data.Name)); + logger.LogTrace($"getting ARM client for tenantId {tenantId}"); + + var mgmtClient = getArmClient(tenantId); + + logger.LogTrace($"getting all available subscriptions in tenant with ID {tenantId}"); + var allSubs = mgmtClient.GetSubscriptions(); + + logger.LogTrace($"got {allSubs.Count()} subscriptions"); + + foreach (var sub in allSubs) + { + logger.LogTrace($"searching for vaults in subscription with ID {sub.Data.SubscriptionId}"); + var vaults = sub.GetKeyVaults(); + logger.LogTrace($"found {vaults.Count()} vaults."); + + foreach (var vault in vaults) + { + var splitId = vault.Id.ToString().Split("/", StringSplitOptions.RemoveEmptyEntries); + // example resource identifier: /subscriptions/b3114ff1-bb92-45b6-9bd6-e4a1eed8c91e/resourceGroups/azure_sentinel_evaluation/providers/Microsoft.KeyVault/vaults/jv2-vault + var subId = splitId[1]; + var resourceGroupName = splitId[3]; + var vaultName = splitId.Last(); + vaultNames.Add($"{subId}:{resourceGroupName}:{vaultName}"); + } + } }); + return vaultNames; } catch (Exception ex) diff --git a/AzureKeyVault/Constants.cs b/AzureKeyVault/Constants.cs index 991b9c9..c142ca5 100644 --- a/AzureKeyVault/Constants.cs +++ b/AzureKeyVault/Constants.cs @@ -1,16 +1,9 @@ // Copyright 2023 Keyfactor -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions +// and limitations under the License. namespace Keyfactor.Extensions.Orchestrator.AzureKeyVault { diff --git a/AzureKeyVault/JobAttribute.cs b/AzureKeyVault/JobAttribute.cs index 2bf13cd..4b52863 100644 --- a/AzureKeyVault/JobAttribute.cs +++ b/AzureKeyVault/JobAttribute.cs @@ -1,16 +1,9 @@ // Copyright 2023 Keyfactor -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions +// and limitations under the License. using System; diff --git a/AzureKeyVault/Jobs/AzureKeyVaultJob.cs b/AzureKeyVault/Jobs/AzureKeyVaultJob.cs index f49aa22..07d432e 100644 --- a/AzureKeyVault/Jobs/AzureKeyVaultJob.cs +++ b/AzureKeyVault/Jobs/AzureKeyVaultJob.cs @@ -1,18 +1,12 @@ // Copyright 2023 Keyfactor -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions +// and limitations under the License. using System; +using System.Collections.Generic; using Keyfactor.Orchestrators.Extensions; using Keyfactor.Orchestrators.Extensions.Interfaces; using Microsoft.Extensions.Logging; @@ -35,7 +29,7 @@ public void InitializeStore(dynamic config) try { VaultProperties = new AkvProperties(); - if (config.GetType().GetProperty("ClientMachine") != null) + if (config.GetType().GetProperty("ClientMachine") != null) // Discovery job VaultProperties.TenantId = config.ClientMachine; // ClientId can be omitted for system assigned managed identities, required for user assigned or service principal auth @@ -44,25 +38,84 @@ public void InitializeStore(dynamic config) // ClientSecret can be omitted for managed identities, required for service principal auth VaultProperties.ClientSecret = PAMUtilities.ResolvePAMField(PamSecretResolver, logger, "Server Password", config.ServerPassword); - if (config.GetType().GetProperty("CertificateStoreDetails") != null) + if (config.GetType().GetProperty("CertificateStoreDetails") != null) // anything except a discovery job { VaultProperties.StorePath = config.CertificateStoreDetails?.StorePath; dynamic properties = JsonConvert.DeserializeObject(config.CertificateStoreDetails.Properties.ToString()); - VaultProperties.TenantId = config.CertificateStoreDetails?.ClientMachine != null ? config.CertificateStoreDetails?.ClientMachine : VaultProperties.TenantId; - VaultProperties.TenantId = VaultProperties.TenantId ?? properties.dirs; - VaultProperties.ResourceGroupName = properties.ResourceGroupName; - VaultProperties.VaultName = properties.VaultName; - VaultProperties.PremiumSKU = properties.SkuType == "premium"; - VaultProperties.VaultRegion = properties.VaultRegion ?? "eastus"; - VaultProperties.VaultRegion = VaultProperties.VaultRegion.ToLower(); + + // get the values from the storepath field. format is :: + var storePathFields = VaultProperties.StorePath.Split(":"); + + if (storePathFields.Length == 3) + { //using the latest (3 fields) + logger.LogTrace($"storepath split by `:` into 3 parts. {storePathFields}. Using Using {{subscription id}}:{{resource group name}}:{{vault name}} format."); + VaultProperties.SubscriptionId = storePathFields[0].Trim(); + VaultProperties.ResourceGroupName = storePathFields[1].Trim(); + VaultProperties.VaultName = storePathFields[2]?.Trim(); + } + + // support legacy store path : + if (storePathFields.Length == 2) + { // using previous version (2 fields) + logger.LogTrace($"storepath split by `:` into 2 parts. {storePathFields}. Using {{subscription id}}:{{vault name}} format."); + VaultProperties.SubscriptionId = storePathFields[0].Trim(); + VaultProperties.VaultName = storePathFields[0].Trim(); + VaultProperties.SubscriptionId = properties.SubscriptionId; + } + + // support legacy store path + // - example: /subscriptions/b3114ff1-bb92-45b6-9bd6-e4a1eed8c91e/resourceGroups/azure_sentinel_evaluation/providers/Microsoft.KeyVault/vaults/jv2-vault + if (storePathFields.Length == 1) + { + var legacyPathComponents = VaultProperties.StorePath.Split('/', StringSplitOptions.RemoveEmptyEntries); + if (legacyPathComponents.Length == 8) // they are using the full resource path + { + logger.LogTrace($"storepath split by `/`. {storePathFields}. Using {{subscription id}}:{{vault name}} format."); + VaultProperties.SubscriptionId = legacyPathComponents[1]; + VaultProperties.ResourceGroupName = legacyPathComponents[3]; + VaultProperties.VaultName = legacyPathComponents[7]; + } + } + + VaultProperties.SubscriptionId = properties.SubscriptionId ?? VaultProperties.SubscriptionId; + VaultProperties.ResourceGroupName = properties.ResourceGroupName ?? VaultProperties.ResourceGroupName; + VaultProperties.VaultName = properties.VaultName ?? VaultProperties.VaultName; // check the field in case of legacy paths. + VaultProperties.TenantId = VaultProperties.TenantId ?? config.CertificateStoreDetails?.ClientMachine; // Client Machine could be null in the case of managed identity. That's ok. + + string skuType = properties.SkuType; + VaultProperties.PremiumSKU = skuType?.ToLower() == "premium"; + VaultProperties.VaultRegion = properties.VaultRegion; + VaultProperties.VaultRegion = VaultProperties.VaultRegion?.ToLower(); } + else // discovery job : Discovery only works on the Global Public Azure cloud because we do not have a way to pass the Azure Cloud instance value during a discovery job. + { + logger.LogTrace("Discovery job - getting tenant ids from directories to search field."); + VaultProperties.TenantIdsForDiscovery = new List(); + var dirs = config.JobProperties?["dirs"] as string; + logger.LogTrace($"Directories to search: {dirs}"); + + if (!string.IsNullOrEmpty(dirs)) + { + // parse the list of tenant ids to perform discovery on + VaultProperties.TenantIdsForDiscovery.AddRange(dirs.Split(',')); + } + else + { + // if it is empty, we use the default provided Tenant Id only + VaultProperties.TenantIdsForDiscovery.Add(VaultProperties.TenantId); + } + + VaultProperties.TenantIdsForDiscovery.ForEach(tId => tId = tId.Trim()); + VaultProperties.TenantId = VaultProperties.TenantId ?? VaultProperties.TenantIdsForDiscovery[0]; + } AzClient ??= new AzureClient(VaultProperties); } - catch (Exception ex) { + catch (Exception ex) + { logger.LogError("Error initializing store", ex.Message); throw; } - } + } } } diff --git a/AzureKeyVault/Jobs/Discovery.cs b/AzureKeyVault/Jobs/Discovery.cs index acdcbd8..3550020 100644 --- a/AzureKeyVault/Jobs/Discovery.cs +++ b/AzureKeyVault/Jobs/Discovery.cs @@ -1,16 +1,9 @@ // Copyright 2023 Keyfactor -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions +// and limitations under the License. using System; using System.Collections.Generic; diff --git a/AzureKeyVault/Jobs/Inventory.cs b/AzureKeyVault/Jobs/Inventory.cs index ebddc7c..f6e2352 100644 --- a/AzureKeyVault/Jobs/Inventory.cs +++ b/AzureKeyVault/Jobs/Inventory.cs @@ -1,16 +1,9 @@ // Copyright 2023 Keyfactor -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions +// and limitations under the License. using System; using System.Collections.Generic; diff --git a/AzureKeyVault/Jobs/Management.cs b/AzureKeyVault/Jobs/Management.cs index 3615cc6..564f515 100644 --- a/AzureKeyVault/Jobs/Management.cs +++ b/AzureKeyVault/Jobs/Management.cs @@ -1,16 +1,9 @@ // Copyright 2023 Keyfactor -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions +// and limitations under the License. using System; using System.Linq; diff --git a/AzureKeyVault/PamUtilities.cs b/AzureKeyVault/PamUtilities.cs index accc1b8..4b1e7c6 100644 --- a/AzureKeyVault/PamUtilities.cs +++ b/AzureKeyVault/PamUtilities.cs @@ -1,5 +1,4 @@ - -// Copyright 2023 Keyfactor +// Copyright 2023 Keyfactor // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. // You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/CHANGELOG.md b/CHANGELOG.md index ce6d290..6dd9797 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ + +- 3.1 + - Updated the Discovery job to support multiple tenants and all accessible subscriptions they contain + - Added more detailed trace logging during the discovery process + - Changed store path to be `subscription id : resource group name : vault name` + - Removed redundant Vault Name and Resource Group Name fields + - Updated documentation to explain when optional fields can be omitted from the store type definition + - Added support for legacy store paths on existing stores + - 3.0 - Added support for Azure clouds other than US public. - Shortened Store path to `subscription id : vault name` @@ -10,6 +19,6 @@ - Added support for Azure Managed Identity authentication - Updated Azure client libraries - Removed ObjectId parameter from StoreType definition - - Added SkuType and VaultRegion parameters to support vault creation from the platform. + - Added SkuType and VaultRegion parameters to support vault creation from the platform - 1.05 diff --git a/Images/discovery-result.png b/Images/discovery-result.png index 6af90a7eb01b64a3d722e5b54ee2091e5d03c366..10c087101f09b0a6cd16f02b0dbf7f90c9a335ed 100644 GIT binary patch literal 25190 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

Zk*vzZAHmV_9+?e~ZrDcy#ftrA)4?sMY9!}>_D z=kp=zDh0bGpC$_OC5`1{B17SAe`O_{j;cp(CGNX765r6{Af(9@H9EMtXp|_speAYJ zitmkDID_?Gfpn>t6b~tvnwho!QytmRPCAS4dW%x>@^~(ewR{fn=jGodOk+7^`-=1P zL1HeL1y)1o)C>hth#FC7gD$L}Esu{ab?xfI7>2dgR>r5uZ#y50ta=)X8Q?NB9F*Z_ zG4F^`K%+3I$-#JIVa}B^vToT?%7FQF4;!+Pk7D0<&V6|?KB_HlVNE_6iS_v=)!{S@ zcaw~Zf!7=Iu{f{1GVONa^9r82C6m<;7xnU;QK}9*EOo7f@2Og1Dk@~>&v&SV#$*i~ zvA095K7cenE%Fxadb=|Q1zcEl7fcE~s%Z{&Lv)*g^oL|wMejo< zfMK$=`Uo#xK4sgl7yal9Alo$dGCyqXxDU%+w zr*#b9CV?_M;%k?DzY`d`XR2-Beulj={>7760RbP~wS9y#nTBd)m#9KUSE&AL@}PfG?B3df^@@Pzp-l;t`Vg+2E-o9+}l!tS?!( z3lL7*3z^3!shJM*?If*F9#P~Si^%;bSJPR(wYZ_DzgyH&J45XuWRCeST(|QWd2Qig z-Q#P|Hgg0Cr}n)iCr3aF2jy^Y=bIuf;#5nXSD{NeEIaS3CV#}o?Fr5?47u!uQr+HyIUT1KL8CMuk5lN z4_2|A3>wmz7T;KwDp0Ons4QOhRqY6zLo%*Mqunp9*+;J@Ejj$7 zat*n&&zDC7ny0yX*<{;#X7O;AJ~-J3S{5(lFQw2-hB7t+&xl`Usq=2`T5!4Y_Xah#A@}Cs_t<$S)OI$OkhD)~7i1i5 zYlDW9^%#^D73monufkTu(apMiz)&Iyq>@YGGr_z@e zN3VltQyP1H`Q5fVszD-N-C=pNm9jF_xp$_>#EgR4|(&m-T`z5HYA3|-A6 z{WD@k(!`l+MM0Ru+efa)q!;0R3bQK7|9#92Nbd;kEzQrN%8WBsR$$Y{)tQz|xTLX9 zoi)SLkyG?y8p3x>GOE-fKsxo4%oQ@qyk{JFnw#a>Kr7-^Idw6u8CZ6_13~h+jiZmx zP4hwA*^p6&E1t$L_wBkqbW7sllF5EcrQxNe)juiDX>84SamqFCiur-P9J-Tc35?ob z4KR8~6o0=NaMOrM zCY5(r|In6!%|~psT&G8aMdmUG;9)LVa8zU}`1zhZ{CPn|I6ZA^e&Eds^NRRwWrbo^ zOX=IgVge2bI<45t_LQHPE6w&t2Tuv!pv!+fb!_XKdO7?{&YHN0Axw?(ID)3E4ef)( z)gPyg4_adK3}Cwg_IY#?6fkM5?iP{d-2J!n2y;vttPY$wgWLS;iIAR}22Fb(Z}iKR zr<1tIcDD*YQTIU^hYiFmp7*bZw*>ZtkkcD{R#K1fS~wE#8=-VzIYEAR+uCI@d?5mA zI!(goDUFw+mM@UxODeK1Z*qybT6H-MLXCELi|}oC9I$Lk8)OGGclDhD*qfc8v5UzP zGiiUqeCp8SB;zckjr|5N3!YT7`gySyW3OOwQMA9oLu>JTcRIm}klNHR%b6-qHTzMX z4s|!fHi)FEmg?AY$B9R4=nb62zKh&dX=a|x^{IOt{=T;dP6yE61ps=2q0wLDtq zTa0Dfk#9dVtUT^>P?VtAFO`%?L%!IZv1UYql1HP)4CB5Y=0UVS^TcfVS|J1T|Ey3- zNjF$2aBK$FUO29u;g`*GuOPZ&Nd;ZwYQcG`{3Rf#%jDI^t;y-r86v$j5W2l|14oxj zI(pW`_8qAr>XOQe%XVsZREiLrBHK;A9d*&ewI?2MEk{h54=wqzH8C%mhBMlETQj4M ziEfz0&`z8>J6kUX=2-r6d~$y|zQM4rfivRT7|&Kxa;!r{5@9w!{G~J% z+PsPIFXlXxtVAjiuK6Z)FGFo*@iK~nOuzU$I#$SW0|%fiV|8s=&D;BTLd1!?eP&Cf zmNStHHHM|Mpw*!B<{uNSH(aa76^@;YJW-^Rtvud#t_@5tH;eP@ZlJjDh`($`>hWnr za22AAG-j$Z`jf&+>@4ox{LGN?7{y|N?$RYkq>7;QUEj3L1UlxW8<3_PUpvh?|qcv+Zb zZ5^F%{d#YI&+!bEGDkZQUUAq`;U{@)byjJVl$(EOXPMpX_H5{k6mjgEf|2XMfA(tg zE?g$eNp*QtKDY;6KsPM3;Rr23Wisw^C?|DlMDum{<|CMZmn>mN*DQXQh_k85bg@<7 zUJtCrfo!DEB)GEj@$nh2u7%pE3+=D&wBLVpXGY^%Ucf0um0`)NYY0w=qI`t~{$yAF z{=Q$Bbru%xWz7pSah-W|KS`&L!G$ejrr%XJEcU40fgIFP%RzgNsTqQ|vKka>H1uB% zZAL3u>BqRD(rmukETC%KNW-ToG+P+4%ftXHqHViE1=!vmDfd!QcassUj_>)f13h2i zsee*7Gh|OR^bN$*QsAg|RQ1tD+1mp;I4ft>u%d-?Nx4fTeBuH|YmSSGLzz%8mpPbl z+4NBM408Go(#`BO&lBhH92=}6wLWo=;e7dY)DRbPIz>(US7p zi#t!gz8g2X%Fn!tJbA=@YJox%K}k*vgLu&+&YbA|3~Vf_{><1S(Z)_iVWAa^9wzX> z<;wRW*hU1(`oL8g7VE5klkIj`TcP`v3UE@YPLJny!fti*iJ zDF0GJg^n~JYAC?|$0tlye}9`-{jxTmAl$^EQ@2ln+R9~~!}akD_2 zM$L$j{T2M~aXZhWr`lT;IV~*Uo55)P!)MAlK+ndO%g%$jc`D5wT}(+g`W)aTUpCYA zEm=*bY?sD76=Of~M%f>@nTvO2P8v$B;EP}r`lE5r9% zWwUKuS#?+bE?CT&lobzuwJtZ0IjRu3j&l4x-z^4TE}xx_+-26)K^Z}f<0*YXr*F?Q zN!NN|RcZC6k!ErjWX&v}-38vfP7qV|z>g1ABCYK$D1va4+DQBsgp+@7WztmnOOB1uTqCQV%Ol!Ur08?$TsMN(QxERP=!-+=6gDkm?Aqt#jf@H4%q-0}uYP((Lb9yJBbSLDE$-qdf#PLGfH>N|_)Bp06M3AF zaJE4%{`q`_2gu&%>>Uz^eD&zNT3X}s7d3qz7HVSMF$4BiZ<`&ni7R@KW-0W zN)N52oKx4znW!+I1=LCgmnHA%OkvA>qz$0n>6j`JJZoHf)0_)|IKR6w@!MvnIK2LX zBXa-ca`A@WuXZ@TZpRlfdCr8Gjl)Axf-H|oM(qhkNy;#oml|-db-uQ>QT~`46}lju zOe^3N3TfzEyo4JYun!)^-753|779dw_N_4MP@N7iNmLZa2-ioqT4-A(e?Ev{(&;SX z3}-};ukBA=!f3Ye&Kw=lI814wWG7Cs2wUF|r!;bZqWCxHO0i34VeJBFV9*g!v`%7J zATl*4?$)YXw(N#WSFmkkmD7@)*%r$04BgCorYApJHHxWP}Ef2{-+KoX<1-Y%o$xy_rqFr6fgHd+w zJhg$H>}($ejro@r8=&Ngh>CyN;zEb}`E#E@lS`LN zKR}k5`90EGyL(ynu+*A^(ETOD1#-VuOaXjC6fX_r4+L5Ivdiw}Ky4Lfv(oUy$m{1t ztd|#OYf&yFV+Vh4X_O|NPT!GGKRw4_A|5D;N zS3{&H6G(hly`-wwiwKB( zayL$f?StopZ2up=&N`^=Z(aAlIutGL6mKc+PFvh5B)Gd8mPH2q3f^P#tP?EG1Vy z&YU|S4v$rX-nr!Of$oV!krMu=zKcL0HbflHtJifPKu0bp)o{>D1-!mzioW z;I;?6IaA25izUQ-57S)JeA&Siu(W*hSvGO#kMh3qUCURMp;Ly)B9M*w1VNSh5?v>Pa=LrM2Mn37f76vaZT)DW)DxFX3 z99BHL4E`-8SzC!SGFmo@D|*d)qSoHG`@0fguDy=%)gR|4D_B`)9XKSQ$i*ctE-X5X zk(oIlCCJ3)4M6L@&@j>ptr-K8FDW)VNy;0HZ{G{bUQY157Fpw$`uB;BnqA&C@8oe* z{m{urp0tnB#h8Ycyf1q~RqlW`Om2$Gqnx5=$0uw2>i_d|l#E38KMo1hLs$%@DgA4h zf4}~}UoBzB058VQaiYZDHM*ax>1it*ec#Icx3KlESrPR6d!p1eIUuXsn7v96FBU6c znoo7^{P^Fp)_)Bz-oAjSsVEC&3NG9v43UA(!&}>gCI821dkx(R$B1dw7Uhj%{SP~C z*88mHn$n|zN3?pdz1)^ z8{~+01!(g&M0uq{avc_{n1m%z-r?Ju^V_DoreoJ*PlU5+WapN=%jED*My9!r;MoVL z&yFM8d!B~CzlFS1gy;;Y_?%-U6F-Nb*l=i=?z@JyYWY zNM_sNi>0pM;y@@yjKWg=wC1n4g{a*0GX+1j>QV`Q4JA*fkEUmzVnn`Bp^l@P2C-gQ z=YN(1zyiVx>y%_tW)EoOQw*NzKC8qOO1|DgySuLl5?r||w&3%rH_tHlbS)ulS;rjI zumfdyVS_{qGsP?H-yC8S=rH@V>F-?2-dFlJY_yo2<=) zO>nHUkSS=e5msorS=Kq+R+y15I2z7DZTQ^OBPl&KQ{iErEW%b;-7mIAUSaKP#W7lk zVYKV%LcJpUvaxY>$fOyyqW+>YH-C?CSD?XCuW*?yUBB727U%-P-xBDdwI>G^D2g*{ zD6i7Guv}EXvoZhGI{hB#PQ19(e%yG)P-7o^1MGEQvW#lzf0ibpe{yxvzcfTNzA6xx zUf;IfHK^anM>Me^jE_ep=VU>Xni^i<316kc4QneEjTNkLwMK1WQg14q){(a#7nfyD z`htX3oz~xP2?k=SxK1U!QwoZwtUNSGS+JZEX&bIB%2KX z{)0XY#Y!(WoF zU^kY4a7>i5J`>2tSDN0wE%RQL%W1;eI@~32S1Mt^==#OlQ2eGARW7`*^g`C1Ejo!g zDo&;nOO!MTH^N|^Z9)hGfu9c6S>Yj)JuI0ujk3ks!pa^+qD?X0xQTy*ArRy>OSOoB z{P8YM3u%VR&9AKBTpJtw%xWA(nvbJ|b=>?Mjpy$_d<>cXfW!L)TqAc?1jE0xaELF; zuIY*aJjU~$>Q8jctn*Sgt{zG>+(26a(g({Stt2?axZ4LY#euBRhmW2Nd|aIk-AGBS z)OU~9UM=eoIG4wjmizz!<7!hn*2m^fCW4Z)Vv$ zc#F!ywW8qgthmx!-j*ikgQEXO=7S6OK#ud-0Fyr(L!k8uRfTj4uZ&Dd{b_yky@Ign-gL|&CG$HxG1HqdB z@&3TG(TARY8vA>kK1IbU)4NsV7(Up=u&VG*q*3eL@XX2oct~ioCjIbS6;h)l0mTg}#60 z7gltTf+**{waecukn%L$L`Hag<=Q<#NX{s8ab^T|)nHjhx8SvPL^GQcr~PF}N`{i! zXcD(w^PI-@gjbN7m{lg$E?A`a-o0;(*@fN>P?$wkyL zM=AQJ%cZPW5XHooxM}`4p+*_1GeD&BIowwmBLj)&ir#r|wzD zla+(zxy$o@*G(V2Oi)eBmh_Yq2{$gCR$1JHedPxVB9G>+@bV?l>*_Z8qSW93$7|T3 zO*40RC3luO)7S}GI0Ku;t4|;qyU{vQy}w3EZjuV8ZwD2_=vcc_7WuHwI)Yzjc!x_A zJGhMWW9zD5z|vddN`$Jz9g0ZO`|u5U@>=0IwIPiSKOpS{c$0N<@+`(iULng{(qve7 zB>>(WhvfOY18NuEvg~0+oE}k1rxP?rK9PTzOzGInt|ov~qb=l3*WKtcU*qD!aiR+B zK4&g?07~?;jIO8FDT<=c-lNbH4TVL}aI*dQ-DlCtWRXe+DXx4U zy%U6nrx$&^h*NPgR+=lo`m=gZdOoNO#KVBsRt9xa`Iu8)6`B>I*kc+mi+TCJ!8irs zb%XY#&Nq|#cNKOP>Tnz#%a1rgil~g{c&i0hG?2b#J{yz|V`64YL8AsmAE6i4R%O=e z;Y1pU!g7iC2Ptf5xmQJ~?;qdUEe`LhWggCyvZYDDPEQP#!W(2S)Tc={Gh-B*Fj zf|d~%sZBTOPq#vj6g7RUj4A(|VeH@Rb@edoN<0;Z8$w-e@sd`&Lu|Lcyp)#0OIH8- z%|jgC$z%8Qw@#1$l(Y@9gYLaDnofZGzP3MnpDkCde}wM1b`}d@q4?Pq_*pi zZ=23BXDsl&r_i8-1Z$?gHT+#6hF@RvvJwJrJ4gI|$MNQVeaNF#A1d3I%!h|x^g9dH z_6*7^(9Rw(-?1&Pg*M(OMgkF*4gv9+FA)xPc8H`^-0E zNk|o1Y%Ccyr%T#KSQG(e-gi{u5Aj`V1ro2#*CF=lQyf}^DrPQZv0}yqfXhEi3v!@# zL22p-N`Grz`K28Zg?y!YKmmSsnw-4r53Xgb=@ZSw%L52`4ktRG|2zOlAGzUEptk&DJ)5~xXP zh3lQFy#NUB$eF1<=Ui^$Y@v{_aiBY(w0>zIJ_PFWiyM??UFUvLKa&tgl&$D4jrUDS zXe()8XPCLDvpk>`f{CZx6`(&;`?k7+hlt=85v5G?70}`EK{T3iX4P#&zunJtaF5Kg zydv^AMJVKa57}xo--My)!Ka3wu5dRgI(y{61gfhe2 zqBSbI$d@*~-fpP_DsPA_=%%z`9{h{UH-uW)d}7}#u1mnIyCuxVyFMh49!-Tt_l(8r z)Cs(|aK9t$Kcam^0I_JCZ><~5%cU$SReKiqf}Q zn_YxLbw764tH_46YRsSzq>0a#i8i{J4;j@TY#Q&F+V%jVRhzpOYs(L|i&MixFig79 zEulHZ=W<8c2-qpdMX(p-A&h~c_}3`hIB8D06i1<;)Q19vVI>U+St)>MxOx)uvPdzn zs5F?!fE{BrrP_g=nhiA&b|PXTS$XishV`?>i7R#E*e{{XBRyLzrVtzh{0yl*qi2^- zNS@ek&gLZ{*ae-X^WeU@Vxot7XV)#NSPg}`>GQwfyz@c?k!KCPBAA<1U#a{GPe^L$ zM#J{MB8mo=ZcNWj{ekzc?jtX+${MgB`9!PHEfcRC47+-)$C(+C_Se@YA7TpwN6Vh9 zk#Wa&tGvEx+dIRYz4Oxv>acKv>A7#fg|Bl#kYDkyt_>Tv?`a(4(gFP?HaVtxuL2s( zUB|S|uIHV5N8@pm%QDm{yY>fsCo9Y3@18n`jX}gB2jd`Qi15iKE5F0uORg!1bM7n!{H;CZ+f0}s|^p$m1Ap%+|lJS|4q-ju8iky z^SdNSzO~yKk#w$TBwGasfJ`3nU37ro(Zu(h9*W0AI;X-}nk~~+KFhl@ViZ8k-cBOD zo0HX_nb=*6EZ}{8cKgke7GuxKW{3ecM4o>3ZhBmCD&8ofBZ?`yQDYunihD$)U@FDK zZ*c#NsnQFVWUowUKX5UrYoZoNVSIxd6fOMPXplxP8icygeGh)Ql$$U$?$q-syXUe0z$g1^ zwiw_Uz0m`rUXPtoj#1Vp7{){EaQkk`bam!WC8vsT#=Hda#5rQdk!5Gvx2`saXc zH|4I=x5avE;dLT|sQ9UOmnkKn%EH)MSvS3v`%e^aJ4vY40iO4U6e8B)sZpHLMM+w( z`qWkuevFAfU|>^n_D^r|4OkGR+|W;O&41oesKQN|ke{O%t?!H9IpJh~dBssU!y)GX z=E9#(dgMb)+rSZd;zSjEU|j4s+{_Ogh9JPNToM`S6c_t>QH+=fS@E93_b22T-a}gN zQkvUXYq*7RIo)S=Z5=-|bW!$7t!iW_Es~Du;Rioxv&?Qh zC4Vv9ALO#gxcAFZ8iNcF(u+NQq6CCX%SOHLg7Li_3%c%-WD{ut-kdCw*ieKe39xLuyu zLm)-8`Rl)+8xd$pL?TjvzU?$)(NPNjBm<}AwW8LY*@(S_M z807pt)8O=OD*l${G&n5ZnoeL5i0XfFd2%L18KDooAsv~Yc(Cq zl;xeg<683NqxoN|c!B*-m&FtU_Q8H8jPHyeum7f+Y;ESllT5WfnU4t#Q$<1~fVVWA`801%46y=4MR^J~F@wfoZ zo)=y|Z`Z_E&0|>9gxou`dFGO(0uKBUCWkNoc2c|So*FER`edftXfur)^m4W)cP`WR zRHeDx_pj@5w82{Ni8;{O3cO09Ox$wMg)HU1j*BQn==V{2lOK_=qiz}ymmtkkBEa_+ ze))lxxf9HAI!B{`mcQEPpgNXHC3UkCu7P5)wZ0p2y*Agx5$x~;Wu-VvkC$)Q#d~xb z6y1s9{Sf{xf~D!xIXE>u;LHw7HdEhS3a0V4cQbr)mf@oAUm)wh_?kQPU+dg=<_{k! z=-utZgf6&QSfbU}TuHa9KhKcX(O&PrK*h)j@U=XYvy|o};rF$zoaMOM1xzfvOTYFZ z-2p@y3=)F(Jo(1dM;4xivl3>6440y{4UI>ZSy4{q8fI9cVEy}h0{DqM9<05W0pz1t zWw4Qy+bw60DyssIA{-IPstQwm0%PIJ*O>y}H9(8+)0FZ|ea= z?~cKW&$$MV(u~ZFle8Zw>Oh}HiB`61f$uNn^c7=fC(>M^o{kh5fxV#eG9!KD7JmJ>t0SQ^}$?39q;(P2{D&wQ$Bp!Y zq2DLv8^E6~p>ah=R5;%wLnY+FhBR}fG982=fjL`jd{Ge-UWv-2_Dh;25q@5I&`-mP zKe8h98Gv|Cht%7VbzwYSgElAdziYcPU!;5caW}&(hc?Y9bp5`~)*Q2h!>%OTgFh+N zPLXkF4>Ow{i$j!ueC-E>9|DH$%KULPTYEU6>XDCk0xxHLMlp$dmhb0c#eH`PpukK~ zpOfeO`*d=ULz%LnUW5lWe(cQ1YFgHztIBhgt`I+O5$Mwr6|^(Q?W z;#q(&2ejQ_W-e8kS>kK;ZR|UQe*SqhmMQ{-Nk?w$5JdltyfM4W2~uq99ej~xr6;QA zxtE7g`0nUTy;ziH!zYX~1xSVZ z9K8fN58$&}81YfIY=OO3Y)gQaBFuArO5B|7=ZCkqIMy%r)o;;h6cUq!O)vxhK?Cnc*B6I>Gm<`pTRg&t!?S;R5kP z>6s`ff3)FE^%EAmi7#t2650JM#s-+Z-NH}NUz*+aE^R_t*YdSo7V*vJ8B6N9cnVR3 zq^tp!RQRK$o?wK^NZMOl;e#F>73P3$Si4oMbdyEU$)nz)m{?FINW{F=n$c#e`q2_9 zS6M-OyvX2d_jQPTnsXT_`&&W$cUejH@~hs^Foj4B@}BiGlz5I`^tHChkhwpfeDuOB z-tpciL!LJXI#<)?@|`YuRKR&4;%7}8OX->A7yT}a3ncu{ug@V@Vg_eN68S>|n~{_T z%cKCDmeJU*J<}8Tjx*6X8epI&U@qwC;UCThe5=>o zC!mw91Z%b>jChu-*Dm*d>@!3j`K>f>B|OVf9(BWGc+6vhCAKgkL3EIdynGBN*8fCM zkrp(xH^-^9p)z{F-~3BZu3}{`!!?4YyyW{2G)GvwcW`--`u$Lp*%~?dhYNM{7AqC+ zC$5O4{(7t!?#bAnO)ccm@lf@$p8NxLv>4}IAbs=V``@D(DFzaP!NtKq-3 z-vl^DCS557XFDnG(*J=pS?p+JHiW0XO44{!s)E_K5%q~)Wih{Qkc?PH!2$Bi&0+it z_|%mAty)aUamtyt=RRBE?`srzEz{Jy&MHILa~hJWOJ>=~mk{%mDLUa*Q6C-2H7Oo$ z;I^Dpj8Wsgi}rm4jfJ_Wgd_XA`cvwN81ty_4l3rY17N8hj6sN&_V7fp z@O>oZrPTV-+K)Dsf5H#WFiVY4+>x2Qo4h5Uf3)pH;u6Z>ye>oSyjM@?K-#~-6pZJ$ zSuC=xp{y+tmv~S# z0w(+0!dw@+)~?6M7te2D5}0|Ju=PtuIKv zJPd&fGmA8e<5Fb?{>5MHS?iFRO;$L$?v0T2fvkE@|CkzIUKWH&LFn9XyPW!&A`_Oe zl0t!=mp9*!GGIk6o?n8odZSY<%h{f-pxozw&)?l{6rt)MNdLLo=2M9}A(|jT!_1(dVsPapC$gyX_bq@_8^AV?pxlG1F zogOUHtcW3XHC;x)>l$}k`EVPVy6$Tj3>}U=mXKp;oE-njF|k zEf{`@ZlQTs8g|^bQDG_xG+*7?%x#>A$EBXJ(9S}1WnrP1iLkZ2ety85VB={GpiRCUsB9YmI;^dz5z^6ks5HJ9SlV$q%!0Tg4zso zy*TM|ja!F^Z8K_>Htql>~2x zeY8AL`Jyqg8RXrCmh7O59Bu?;3}yZ5vt4-__*>#_!-RR2g~}7oE;-ivdEwtx1mAuu zq6_K*8yx&}S2Po7- z{4x(}wE#{Q!2QNeEuGvO*LKpopkIUQibz(PHHmY#G@DT!_nubFsr7Cj{G{ zm+dZt9~W_{_JE%E3SgMq8OgpS%HhMN znu5V54`YR&{T*(Gf|o95D%fG)3l@&l;J>88q8I7P*1qVX>A|CFN#`rUzX*+J%3z$@jBCVPXV-2AF;IV?jEd+PggnQYJPD7gR_J^j%o@@^Whg> zmy#PMH;>@<%$~smLo;IsX{9-ZqjS95iEmry-k349_G38tDx$wJu>TfphOTcTp$vN_ zghaE=GW_2{W7ep1ea+pU#j`YIkTh5vn zWh@;ysP7x_8SJ&^v#x%RI1%S|ge`JJprW+zwa`z*-1XXazeuLOT@0~&F_)Aww>RCX zMtOF~1;J-O7Cm#7Zv&9bX~Z6G1?-0MZPXVy-*ja#(B`LRwMcE%=PO1va&b&Z+(U&C zoZJ%uR#j7aN~%yBhosco_mQwyhwAmg)PM6a2Cm$&@9wcM|-HxV>G2JNVNpG^ux1YpJRPAR1xZNk& z0{HPnDyvGwc9*w@RNMVa>mp^1+9Rskm|{o!>l&BzbRp~Z0@jubB}%T_7gu(2)Zd`? zoeFN1KTh0S2YScQs}vm1gsTi!)jS!$ZCRpoc1R~c@)kU(=H|4I&<6C}vT$yB?EQ^S zb~B;Z0{59OI7JDS!<94NfZ{iF+JESWVI(nvuc_)8TS32S7^#&zbHA1bLC2e^sT_lk z7QOUHbE-IkJRW;edjh_BGZ9bh0r%WAV=DQHi@UsnS5Ij|lDcR`(r)px2%_UF@TtVa z=Be+Vi7)vF?B#0rm7((65ffQwG#8O2Y$wGYRG>C%va~N{$e+q9D*j8bOlZo1aEv#6 zZ6B?@^G)0I_=?xQqC4Zxsj)A7RvUO>WZ@bXivXuhcA)c#{m$AkuK$#7l@3TZvhQY1 z_dIR2&<5I%F1Z2cEU+%rB^*s@NFVu9gzoTgP5O4bmV3K3D~>-}8M&G#JeIm0mQ)Yh z;FD4XkWioIHjCpdtOzP@9A-kZFjaoQx&kGvc^#_S<&0eDGV88V?3Ea&*6EhRDNU_h zf09b1^K)0hE4?)8$)sNcJIEd0FKv9lzNC7&vGpy#XWd^DQ6muyjanvY7t!-N%6Pkl zI6CgqBeSB=%&c4zj`6om`s^R|rmEweqI^E;pkTBDJ{ww(KkJJew=rUSGEy z!C{e4{dVCF{s#3NC+R3m-H;SEHMhL}HIh}wF4h~cZsAF98J9#cp6H=JL_unr^C$6Y z>_;a7l|p=lpykon$sfjsMK7YQhRAv=l20yMKjNA0ULZX}*sUh&ZBihYy?rz3D(z%I zKkzEd)RpC#LqG}zPQGW8*tT{@h+j3aGORJk@cv~NpBoy$$I*(IkAH?!TWu~c*7&uL z4@qUr#w~QK`DN0C$9BN6R#s3yxkYn2gF1g32x|hHHz!r!*lRt)gUSc}X2ZNa5bs0g z28IWf;pWzbIz^W+dR;yg-Lb9B?{O58BP43y>?1lL3wo`=-U;1}@$V6QVo`H3k&A3Z zm{zG36%C*$FH?um{U9g_AyqcY7mW(d%|cn1e8=W9O7h9ei?jg>f?<= zP0=-+Yc|uQw?lh(zM$uzkIq%CKp^VC)B>5x7lUpdLr7eLzDfxq-$OWIa*IPlcSFaZG}#QH%|QCGNGoaR$k;7Px5+e()v!d=d-i0nnP(+QdTAtVr4ahY9; z;m-E=-1hEcQ_b($0sN~!xIL!ovht2*lCS219>yI)p_4yZPJ1E+9qmF@tO%ZI3@kP( zy>CFCQAQ*_Bm8~OQsZ&{o`XJoevm{BYhs}$7Y&Dq8+u(N@wX|po7p-$zLwX$>+ z;PZ`X34)(YZZxVyr$AwUP=o!UsIwucfP>#buQNP60)M&ajn~N=jh6+9ahYVnP+q!7 zkr_d}t?13fh-)*mSX@HsKZzrH*s_K1cX-&ljKTx|>okbb-zYpoig;8*Z;}|cGlxl2 z4)YmBGyYLg(F5S3a_82N+L~`~T_KOYQl9lH`MyS)6t*CBijL<%;rQqaalhEJ;__)H3_BL38V`jW9XB$I zG&=N?i+-5~nygBs$Q3q&ms3)%3Dc;UR}{aY_yD@8e_pNpAdtq^*dBC6+NX5L0^^vl zwZecWIyZ~>KdXBYVAgoWv78xNRR~dE7F%$XYplD3@;9b*=d$ekZ=1uY>wXUdXAD2# z+hx#}rex)bF1{>Ym_<1h*Ye;R!f#Z1?xrvOZ@-UhU7iIgSs!XOhvMy26g4=sJuEff&18T_F#j8vshh&9T_lO_{9nX70y+608+`dUBvd6#Ox?s7 zZu-uez3RPz=pT2@tqPLbKX^D8a7|mzh^14m6?QfB@t3A#obRaYfx;l;8W1s`Vxn(4 znxD;6-px7atQwgHHaKGUvu3)^ZpQ5!$M`s*i6t>=wG_lwMITHqEgfH@#Er_m9MxBR z;tDe5em}zHf6{PN|D>`f-ZYjYC?r(Vb9qXI3L@7>PimWkV_Uf0w~AYimyevyu7U+C zA$qaeq-Mef>&F3T%uo$29$zN!bSxqn@{gS-A}ip>_e7;pu9q6BB@ zsU~Tqv+wMK%Sy>B!8AeiefY_0%2)ULvqvx#Ir}5V&_6TV@NJH(cSM`6M~bXqZ|>a6 zszkn%TF90*g(Ks`&Ko^Y3!%J6yOO4#hwx+7QAXXo|iR< zd<9Du+bA)`OvJZg_k)AcRJc&k9*8m_d%YnMx;(`%GF!6j}L`_{?HX^*|V@c9G!ki+Z(;?X~+7Is&=7U^a;BMu1 z%fL*?E5`JQK^3%KcG|T0RmoFfrc~a=%Bpc1Q7*KuV=X+|eA$v68SbXx%v5kIa~)cQ z?EC!p!F>ffa2X%#kuipu(a`U|Wb^Vn!eFQu(gFJTXPR+~;w4ByT zn5_2IA}cbcVC?V-bb4a5*aW?=+vm*c5;F;AlDK#Tii&z7kDOBVHc8q#D`sBpQ3LHH zz7M@&8td`QcO;LC7+h3liPnVg_te%(sB|s;nlX|!u>4-4IXAtV!YLSiO^6jOaJ~{81VTeIexxJgHpUjB{8JSTG4KWumCVUeYXb^2L6^Q+n zfCu4z?sPGnn{!cSaPx#^rjVIxN_Z_LV?o7ujbRMgvaBl?a2TYT41#f--}c=hwrwo_lcr}l%l9GE88&H5ML@s9yz?Yt zV=4#>0>bifmpLK24CEhpF(mYM%_IyPoq>xlYWjyVe_m#DA z4Z*Yq?zV%xUVsfdFuln76Ak>6YQr{U{|l98adNz&{udd2GBA*AhNm%}8Y$zXMOAnT zqU=!*MZmKaywY%L4si7Dl0&V=SZRl8!b5Ha9F|U*I5^YyCtZ*WKBO5Gmd*3j{y@vT zb=q*Ja7G5ji-Xqyzs@+>bc|>zvLHWKZ%~5zHHeOa*ZX36g5ceA+h`m~4<1z`J6XDyK&{FE)t*b7`ym z)uBU;pqiqq5vFrXMP&Ih@F9V8;8Sn7hF|ldD-iZa@<;pv394s|0hMGkaz(07`rRg} zQicZ`<&+-*DZ^CW?H`GyegcNOHT-nBe2s&`P!IWFrpT%<|J6|kaWs~ewL4*PN-J8k zaE1Pi(spNqDEqzddUI35P~O`Vh5+K`1ETLTyVI7`j~FYSRO}*b?vP`xFD_r6E*Eaa z?p|IIJ9&hp4hhk|z?k^2sQ4hJ_*B%UI1q3<7YS7f`c~IGRIB&%6@nZ(3+EDzm1*(3 zeeRCfbQQZMx9Z`~LXi!760Xz9u}M16pxd+L*0y$$0f42LLoAjRaVOF?E}Q1RFpbA| z&9f%=k^s<)vc|=nHNe03Tz^S>%q`Aj}&t2d@){w(tkk5Yn5RoMQct+9xgh`Z;#65W6PU*i8TDL;;7vj&f~mj2NH#}ClgP*97) z$R|u|>3_i=|C?VC`C=CeO&hS_S;toi>P_RkeH}UxDeBw)-zZMrHO`T{r=69xj5z<3 zq(I>er$C;u#?${z)2J+>!YPS~c993kRTcj+v`8%bXl&Dee4_pT$?`|dNN+BNa}n_Q zs|y!;sWp9p=&&7^0vV}RP*lZI@cr}ud;SKVi<8{TQ=hdhh+0st$C(**{U@|C`H!E5 zm?~@{gJ-b*H{|l)^Yjui@YFjfuIS8|9wjc5S6c2TMFe8L=mM8iQv-0sZ7C551NYEWRIMkXuT{$9lS5dUi*EdQRiS)!+ z2iVu(pRqjn-Msf)8 z4JBwqXb6v>lK9+s=aQ2hngy23?ZH38Prkhl4I!C`EZr;zT`j|cZT+lY9~6WHyu&i3 zdx1G#S?g^XkUE4e9Wq_Nu*V@VehMGZ1cdM=F}m%%w$xI?w`0FmAbIUjEg&{}z4O5| zzHMY?tlDXtE#0uj_HY!7gI8>D@cO~UDpgy@(hn3dHsf_Zm4A*C!@>0@)WRZs^CC3) z_z=kgpFs6{<3%~zojtS_RyHW6Y_wxUm_xAOI_3t#MZ;pFVQ|f~+;2rme1GS?olK7) z(xy`O`9fkg^(4jV=A!KrAXJ* z(AYPb;jk^Bs8aeM_*te3eudO)_qQu5W+bJw%2mlXcmM08368%=BrWpRwVv5QQHN_2 zcRukxW_l%}M-XJM}cNRu{)%(0|eCS=jd~8&zc1TjvOyv)tDpzd? z-_A1R{wV!=+Pjbt)TSso^S+FRXr`C5DsqZ(jIMr9>c8MkYLGbhh%5m)lLCQFG2^po zLLRL;yX5J{4sNDxY%mopZXUj|dZDK_TZIo5mHCw(DZAnCc>UScAynml-g%|1b*;Yv zXCF|d?BDBpr*u2Ws^AjWa0Vnj8;jpA8qx%zQYqzAMEj1fMauR(8k<_ojS^1e+ziNJ=1UZyh>`Lt z_B?w^QwQUyaiBzRr@rCmV))FrhNBP}fFEV%lEc%X*dKa3`|=X+7SN$h$Q^0gANwZ5 z^u3Yt9o};*&E~UJY4AI@Lt9JB9rY=D$bq4u>Or5w0v8t_Y<_>(eaWwy@K$PZLCyZU z=YwBn$HJY%?kDDnjxphK7&+2~SaeFE+*hjYR>4_itPFWJpA-EzSQsM44lWfNXYm92 zX&gY~T9>0s{mLge7R7%D*=%EN{%y{OKh@9(=?zl%yv-J5g$12*!X}MQws_mo+AQuV;?HVVa;epjPl;UAHO$UylF&z0nvamOp!Xs- zi|T&aKq9ElE|Sdr>%~X#*>;`H6~9I*`Jq(t?LZm1Ekr5v@u}&G+R0sC6U+!-uW7xz z@j53L_YpDmSv;IjY>Qu7Qj3r$kP9zB+xjj^|NO%SbB-$TbFK?^lMC!d117kg0fOzK z-a{QPE119IGQ_Td-lz&uH-Nup`W*ee+wYiz@A>zLDWb1rYAwC1d7_3pcVWh=9QxXAr@}094lE*v7NbC3hH)(J$M}-K7YNlm+9A9r|M!dsy}ekk)mSHHTA-oZ@+dDOmR}o!_fScQz;Af%Jpzr0;LuiYKpW!$R7PQ0KuLWDVM|x(b{;Suty=)wCgK`JhwGWXJ@&s z=fbwB1*A;4_d_r?0V5Zrh8en7KF<3q-!J$MVpF0gGFBl&G#`Em26ttr4Uvl!?MN;dXiH?0((UcJ?|>{+4-KUQNDrY4BH3*f8^)av zp-;j`*E~~j%`c7VoVUc|P8YZK%Yu7Sm-EaK2j8q(hFb_Gdum<8hn>&Lv9hX;oW-jy z2-We9d=_yoXPXy=`~4ro-)38bL_vekmxrF%T)UX_@W9S;w%9i0u z7=5X2bcN-e#-XO5hUA@?=JMmENZU`e>17a|NRtfOwB4jHmD9~6E6*XgM|dt1osHN; z@`il#D&}@~SL?nwgTufn=%1X4c=fG`lub-uF_=_3wF8bSkrAWsiI63m{u<1ZxP@q* z=H&)vM=F==a!21A$F^VGlM;n@+6GVfgpnf5JIe(2?R1iU9wcc`7lvoG8t*4il?@+L z9Q|DaH`(R9Sj*^w{}oj+yN$`ALvViVTk)rH@!!nq-M>%emQqZMSn>Z-FVf_iM4qsk zKZUna!s`BH2R=}j;<5XxpV+m@DhKV%+oAWZMGG~-vbU!8u38vIa&#%SZ49}nULzN~ z{4&e3m%eVM3FhjDmfJ<#W+iwAxro2jR2~3&F$UFkgH@&2uR%I?v15#{;bE^Y^9K%ThMDtAM7149w z-sQrAF+5uQ5Cp|;qUayUO&sdu;2eaVdjOg3Y4`~Vn2bBoeS_RY*Z(yv;ISPE=xxVc zkk}2eT2Wsg=s(k&`?G26NtZXctvo35(Bb0WlXakZ6N{@_hRY7ET!kG%vxWS$Dd&c9-<4d7$h& z4@t!~--z@kGfCHo7KxI{bxzlN{msr8f2MtFFQzAOCssE2v7AaJ#=bpm)D!11-~Dy3 z#5a-F)c}7zjJKN}(ZjL7u0x!gdk1_!wctDvKc2E5nUKI;MY6J~uf~1X=M57$HzL5U z=lUm^#V5y~?;l2?S^Y`zTz^gcih{3I{KG6;2X&clB^4XGuX~hG8eVNHtMC1;W6XYY zxnZ>aa7r%A(V5?;Jtw`Q)1&wmG0mgmJI~v@{G&tmYN2moXI);hdftTSm9JmwXyHxW zxn?r~lRR^81|pz=gs(v6mwHoJG?qx(x-YJz zH<~0Kqu>(Npq5GR$j^b1K)P!5Y@6#Bg1nX55v(7 zDV~p2cF~_mGL}tDA)mu!R4^~_N`;vvtjp~7_iIE~zUXV9g~TX2|7nY|Fk_8cSNbX< zhB$e;;8rd}n&#b*Ld2vJF4;vr_-;TaJBRP&b?%11#Kghz7~L(iQpSq^MBm0#C#1Tp zRAeDG?cqV5t`}3?b$0s&R2VE3N44DQQffvV0~#lQNE}YFw5Z~r&%T8>oL5jMUq@yt zPcB6@Kfuc}1RpXyeV_2y{k>z}=)g&kBVqf0iSoSDC-A6!GtZkr+wX*$BEt@ZjLgkb zDi4)~yhBrV9CJ8lvN5P7RXORA{%V+Ic~mpY_dAUl^>Bv}=qEYQS+@qmFJz(8Y$(^U z^Z(-NEyLRC-fi!vPg@Gb-J!UaoR zt#`PM>-wS}={Sp38kR3ACUUW*OAF*_M;ymzP=2}xg%WS;t3xL&Y4Eu)mhUr_ZuwL- z@d{&`x;V_~jAJ~tHE{|@4}-k4w~_L%{_+Pu&+2GxL z0QiOE#R;vi7_z#cW@1@5>UYokupHx?1D;)q3k7r%OlaZvN4TD<3kh7>N&$uFH(eM1 zKxh!n@X62QcM+7X*Rfq2biIsQ#0Fb_fc0yC7Y~Ug48umqoy*HMSxIC2k6ml5U9mgpJ%Qxva2F)3g2k56i)&{WR$es=k4&;Q2(q zCweLbzV;2HEejfbk5nv!%oM9?!{oB4H2j-jG1RDzhV?E^f$qt)y}Yv?_MIA=X2zra zDVM$AMjK!)a$af3RoH~VQ%N=y%~DYTeq!bh^Lacqx|PS*xq1LVzxJ`0sKG)hxTjq< zuv4VW;mDg&ZrGt=r3B%kZKaLBe)5S>JRDwIVyJQ!?$J)&@xSTrEY#J}T))G9Sv$?% zj3_3!(TR0M8z}H~ON>qb>R#bO#WN#waUc138Nyt>Xvw)q4u8sw3)|+O;G*6ML!ijo z=ykeoyQR*=f3c@VpQ!u#SxzVM_b`2H(wODZ7>`KW_nCA|pHr9T961U_L^H!XXP%jJ z_%aWt#MLmHk)$G{(@`PQDiXuU)Z_13Nf7+Kb!MVGI`?LLEq(-M1K7^Q(mpWq4$8|d zrR;0TEcG%fMSW;PWV&Wn!Tz17Nc>P#_U1KmeMG6a*^1x?{RZ?DT?7~|4nYlOuMv;c z@}b>ldyA$EvnVP8cg{Lh9Z2Kg(rxG_3EUVd5s^_^RnXupjXfe`j^@>g;0E(ph~aK< zse<5KGWhB7L1|+ApRKFlPlXcwHik?!*Yu;};EDvx{HhnUlKIb7dqqDqMf(?5X+s;+ z1x>sPD+=N!uc=z4O=FuZ<8kOWIoQgHj2Fa+rKT>o>9ES|)UGSAlKn+4`wg&&X&4$l zHyE5*IPXXCKW-tNXz(>O3j9bV?&B~zOk2YDFmj=8{l2dsE{#ih+W%5aA(8UPZnM@h z$`-0VnF+t$n5Lsb#F}}hgg^T<1V2+zcAb|jdtg#q_@u7P7+4?Tg5r>6PD&&DlSOQa zMQ}6qx`L?Qzl{{8by34X&795v__pD06+n2xKKvm7R8&F$&3!jP|+ zo|~0)r?gS~OhAc-B&_Ap9ETlC^^1hzU&)lwSzJ=WOT z(BltpAnJ_B3;9igc|?j?3(xl~TEk1tuz%Q-&26nCW-D2UgzvByxCRFG>AKe%Kk02L zYKasy3~Yj%4`d}=sIDae5pDj!Jh#}_Xt|%1Mv|GYbn{gJJwoyUri*Vz@ zoVD^UBdbaEQ>VFR^CH32u^p{#S6GF6+<`v&<<;p$dXA{`s)?ZQ;J|^tb&xVh&I{MM z^Wt5)yr&U)Aov$4(A_HHxq=gTd~~K-nO7uCF$brI5yEhDW6*4BW3o`I~_h4vO+%m3Q(H1-z@$}9F3UrX zxPF>-Ql3Fz zjDD)*giK?(7^xf$*t7N?507zrsL|H9rakhypv6`o)Q0F+7x2=RaEQGua#N}1kJWnM zH0rdz#CZ562^$tYCEaYEBNS^rP_ZPnP9sQt#ze!IH?Fr~>gQava%*oPeM*bs)nv@m zzIf8Ze&hJFjv`7$iEttjjTA|FhQzr^C9SXT+`dA6m>ydADFmFfHqH%+jBwu{anuWH z$1E+KS`bftp1MR-c0EV})U*W=6LzT7<;hLU*BYrf;i1J;ITXSH4?$5_5XsL;VF^cc zy+Y8WjB;-G=m#0iv{1nO2Pgk{X)v@pj(_9w5aS(Kx}}vip3y<;Qgm}b^`ck8H1~If z{efTGp35H`TnVNbw}|DbDB4z^tv$t+GhK4ibg9wRF z9e*-%V{tgVrPwQ+`XoKR=ZMa{e3*fj2B`^Fv?H~>Eaosw=SIB2A&h{PVm(H?jIsn>ypp^_>hiM z1n?i!qLsN??K-V+9~0-?kTs*=Z~1roiI|nBN}zF);^Zd_k><&(1D5_6 zeI}{C3q=X{P@IIfQm&q0>dNx8b0S0D77QFT zAV-q&)y(6h`@x5)&W#k+G)0LHN)=A?l7+9 zNveXD%;E!8q_#G@GI`p^#lvPitMjc2Dk?W%5RPOU^FnfcIl^;zl&7f$4&D15`%HFD zLvc}V!!zX|!eC*WSX)j6RH@F>p@m(#GoT>#--4Qx=D2=;Heg=h%SZ3vYjGwFmGdOy z;#v)WmnPX2`8cBPln2rtoaDj!{Ld&U=q8M|VJlO``VV*$++ELi^RMj&QmyEctW6!# z>90uCc%Qd?EH1255&8=&mL6Y!e1FDJ>~Ox2SNah8*RmW{tM*|IQ^6_I#=0q!njAA= zY$;wpBkU+R=!1b7e@mmU^z8?8mc&F&Lj{!(K4I(qEq+ySmKs+-mclDEOPSj}aPMVu z%|;V!o0TK2)-$YpR+?d%Cj%>tVvf=jbxZIC{>@OjQKxvdsEeW8NyRu}s_&A4;IE;3 zhhhW}E{*+nU+jUEWue~b^Y9Z720S_w+fKxWn^VR2k8sMf&Kwc;yjqy-?FJPp-rM%1 z^*fR+zo4)|3y>;W-`WbQP071fUCeZQ75XmD)R---$6*!U8$t{`dgE8A8JVVt43tj) zfaRz9b(8I`%8$+9_o6&()5g>a@}N(z{)^rZE!up#iR9R7KUvdCV+8Z1mTP&>3x0B^ zGHQuf>Q#cANz7b-e*fcN4W!(OnIXpnh@Ta@%J|*|$KwnMxS=Ab+uLI!4(#m@4)-(C zOQ>cu(y&Y=^Ao}71RILhQNbRl=O3DC;(f8SXQXU&kjm78{=|X^sQ!}4gS`4h0r5$t zpB^1A$Hxu|0YemWEdr3K$hbHqgdOH})+%(z+2OZ_(S>w$p{1V~wlc=R za=na4=N}g4DT=!|qaK2(Xo6jHau!(!qo(9laE}@Ne>Y9LhkgDc-Wk;@G-B(--96jC zCyl{fu~*Wjg`9OjlJVtWZ*LI(G;5`t6}AVR?4O?|*(_x)4*OaExJn0*43|GVC}h<{ zu8*X&FkV%;O`bzURsV!GC1%iac%Il&Cq{1iz2Gd0NgnAzxfV6p21`r6fNn?i@f%o; zYvRg_N-BSx>j!oQGeso4%KEN%_pnjY*J#)#RC`%n1aR-lh_Qp{JRL#zE@L%|1mt(uk0PmK?9^*D_vVh_Ao{~YJomlsWq_u4osU5904GE9Okt?iiZIbUgaq>so!~DOJ-_49nqpUgF5)OQ} zBjFEr4Q(!W>-V1BAE}`mKA=(FoQw}Vd!q)%tz)~=jQ6+%gmOmBgzQlF_P2`rdRv>f$NthbH(c!rhb{Bnb)=qfT>0``=@NxXX(0OZtaUre-AH3*25#5?q}-RDA!Vx6}$T zDE)IYTA)(KMZAvb=@|-g3l9V2oK@~sZAfvD?T_bK`C;~jO-o`$KM7WL>o{q!Ag!Y8GDUu$`1ByC_;CT^95taJEpm8d+)>TFM3aDsLt z2bE^Se2G0wcR*3B*~QPg_x4XM7j-daOLBno%g<~TI=2_xkx{nO;%8Vrs<55KclqJs zzmS9DFebOJ(TSha-&-QR$Eg4+5C3I1^rvP=#%~f?k(aPW{xVBVfXtPWK@xY@cR1g| zpe`oRYiTSD4K9>blwntu)D|Xs_hWWZ$zO;0P05RkBe%%DzWQjJL(B{^qV$}f{fY(# z(C9YEVZ5h}@^o>kioE7x*!Xe2wR8d$zuNB>Tv%LR6&zVy{>QiyUGCU0nT3JCw3s0PwV{s2%qotUt zy-RHZS7%z5isHPY2-wrXM55!}>K^}KuGUb|*2dNr7{1Agf(OG}Zh{7X5jy>lY2spm zy0AlWy`S-lp9czguP2jE!j~`qo!f}qQ`Fw=v}!(ELf(*EX{K|Zi%|4med3L2K61;zib0RU@IpcTg~(u=SBDFe%M}3=_7A%{HkiQUTE2@D<$8bYsXWXr z)Ct?^CRtKSZte(9{DJIJak7wilZWM5dEC&{sEOqnS=0VG>(uY>)pvnDmcfUfxiWXZ z_q%2y?e&9yl++k_UegFC(CH&Sq@^2TAR(OzHXJV`!*Qm@&VD@LW(6Br%YLD5 zVS?_Zh2vzTNY&-Oht5@hQaY8@*nkbax&ZOfYHNR)mC_Pqi*r%8b!1yo+O&7{A^xnm zaRLY+SCRnd3N>#1T&9p{k>V5$URClMp(z;)oj3dY)U~4u)Z*~O3vV_QC6*#qIp6IG z67odGFJExfAJ%jb$fL#0mDw3tX7P_={nh2se{d1{nkmZmKbh=zCX#06G`1?gx864C zX}^iZ-_MUBoAg*@y70sGBE@F3_+{%-_Oq1}M=R7Z18<0REIIMSKKcY5^CN@z!U84j zMLd#3_rCUURHp%{1#~eM)qC?#wAW^w5^}247yT7eYa4db!!ABLdhNLA2vI-EdCHr5 z+r*Hc{$abx>H@X>Msn=?{i(O}W#6G?u@)K~e5x*Pg0j0+oBBMxx95!L6FGmfML~FA zbEi`Nm+N8(MbCFQ#tt-t8j5r?G@EeO2*Cz>_~ELU&K>W(x&pJ}Fz z?05Vkl{`2M(PCa;yTfv;7Ph3?bI7u4Jv7XD{IuB?W5{XlZsX77Cc0p!C zJB-+Eqq{RT8Et6L$3pJ8v$(DGI1 zJ>Dm*dGt8(Gz>Xk4>;)&@3&*r1)Z4TxogYOilPdA$?~$zGOeo?CQm8;2ErxW=Lly5Va5$X_NLTk z-^1F!x(UFUQM#!}GeDXO^SKmlJ)e(v80K)6PFNHhnanw>78E~XUuIB5&YZ4bb&D~; zqg^!Ls2E$@V;E{W`Jc@*$1kpO2UK;0hIeEo?U=Wcenb(N>|>`( zmye8W&)e@7rJ~r)#f7|glU;6vu7?;x=Uv{8Tp8RN6H1O~B@S`3h`9}7EoIs|jne+FxA3*(4wz5 zM37`80Vk-4Jr0;fGc5&O&?}gKuY_+Z^h4Jz9=w6yUS=3PuG#x}2I;il>RP}?9Y&05 zdI1-2i`?(9>;I)0=F_gGxs-Jl>wF&Wa|ytK5K98e6O068Op_Vz;|SUC=9^ns4a5*z^I zbxA8)6&$9}F9^KhzrQ9}#N}DQ%FTC46+jStzb3Sn z3w70P^(rjL4QPl`nhIvohy`I!@OjMs>-{$!u3@cs>|-pDay#fOE5|&5f!?Rgmrxu_ zy!hnwBM-NgD2!h}BJh66urnejgb@1r4gOux4P9FL|;SWu85u zl2r=%+T3{`Cp4qGlX-A6pv9FxCL#yT(*DHf9)DulP*tG;e@%0wSa*RU`TP97otx57 z;?^uN0l{3jAa2M}vmn&wi=CQ3%;78bfGsJ|uP#N|Timf)_{W@a%qEMUbm7c|un^6= zOTY!HQbpxWV!&oB4I(XlOFk=CSeB_nSw)R!g(!T6M(E8%W!GzTgJ+f4PPfD@o)`E! z*T(tU$7-tM$!SMP6aj5omoP)U$RELk?H$E5$7SX+NYK&5c2hxZHdF( z9adXOWu7+p4`1gb$slQF>4uKfwJpqND0O`iaPT%1A99eo6naPogU{%F5t(ZB+QF-W*sOJcEDk zUmq9*-L!axD5f8&)MFTyM8wxe4m0)!c>0>JZa*S!-!2DlLuYs`gI(jlHCSiJE-_-% z!RO?ofA%;!KA(LILNxNmK($DAVydgS5K{h*!w?=GuI}lrQY3MrZp=-o~!TS*u z>%Fx(*&*Td41^Uy@~;eLLQz3xm+1F0AClb$^|4rou^Lm^-Jb#-+CA)v433J*9Fp>C zndoH|Gle+N)eRId|i$Q;Xy;A=SF0%oZjDx;f4@=xO5CwZ%m8&W7GK#vcAfn#4>b2)V^P~PHeHkuag>J z>d^QlqWlk!l7sT)^wf_s!1X`o{H0x2%yXw1>+xxd?g6|Rlr8Z*TyURs5xt7gU>Sh! z&Yi_Rd6=p`J`J$zqMn+b)uncpA~e(#>oxmbZiz5yo6V(;FDb61DOWJZaeb^qdG_A* zketfQ0*G>s*7qnuOULkRv~i0vYEGRqASw@Si_oeH>BhD)!s7aBl{`}L zn@e83?E-<<0D)}f!(t*srA^+C@sHA1D2vy2(@|W7Mu;2R?##^{{0cC_Nbxqk>Grlm zU_6>N&-wFkF9O>(x|1o(6j%=X4jGp6-5``uj$sHc!Dic8RiIaN6m%iJ9olf?eG@wL zwfRHJL~X+zscu&C4<8L7vwDtbJPy9+9UhB-xBo(RK6p%F zat|D2m|Lm977jd@U$&6m^cgqA>R?^`e$&PQl9Q3+&XIVte8DCXCnQ&EC3Sl_bz6=H zQOospENWo}+mXn@Hjk*Y$3%x)hG|Xl zFG{W9A_QHu6b|wT{{FS;f4VXZlA@2Jv8WN~e@QtgFfj!dOq}S(_DGnU#5a!&@Og8a zaWq$kt`*th)kfX62W5k8i>#T6xBo}r$MD~aLB84Pd@FSls>-x=){!r zs`MFzQ|9bKGcf4EqQfqyU8d!Pm>-$-hbR2|dH(Eq)m{>?;z- z^}m)c7=Joj#us%;a(AG$xNeKxLm@stsTe9>-Ag=L6i;vg-KvpfO-q0xRMK#&-l-gNpbxoC1D3k z*25N>!0F276Dbrn8wE4-icasR?HO@#KX^hd%@T`kwGm4WjXugs@@>bNMZ6yLKcIRR z`(Qtw5s0C)ROqyvEpDSe9?RvruV;O<*Nb&!C9$;g$ok^q#2Vu{!8_jnd0VB^iz6}r zom5rFx#``BcW}21x`@$ofZGLIv47CQTYqcN}z+cxr$(4ygMS-gdvk0__l$RuHd08NKw%zwQeN>5gs%Iqq62R_@ zz3mvMc~TNR6Y5`TuWw#x0do2tGLVdMuH4`{?nYa#c2_Zn2>zhtWhwOP z%4WAjudErz2`@fjdmdUU5%Ru^z;bBfivCq%cn2^t#Wq;Y&*cz5-o?@+mDTVp!8y$v z!=$w4VeS9no<|?wI+=PL0~xhDu~M$}Ye=ZZno(N{(m>w-*YLSR_9F^8kK-^@3*RdA z0Pf;`{{-=Qkr1>~8PR4CvIxGxRW)u78DtROja+N`%~2BDzv$C5>~c0?<2^Ci3bVP% zLSZ}pnJ4_6QAB6dwgs#7=8d?|$U6rGK+vcb!si(0D!`OOZ2A0sN~ zM(qLm=$g8WoKCEN+#T;oRUH-moGA;%%Fv#X_{mguqXGQ}hueTCxU@LPkNfHQ1q%X} z1U&!XaWUE1NXAt6b&OFl!e$G!n}1#(%6hnyseO{trr5V2o`L<{!AX3NWV_rNJ7`0w z?hgdn`OrO)DtSicZiaR}8wTBGeDp>)cD;(;Sbyk51u8R1h+rkjty2*Wr)t+t}rR{Wd|G|~!6 zoOMeA8bS|DdMa}Lu4Q{Sd*0y?iUnm-=J@~lrK&SrsWyREIO?PUug?wY zXLBOvw=>S~5>r#fz?@6BRbUuA`qyUql4~m98`N8v__&?{-pS^eg?0rw`>0Uj=@?!% zs|;)yJxf=?!YFq+OU$J2qNX^Mh3}8L!DrON9d5j8eDlNo^hJ*)@vaDNH_Uxv$6#NV z;0J&ty{U@50)}36xCp~@!2Ryy-h;J|O~bf;u6$Tut+>O-;Lh@cu=di(iS!_09?_N; z1Zh^_sqt#pu9U3_u~nJLyz#>iC6X_tS#6OPj(n9`q#OFVQSgUCUe&4B$ggk7?0PQZ zpXVmA_!{+@BL+d^b=2eRNwA(>*ycS^5r&PA&jk;K^i^%En3BsMxvcx@;9iJnS9p0m zk(A`tgY`9cu)D}1SES>J=hXTGfAD!R_UK)Q@^KX>dmPi_M2S&D@@BwINx*4J37jXJuMm*$$U7x|oD5_}v*{3-^Y*9{*xpi~o* zQ58xy;hos8;@5(6$I$ zZ=m;0X0%0&nld+kv6-V!TGe-7D(0I7qYTRc&$RE)-32%CDy&Y~S@DDz^^94botb>0k3^3tG~`u(GHh>>Q{yMQV8!-9d8xqHZjIhA@b zecWnoV>{hJCqMkMS#b9In+bw~ONer9b5+1=tZuA42_e1Q9xj}ZRZI^gT;;^#V*ccH z6kTVNPDv`%%I#VsCRJ_QJNjJ$N#-FALyfb89_Lr6@vIFzElV&6zH{qJsZuah!5+u6 zJSCy0M=2FmR$ypnBkgNA$Ya1j$GBz#<%qLzw)}>zF^4_zAqrtvEc0&_o~FM8Pd;Um zQ?b#yX2ZiJcjkj3YuqJQTXTPZ3UWmB6r*$-CQCmtF_}5g*???nx6%jp{hXk~ZNeqr z1utI|-k<(u0o$o=U=WsO%d!11kVES5Ks}L7VWHeG@zZwgdBQ+fTIAS?9po1?zRCcN z7Na;JHFtNDB1qS|-3+6HjB~8N2B_bLrUByKZF?M@ z)-(yL9L^^Y;rh#+hJGN9;1@jA-+Cr6 zG4>Y7%8Vz47W>guUt~c{bnqt;i^t}Z=Zz|724Wxw|_G}wtc8;Zw{h=l3muI1|M6E20jj71a8E->|fI|GA> z*E27ML4qYQxLqWeNrwFTBw4_q0C4Pz@z=R~8SW58GS+m(43S#+kP;3+H5%JPue zn1`1E7ME$m@$(KqYp@k9$_GIG=%9F8Z<{+d#?6wuiyy=*N(+oV%QM&5-G4t}Ld||s z0T$%>tXEC+LXCmWIFw}q_;R_+7!eaCSP+AF8|aD2yq9f4$YlsS^bH5G4GKry3i0<% z*MZpN=tQ?aHymUcb{1_!Z7IkN}N$V_rwQF7^Ud>F|tNv_F5Po}N)|I9tE8Q;EdM?;I?b-!u`#3RM zpv)2F4q1&YJ8H7x(#4|=0{J-oRKUH< zpF~R3vK-9s8wERCg6@Td_kEqwMxw5t9uKa#KC~G+Mx8>hR5)pX4^^NCkwFV#`(EE- zIln!ei|JBdkqk_Q37}&8 zr!u4yA6i)2>A^a2)fNnKxok7mRo|mt&@?n$qEccZ{A6$MCqFu50y}dFYSmz(R&gTJ zY>(=&%|4y=vDgARmV?u%=FSfOvE`|GYG6806_#(42m*Ce%d%m3QT8Q|h{jJu35tpH zDZd;Ew;4uLKgWQH3O?r<83edL?{z>2ZvojQklIT0MXr?!ka~XmxN8mjfe2^MpDpS` zpy>x{3a84I0 zevpb8kTMQpj(}eKKKG-cpn%sflk{*)?0Z4cQFJB6xdVw;T(q=F0ip=Tc>^+w!m@8+ zTX;B{Q}Xf;+)7kpY|)nqvPgRC3-xWLA+Phi|FiY~T1^0*P@hM*?Ek&s|G6v&MS@S# zkN;7(inItus{c`lY)60feBIn_crAN=u8a(Cr<43f~#^4{vws+ z;)b+oAkbydGF$RdyBS`IikT~dtjwi>CTY{z>iq5F}6Q`+iR@yO13JBLz$$F1Ln zTVwQ2grerh5A(Re&$`)xoMVsLZzsC@7*ho1#TFhjfBgS%DxyRaqa4FkSL0hJ^Ll6g z6VF-KF*y2+(Z-M&WOxm2S}-vcA7m&j)RNrD96H&dUs4pgGu+7Rp2LN(WJ>~c<23;R zb?Z&$@!<>fz|fDxPjc9hhojSB9?ieek+}lb*WAmYJ;;@$=H9Kym==WXZ+pP13RHA- zkoJ6x;=bx2uR6_?re19oUaIb#v?0sp=7&!%Sym2ecMC}M#|wortrk055!H#r*LR_4 zEC+vL(fSm2q~`8+F-IZ(z3~ZK@IgvE*jab z7KwhUx}3t>0yUKovVYZWelMLkF6eQ7M<`?#>>VCY=Kt?@-n+ux#1sO#{9kmVok4=6 z1IQzec^=lgTMu0*+jbD*R>kuH5&Hrn>QKj;iOv{>;=M62JBe0r{F1@u)=?aoHL?Fr zWmZ-ZMV{?IMAbJHcDR^-{6sC&0ePUOV#ndASM%A(k(Jne zh0j{;+Z- zTDDolB`hit-Cl$}lOh_7Po6I6jR@esCt2GHpV^B-QRO=I$!#KsIpS~46uRS`&pRV=(xjTT^t(pJXeJud^e7Puktxc z_SN^EpnqB}jMCP!P78j`6B-&~E<456d>r^xVv&)&!0s1q5T1cdHJ6BkAMCYp%S7|xuiz*JFpJidNlU5Fin@feC@_1@+hpEw$E7fdyc}; z+uIRcIexccLZq#KQXakU4YzafhSd6R?&v|zThax~s*(h1LJ!URuLc2&TMtUg-pPr! z=2D*}|Lp^^jy_J(mMq(e7e&P5!T5O|@e{+{9nq~q%BNY4e zSN~sAE98t4#K%wgMZV>)oUgIKwgQ!O~K%&@Gp|b z(vsVRvhoR7KY{LboX7=s)|tr@nwmX<@xDmdNhu1>_7zydQ_7GX9L5B>kp~l6isZZo zv3|li15;9)n#P#0QrfzW5O4*~hGlK6JCDb3=dTcRGXOX~D2%{sf~Nzq%+@g&tddyb z@rD%j!y|Xxjp5q3bk`p&fjNe~3MMKMv8d@w+E)f}+R}0n&57|5`H2~Yftw~o_=~Lc zhR~9VmHWFmZf}5AqC#{nToRtxFlkcUHBaTgISpU9*yVfV-S{?=Y+`?rsGy=qE6SC?Xk)1D^(tdF zdH^u3WmrOK;{0!{Zl&qLw9}Lv>8Q}1bhL`o8qp<54PA^fE)Cjkyo3eeK}|KWXZusv z!|&MiRbS`t^b72crTm;R_B&_O())2u1*tWUcNc)IMM+Ud@A4CQK+$aZ!A{@5Lv_C- zJ87pYW~H+0b=`QNd3-1vc4Zh|BKD>_Pq2_ga0+agTXSS@yEj~--wlY0{JXgU#y~4- z4*q_}MrAJ}j@gLf7C1d7k)Qivk95zfp$$=rSsukL&*vMSyWG&r&zhRyXSJ53k-z{y ziWT2XsU*r39jX}Roy7Xpca{4>{*s%?Me8+E+sM`XilkuDz=p{VAYz>g9e_Cl-Cyk8 z3y>l4xSKwS0;aXy9D1~%GL5kP^mQVZep_8Y)x9@DexRhGDYL3oTatPMbmdK8;RVX0 zV>25OOjS$Y0!Q`%!my5%L^Hc@TkZqV2I|y2DKA{v1z) zi8*%OEB+8Rb>nyzgGw`hkCOXz`(b{I8B6FH#bdaEj_M&aH{XKfTX1PsX$wP+Y z$lNm|D5B~+W@lcWbP?f?6|TPiLFB7zKcCicT!QS+VO?+IM!6qF!hOgqKQYi`hi!RI z=0Bc6oBn#rQ(CZybg@=k^9!a`)BM>YE9vxz|DdL6r+GP^X*JZu-h%VPL^^pgl0;;m zgv3lYK6a{UO67xG%wo5}%s7`~+m&4b;18gz<7S@{0dobNzq z%zZ7Lt{kZ?vkE;kS8P~~t-b7=!Ro4oQ$>189c_NXBp4I?)6X`%@0gq*;y~?DC`oWP z^KpX@n~>)hqbh{T2)^|v*CR~4jd;12hAH)6g4p{0K>9@nhY~*~*pZKKW&vpO5jH=W zdmF=>5Xx3N9!JmD_8nS<7J@$G`v9TDTHzgn8Hrcw^wG+|6LWCn^n1~we|;35`dG$R zRb0m!@0xt$R<>pxP$L1m1#02|6)t(!4@grd++*=1MZ;kYcwCW#U`Q-=L2z>Aig5lK zFU_>DX+!TnZyOcf(avZQxF{GXF#v^u{&~6PMKv5{{YnpN8a!M*Z9gG-wb&63(pjqF zC(#@IZ)8j8)f)(K*&sAZFn(W0{Fz4lEu^&k;AgBtbh;g$mmaZ8~NW-U}y(Mg>Z-FS2O=%~Kjwt#OSXBUM{3|DcT6R<6X5I#t}u4wXjt zL^El5zV`za2JuP^_@2V}SG>>qe{7TFR5AA!RTt0se;m=#$__lVYjPUSy-GhExQoKfd>Mx57?e8ESpaIEB-N>hla zeoN2)EbT{{=Y%bKlCPOX!hzic zOk7t0Bgo?cu|F!@D7s3O%U`pF>bZ*+Z4{7OKiTk1kLGMnT)j?wefh-Hn_%4v5us&F zvfV3;x&lOHAX@fmbe0Kzf>&w)OHc?RoVb`U+!o)8k~O;U=kI8(QyF!!hTFRt{djd% zfk-!#8Sq&^yt;rj?%_u0N}_GXPRU+WW8XkGp#b6bjFKGdO1@obOz-WAp1Q!LL=I6H zpdb9ejxzoAH5+(4beJ~b&oBjnYLt4N_?o=zPX_il)n*@mGaE~Ag=b9d%*v+2Nd0Rp z*5K`tg-8@WO(8J=w!{&awT^zB5<$eqxuMg+`Z1y1=S)AktE)6RyM)x)uYAv6TT=iK znlF?&oEQ{$j{W4wbl(z`_I}$;9LvHoA57brTX3Q$jrhAbad#Jb%(Np+GY;^=JzZA4 z-+>jXr+i!9<3Gp{xYP4a4D-pdY~_KpV||Fn5?()chJX#Z&@1_<|2zP#>_Yy7DHgWz zynwT<>3YqZ&Z1DW4z{gcB{!ko8;j^E;8K*-{tTQ~O~-T=G0l@lEOp6#PuEWjZ5l10S(Tat3G@R@VL3I^g)x zg6>P1efns>cZM-tnIH3gl(9Atr_I0YAeHs_1iJk5QH6O>Cj2Gw$L9$JqV#&c6kYC$ z032HqN7~D5Oyp790)Ld9zEfP$>I+?0%&B?{Wp)>;XZVS}5I({$0A3ODJ$&T#K4KRc zl0u`)0NUQC9R^p?2V6)4tUn@rM&GVo21NZTw>u&+clXM{m!ThBd*&+lW~;?<>seeR z@qjR9+_Sj(Uy;p9{^`d{($raz*E+qNn5nlBdO7)YB`HY!(i4||B{h4aXM5HGZfhf7 zO%K<;&sksVs0^IS5g}7e1!e?&jDOaX8N(d01dh>`uA*JOW z9!5s|5Gmy4)&1ne9@Y6A>=3@}PY$>hVfu)M@&0~8u2i0C1(JcQw;+1_tGsDfrO;xSN_D@BaX)fA_o_}cCWGXLA8prK~@G1u@EyA;?-qdHEKw7ET1ADtw?L?m3vjbopReSY9y zH;)_Ian(ct6WJl@PnbX7CN6%MMnoB$B3&+Lsa1T}OS&RmnR*gcb&WynN98t(Jxf#y`n#XH%%*qwQ{r~v({n^uPC z9vQ$F5MYS+SO9Jx$t|dha53AsMX}}C12djO&1D9g=#j1aBNYv4`*Uzd?5`T!p=CA+p8vX9`I2_Y(B6;+xLB34gEcGXi zb+Ff`yxK2wU4%M{+VA=VA!@aT;;0;?T0MIhU7&0vi1>oo}xmjtpG zme;1TzfX=nEq$+`h)vo~U!bFdPMUaN{Pv8>4@$phE7lF*RHJpN#A^}RD59dtvx!gM zX5Vnm?PlmFE%`v<6Ywcv44=vj13uvQ$hDeRyLHXMEiN*2w9KlM$&)mn(|;cC%4*CL zbA>+P9aCWI9zxdECg^*IyDB_lX~VSud3ohIIZsOJgb_U_k>)$=BB_l}f5lx(FD!sz zM`Ec_lwgvRrzYsWQ2r%5mUCP>a!ar0VP%ii+^UE)3?n1dGyE^3OQ`(OInuoTX#tDc zXdk7oCO>Z}d) z)6D!T5^f`N&tZ!wN`X!>D&(~aPC(~!q&2PGGqutpJ7CO?H08f1zy8iFE5U54H}Op+ zp8jAt3BA!@>FBdi3wAsyHzP<=2$~agP#WA!$31TDH;U&H=9dtp_2w=rEufRh?b03l zY3~C*?qw@3rvXEQf8+b2dKjvNhxhGRAt97x(~V1_34Dqqh|a&iuP zb}$HtU;Sn%3uUtMq7@^A^keH=UV*^@Kc4f|M_)QfWd;pZFbRn4*cldPD3mHcEPF7Q zSXisX!u7#qZxV1DNb>xKq0uZiw6r@9EwAWyHg+#++9m>iUo?>%|7ScasT_= z`EiXk-Y;{kHRpWi^Lrjy@X!l?{f7`Kt*%zP#QIOft1Y&{Ehg+(8AHRDP%oEl_T@7l zJ4Ss|wX4Cq$ro7Xd-Hc)?&d%GXqWWANsfLo4dxarvSGfRRn3bEqoK6O;r`(K#)|!d8@>U5As2ddH=_g_7nt0EMl|*j#j_<{3g-7C_Le*&29GRk zedAXNoMc6$;8Kzp^^eZ9j^zLvT#auwrckT5RN7G=dH9BFUm#Zwz<^{kv-wWDcY3!k zvRK=bu9th}N2z+oE%&>fP9#&Fw%EL$KaA?_8Om~n8NQ4W8~a!>BcfhbEt(o(ABQ6? zNRTguVtho^Fv7BF%u89fu~j@VYtr@5@)C#){3#?FKlqxhzy1180E^>~Aszy_S;bNC z4|S>f`ZRcIsl^9l_5Sk96Flumgj@r)O`5~^JbRz?b)bq={mFWO1ND$5ubZObHs##A z@7%K0jTZ`Y%^|DT%taZP*9S)E%&TR=+Ow^ABMeFWe4aWS$e9Jd`5n)M>m{gZfNP&l<-uiF$I8ge%YM}^RtSL43YeXS)q z9h6%j_^ZB8NZji`$KFWWk>)7HE4ZkT$b_n9OD4C|jV62F&9E|7JJyQqw9b2qy}nXW zztVJG_Fp4P{i7u(Kj$;)!|eVzIMlwk9`*k1>`?pNZXmYrevlmbl$i7UM#Uj72=tvN z_r+`!>~r5_-HSU@PP{jcOaxA=?EO1*bnCoz#F2VjWV7cn-hvH&@%GE`V#3+Lk;7Rs zGJcL$9^xd81Lv>AlIf+~r(Hki37=QKBc1C-gx?Mhd23w*;oZH|kKd`negq_XQMh(@ zwt*a0*dn{YcSZ_4HT{LYcCwqiT_yhesv-TsHnE@U-$x=Om>D}q0Md_dj9U+*Rc61P z{4r`s3Gbis!9VLaJeB7YdQYKTwm@4a1Slnz7{Y3#>3()P06W=Q2Rz;6us@w^8DJBc z);!=pjR1^V5|-7nAeD!HaR!$UcztZjzu*i)*FWr(2lm-$CGJ`)#}!gm`w#lO^V7V_ zB7r6INv}t{GPCy#Iq-_aJME0Mr(l+@niO=pCh2P&%^q=%ykt%dEK{A_#K;O2GGr(h zn4XpYJ*m3tw-Vd^$5$4(oiHf~b2%*TJra5bUZp@n4wQj(tzsK`C8mz{Vaa{C758s^ z^Ujv`XmTvg-C}2gwHv74Rr}vkb-Abyf7Z)=2ovw>?WLfkA}K=^@7`qOyY^yL68p*5 zcze}#o2!g_RulUK={t*HR8)9fJx!SJ=W<%To@>ms)2J2b$+OLh$f^K^A{aKwduDL&RaO zalEr;8VD;NG4d?a0m3XX0Q|$BKy0LJJb`sbUvWaN>V@U*LW0YOEMn11f!ca}ePXL`MfE_*n;*XU( zKTu`3--tLR1(lRC6HB_%eui%MbvB2_sEB~_4io(9ou?l#h(AcgnMhESs1%Fe>}^KwZ*wR7WSKndfThP{CzVVTDJj+$!HD1w=K4XBX&BAtj!l%z?Q*g9w)1FXKglnE3ZJM3>tou zvSWk%hn5A1G&Ln@+4b{3cdW{XOJ=GJuAyU3Ix3UZM@p`;T*evs1a(sW9$PRu;q(Qw zooR{;Jje6AU@Oc`Nt1np7P4_cvkD9BTaca#YFm+~w9Fa+v#7$ade_bQ8REmaAAqr0 z=)()$;3O8xH*d7(Z?R_y4$U4qOpWlT`%4NZ#B&=R6})QcHeP3x!iHpvG;dB>pf<<} z;M1sO8NpGT)Do4RZP-ziRGRgt+or>XG|L)hqL|0ixXrJSqKklFFSke*5yRNsB1c9> zVqF~=?+b6ug}&hR$E(w;Jf`IQ>-oT2DTpjEHu569%oQ-PRoTo9+dNWdBuSlAcs%8s zsuyHS%~^NQ!V!0o-puYc2^CWrxfot+t+i2{$2s-Ay#u%S{D)j?IQr@>74JnF=yMD8r$^)Gp7%p-Hbr9}sp8Fj zUq5MHEqUAtZ?g3plw{Ja6AlZJ#z%?0gl~k)0wdwyd4yB{I>Z5zJY?orh7WrC8*b!5 z>z@5Q+u@_&vS{xYg<14GoqE2&*8drT8n!wDzTP?s2Hb&DV3DnSw-z~cfQ{(}~8G+ajzP$5YP3qVtDle$}xl^Nnb zi|XU80m(US`!dxeum`6OxcX!9BlNfpLVDk=PegnnZupW^3JE>75N)#vYWCv~Wfpw; z`wrG?q2+@uV|;n7PK-Ig%Smxa9<;S|Grvj!5d_t(`8uKcwA~#N)AzE|a{)%^i{LdN zk-~$B9$nbfm^8fECAoU$wGflt#`pbq+Yu-0S?)vz{_k5qg*$pZ4{n``)-6P1pla`y z7^Y-_RL@Ymu566LA!rt;`E%rv3xIKH_w+j`%p86B3ghaJ;U7;#edP-IO3;e z48TtwAuNka_`-9hb>)$?##t2Wx>&6EzQar_=)ISFg(QXd&_CqNC-@F=9tpBqCql^+ z1bk5Y$415%|313N4t4odeDj>As&xjWFHh5A6XLZ@hJ@&eg{K-35f$$ZXd8QUD*dqp zNHKlF|Dvnx?kV2fWo#(EC9B#>t$U13n!PsGcIDK>K?|D_#XB}ID}l!&_+)n3&!Yx> zvb7bS8Avw(a^)isdsfyqNzjcj63Up6%yuls0&2NVy{M;BjVDXRjTtem3yZfw#;ci23PFC z&-p2v?lZ_4UE|Hcn1YCmIImGa{LDz*hv+mC&#x_*I$A-WXso&gKB?Y8N1mQ90s>g{f3eNA7$D=N8(q`U&^i{Im*i|%qg&J zU}KyoulyBm?Iip6TQQmCg$1)>ZUS!Iz|S`#)mL}Ph%3E2qaZ+@|wb5j9TJp2*F^7rDzG@@N>y zSRwuJmv^s#TsKodxmVo@fQ22C8iyJPXS4U*v081b2+amYi3P$cNnrfz*=tHa%=h|5 zsdd9>K8bal(wzMnv?#;sy2)Ap6Uq(C8mPdwU+e9(NEs>g{#q3JGmD{6aw$ikHp39A zDF6sTI^;7j+2a!&CUBBMlxQu8JVGmZ@jLZNpl|J8>VLT~&%7ohap=EK;mbSyLXgwu zLqTsrFnm-~=w}M4P2+K5Zuxu*z31%BC$UA7$i6~tc(ZMPt0?dqGi7s#6~Nk5G;_KLL`4L!Qz5OE*%E|AYWM9Vq0GKC ze-*>TeD0;7Gn#j@RDaHH9d1KYHp(vDNBL2S7;~$kB*%v^xfLC#RhXDg5q=@A?gA*H zU7Wg_R0&$f|LDubXooxp#LF_|JqDKXaNsxg7=>zcr ziY;fjzJEfh<|&XYXkij+#KI{rGDyJR*yoYRBl`<>*p=Cj0I2$mTXXz0V%7za_NjQ{ zY>=hZChd8AW2`PaKFSN`#mrb7;x$Z#oY=xgLJF9%Rn+R#S~ z^=m!=U!!eaF2&?2a34`WXS*<7#q*Ewh>+c^`(E|xPKfa#yH4Bs7XUQ+%cf4XvCj2N zhL3wghSLJ@_79u$OPZVXZQ)(zjn~s~V*Stj!dO;b{<=@RW!^YurG@BupX{cgsbZ~% zzgT5~U-41404QP&4{hb5;k{+$$c7J)!-_^*Mb;;pIUU9*$x{md$g;eiNAB(h<=3*R zHK@(|6peR^t9~h@`s&fqblZw7dqg+!c9agyMM0|`dTAdmIBL6Ptb;>cIV4ryI1JAv z@_F`7!x`|YZI*e51tEjQrJY%enYfq-j#VxfKM^1{OKWC|2DkBq6xp)*@OWjm?!+Jz zF;Cv-ZwX*w`{;*#VG&EdCSO~NZ-9{Z`qZo}fs$z4@=f&D5N1zTpijfZiZ+`|QA7U{ zqGSw@d3lwT9w#s;ArF_}UA~Oiy|Rh~sEcTResO(oJ-WFXFP4S$h?c(SmFQD`VRE;! z160)vqMs#tIV|3WTa@wOxJGJa?Bp$fd%L^kZMuc){j-`sd=%_zZGM^&oV>0Fjtq)e0wX)LJn22Gqr5bfzvyoKlIam z;4{|YaiN+%O*XL(D#cU@ws;NE3zadHBhe1ja)l1ZSJV${14%=c4Dk{I3^_?kODDaj~iTYoV`rCZyB-F=8T_hY(7{TZc^U7^himg#(Q{M zX?xpe{%LdZZYiU~E9GK*E$&@F746fTqIrXXsuSLVhVtk-T+itGa{;$1#EM?1CjSyi zsq`H<~8gpOJ`MdI|b-DXq(C9FTZ0&@A4rc}&I3@%G; z)|C<)hsJ0jZqc?9cNj;Vr^ETmSC79`r)R8KMpMnL%pi4Dx@NT`*nwWpVtl`vx6;n) zYutc z_wkalW(~*bXPEt_QaWEISP|3_qyNZU>jKxPD=*Jy5)A%WCizj&1~!Azp-V6lfDn;6 zIzorlytzHFp08|8qZchFen~|oxHG+`WOSB%;AXwRB3U;pFE7}VNQ`!6YZ%Ml*qzh* zQ%k5VS|C`?P~}ob?ykib^7Tw5>JLL%%=iboV6fjJO_-wBA zvjl}2EBlz*`D_Z7#qyHy+=-`==8}Q|W!!fQ7{uh1s}H3Fok>EcwH7FG)Xv-Wv9A&> zS5`?HGg`9l1++db9P@g5=IhBIGfkZ5uk_iP`kjez;XQ_M0vI?lNf%0tKKe1O0SY@Z zCi_V+Eo1e(Z_v&*Uvf;I7)@m*VIvZAlGHUoEM{|ST}3Vl>GHk|bq5d#A+wasOGf_? zFNXY|3-95!q73)#DB-D1c4o$?Sa?20SCQZ*RWYek?#Qi#{`5$B9%nt`?m~REbL*|% z@$11E9VN|*yu#eb7NZv(kobNcg1GB2Qc8-yfj`2!Ysly({i-1696bG)&jlMWHMuxn z;b=Nkd6_*NDQ79Mwpb@EcxjAzKiDa1M`J@J2P=59k>QM>JB%7YG z$KNmc=p!?^_<|E!B{) z(Vr2ZQ4RWnB!@4R73pBYKadf}gZ!u72uH2A{LOG9%ls#PU zzX#KVyJ2!AsY}$&NUEtlgXNnm9(15#f?&TXKnjj->XlNL&v30g zYKIJU1-%E5sd-3cH5Gt(am>WI(QBPBTV7tYDl2BV#!pCydoOFn+`2A%aM>%5HDCFi zDm$<_a}-55>v^GTsPWzB%Chj;9vU z!z~o1H_>5-_e3j(r>4Gj(91tIwcmAMc!&xV&Tv*|942uJ!gcOl`l#loBd$H;t~Em_ z*jmjSyB`wF+wc{~PC4d>P&W=7}hOj7jz1RXO`gRB~Ie0ROSbQrft5*9JEnn%H~JJs<42vWg$D*uD{fheh=AA# zb!K7V*pRwU28!0OhDPlI@+@tTT!k`KF#gNK%!ls5x=sYA2|!RoMehSJo76lL5dmS$ zQSUurq0exQ7THY9N@wen=MuNGE6^qstVb(e&!WH1YSJ4IRgswBgjCaOk#JzW^;;_mP#R_zh03>fzHScj%6b() zpOSV({+tYe1c`wbLX+HygeBMHniam0NL8ErhRkQHgKjCJS~JRsHsj+n!RCHEcH-9* z4YANebjqa?`O#6R$$KHYC)!#wuQjHG5$O?Vdd5AuTDkdeZCcgl6>tSq-VDt4Y@J!2 zgB|J>2lg-v7ON0nAM@AJ$04WZ+-JcCebC`kC{Hv;Z%~9+!20imKoe**U?;BJ@CCST zY~nhJ^p|hNMmey-yB`$$C|kE~E^i@~0x_H@Bg+YIjva?dZoND`)nM7o#koAJFZ4 zw;Frj-L!yo=a-Tm$sJ{!`ytK@`U_O|<4Q^%B6x*_NyT^=Uq2`t-15->&>XJgAkpI8 zZ)qF!3nZMm26aEWaE^?!wR>moQ8K$c?bUm!%x3JsKlBce59->ip&@Ud(ULs3+1fAd z=$$@S6BdUsG)iCYaHWTD>o4e8q8&&H)^8`wazhGdC#R){ojnPy@Ydm0mI*XjidG1k zDf_{EV{)XSxQ>wgot}+ZUSinfaz3S}Yb4rr(cZ!mlKK_QJUf`a$3OvL6A${1lAMLp z`~dU4kgiP%yRatPJm+j^NIl>xs4Dq8+F`<@6w>r`MxaRw9Nd<=J&D0VO~Gm40wG(v z)sa8t>U#?@;35SL9zz4fTHGaa>QXsbYVAX8kBfe=ZQCZVVp^F@yG_o|%Bs7kiv_HE zHiOuTw4ydB4uw|L>^m5aPq07rp+l|)J?TKocdo4453A;%Tx6B^0zMy^FcsF81YuVa z7^G{)4Rk}5`M*_t58FPHQ7i&zXoZk6X2_aUs|XX^%K%7(fD3uKPL^IE82}XD{iof+>7xiB{s0-Q)estoH^4>#5Gwn(BJfi3IHuki>fsGtnKw24$!a zQ<@g$$SOf!tt&_g>yv{FWyw$jP`0P+33P_wv4a4GjKHj~Mgw$1^ecPxRzY&bg@* zG5DS^6ayx3hTGR@zI~SXNY;6Y=3<)OsF|oxitkan@$(4*9LyklDqugU3AsQ`MvT&| z;Y!EHbm67W=>LRc9=zw*^o#j*p5G&Un&4U!_jhl`*#eHQeUPY=xRFxE#j|c_7gxl< z6h46em|u{Xq3s?OJCJX8^mn=BmaCOX?7xe>=Nm6J#J6yALfaL>nC^5M>E7LSoSeh+ zf0=qljU;;)*;uPNT&OsNz1+IJpwfvoM&2$FNc|gHY4h@PL|wsR{v|0?hgoHIN6*~9bF826*Gk%gs0&|%h!$!+uhhu!?~K#Qpxp%=u2og}lO zV&LPSB=^Y2z?Gf<#pfj4Pc5N)&3n7%uCBjBt3nH{!YDV&oE#n&$Jqaq_d%0Cx5bUr zM`;KJW_00+cVquKcgk&IXrM^Lz)@TF{|#iX+`my8GLwNhDp)v<@4=x%b#--D-}bhX zRmR6R2Y9?*US2hc{4)Q3pPv!U_Em;JM!*R~R zrpkX|G9mwWz@rdo?!|YCpnmRsoCbJfmoxa;6IK(e`|`RuN|MB-vB?`E6LviIf8kIl zB$ou%J%$gYq%K#-^Xki=zWn zXp&3v9|C7(#p-zTIMC~2VQJ0gH&f+bXvQnh^up6)o|2>aP!#Vf5JOe#iR_Gzf!<%} N0a8$tuaGqj`aixKOBDbB diff --git a/Images/resource-id.png b/Images/resource-id.png index 8f92755caa5be43ecb71c91ab888257998dffb80..937e9d46682b3567dd15aa2294ad41d9296d899e 100644 GIT binary patch literal 66293 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%0APv@f3!QFHsDTs9_8u;)2o?c_yu+%B5rrWW?Y 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 UFHXAu)-O|(Rg)=~GX3;l0GsT)(*OVf literal 63010 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 diff --git a/Images/storepath.png b/Images/storepath.png index 9f932782631d5171c5951180bc3765fc2f6ddc27..a0c38dd233207ececac3a6f24117094e6d1ce325 100644 GIT binary patch literal 6063 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 :warning: The store type definition needs to include the necessary fields to support Create functionality (SkuType and VaultRegion). Be sure to read through the _Custom Fields_ instructions below and set them up with the required fields if Creating new Azure Keyvaults from Keyfactor Command is desired. + 1) **If you are using a Service Principal or User assigned Managed Identity only** Make sure that "Needs Server" is checked. ![Cert Store Types Menu](/Images/cert-store-type.png) @@ -387,23 +394,39 @@ Now we can navigate to the Keyfactor platform and create the store type for Azur ![Cert Store Types Menu](/Images/store-type-fields-advanced.png) -1) Navigate to the _Custom Fields_ tab and add the following fields +1) Navigate to the _Custom Fields_ tab and add the custom fields for the store type. + +> :warning: If you are using the Global Public cloud (*.vault.azure.net) and creating new Azure +> Keyvaults from Keyfactor Command functionality is not necessary for your workflow, this section can +> be skipped entirely. + +- The below two fields are necessary if working with Keyvaults in Azure Cloud instances that are not the standard global public one (*.vault.azure.net) If your vault instance(s) have the base url of `.vault.azure.net` then the next two fields can be omitted from the store type definition and the default global public cloud will be assumed. +- - The "Azure Cloud" field refers to + +| Name | Display Name | Type | Required | +| ---- | ------------ | ---- | -------- | +| AzureCloud[^azurecloud] | Azure Cloud | MultipleChoice | false | +| PrivateEndpoint[^privateEndpoint] | Private Endpoint | String | false | + +[^azurecloud]: The Azure Cloud field, if necessary, should contain one of the following values: "china, germany, government". This is the Azure Cloud instance your organization uses. If using the standard "public" cloud, this field can be left blank or omitted entirely from the store type definition. - | Name | Display Name | Type | Required | - | ---- | ------------ | ---- | -------- | - | VaultName | Vault Name | String | true | - | ResourceGroupName | Resource Group Name | String | true | - | SkuType[^sku] | SKU Type | MultipleChoice | false | - | VaultRegion[^vaultregion] | Vault Region | MultipleChoice | false | - | TenantId | Tenant Id | String | True +[^privateEndpoint]: The Private Endpoint field should be used if you if have a custom url assigned to your keyvault resources and they are not accessible via the standard endpoint associated with the Azure Cloud instance (*.vault.azure.net, *.vault.azure.cn, etc.). This field should contain the base url for your vault instance(s), excluding the vault name. - [^sku]: The SkuType determines the service tier when creating a new instance of Azure KeyVault via the platform. Valid values include "premium" and "standard". - If either option should be available when creating a new KeyVault from the Command platform via creating a new certificate store, then the value to enter for the multiple choice options should be "standard,premium". - If your organization requires that one or the other option should always be used, you can limit the options to a single value ("premium" or "standard"). If not selected, "standard" is used when creating a new KeyVault. +- The following fields are _only_ necessary in order to support creating new Azure Keyvaults from the Keyfactor Command platform. If this functionality is not needed, there is no need to set up these fields. - [^vaultregion]: The Vault Region field is only important when creating a new Azure KeyVault from the Command Platform. This is the region that the newly created vault will be created in. When creating the cert store type, - you can limit the options to those that should be applicable to your organization. Refer to the [Azure Documentation](https://learn.microsoft.com/en-us/dotnet/api/azure.core.azurelocation?view=azure-dotnethttps://learn.microsoft.com/en-us/dotnet/api/azure.core.azurelocation?view=azure-dotnet) for a list of valid region names. - If no value is selected, "eastus" is used by default. +| Name | Display Name | Type | Required | +| ---- | ------------ | ---- | -------- | +| TenantId | Tenant Id | String | false | +| SkuType[^sku] | SKU Type | MultipleChoice | false | +| VaultRegion[^vaultregion] | Vault Region | MultipleChoice | false | + +[^sku]: The SkuType determines the service tier when creating a new instance of Azure KeyVault via the platform. Valid values include "premium" and "standard". + If either option should be available when creating a new KeyVault from the Command platform via creating a new certificate store, then the value to enter for the multiple choice options should be "standard,premium". + If your organization requires that one or the other option should always be used, you can limit the options to a single value ("premium" or "standard"). If not selected, "standard" is used when creating a new KeyVault. + +[^vaultregion]: The Vault Region field is only important when creating a new Azure KeyVault from the Command Platform. This is the region that the newly created vault will be created in. When creating the cert store type, + you can limit the options to those that should be applicable to your organization. Refer to the [Azure Documentation](https://learn.microsoft.com/en-us/dotnet/api/azure.core.azurelocation?view=azure-dotnethttps://learn.microsoft.com/en-us/dotnet/api/azure.core.azurelocation?view=azure-dotnet) for a list of valid region names. + If no value is selected, "eastus" is used by default. ### Install the Extension on the Orchestrator @@ -460,7 +483,7 @@ Now that we have the extension registered on the Orchestrator, we can navigate b - For User assigned managed identity: - `Client Machine` should be set to the GUID of the tenant ID of the instance of Azure Keyvault. - - `User` should be set to the managed user ID. + - `User` should be set to the Client ID of the managed identity. - `Password` should be set to the value **"managed"**. - For Service principal authentication: @@ -503,8 +526,10 @@ Follow these steps to store the values: 1) Select a time to run the discovery job. +1) Enter commma seperated list of tenant ID's in the "Directories to search" field.' + > :warning: -> If you are using a system assigned managed identity, you will need to enter the **Tenant Id** value into the "Directories to Search" field. +> If nothing is entered here, the default Tenant ID included with the credentials will be used. For system managed identities, it is necessary to include the Tenant ID(s) in this field. 1) Leave the remaining fields blank and click "SAVE". @@ -512,21 +537,19 @@ Follow these steps to store the values: When the Discovery job runs successfully, it will list the existing Azure Keyvaults that are acessible by our service principal. -In this example, our job returned four Azure Keyvaults. +In this example, our job returned these Azure Keyvaults. ![Discovery Results](/Images/discovery-result.png) -The store path of each vault is the Azure Resource Identifier, and contains the following information: +The store path of each vault is the `::`: ![Discovery Results](/Images/storepath.png) To add one of these results to Keyfactor as a certificate store: -1) Double-click the row that corresponds to the Azure Keyvault in the discovery results (you can also select the row and click "approve"). - -1) In the dialog window, enter the Vault Name from the store path value above, as well as the resource group name for the vault (found in the Azure portal). +1) Double-click the row that corresponds to the Azure Keyvault in the discovery results (you can also select the row and click "SAVE"). - ![Approve Cert Store](/Images/approve-cert-store.png) +1) In the dialog window, enter values for any of the optional fields you have set up for your store type. 1) Select a container to store the certificates for this cert store (optional) @@ -534,7 +557,7 @@ To add one of these results to Keyfactor as a certificate store: 1) Click "SAVE". -### Add an individual Azure Keyvault certificate store +### Add a new or existing Azure Keyvault certificate store You can also add a certificate store that corresponds to an Azure Keyvault individually without the need to run the discovery / approval workflow. The steps to do this are: @@ -554,26 +577,24 @@ The steps to do this are: - Note: These will only have to be entered once, even if adding multiple certificate stores. - Follow the steps [here](#store-the-server-credentials-in-keyfactor) to enter them. -- **Store Path**: This is the Azure Resource Identifier for the Keyvault. Copied from Azure, or created a new Keyvault (see below). -- **VaultName**: This is the name of the new or existing Azure Keyvault. -- **ResourceGroupName**: The name of the Azure Resource Group that contains the Keyvault. -- **SKU Type**: This field is only used when creating new vaults in Azure. Select any value, or leave blank. -- **Vault Region**: This field is also only used when creating new vaults. Select any value. +- **Store Path**: This is the Subscription ID, Resource Group name, and Vault name in the following format: `{subscription id}:{resource group name}:{new vault name}` -If the vault already exists in azure: -The store path can be found by navigating to the existing Keyvault resource in Azure and clicking "Properties" in the left menu. +- **SKU Type**: This field is only used when creating new vaults in Azure. If present, select any value, or leave blank. +- **Vault Region**: This field is also only used when creating new vaults. If present, select any value. + +If the vault already exists in azure the store path can be found by navigating to the existing Keyvault resource in Azure and clicking "Properties" in the left menu. ![Resource Id](/Images/resource-id.png) -If the Keyvault does not exist in Azure, and you would like to create it: +- Use these values to create the store path -- Enter a value for the store path in the following format: +If the Keyvault does not exist in Azure, and you would like to create it: -`{subscription id}:{new vault name}` +- Enter a value for the store path in the following format: `{subscription id}:{resource group name}:{new vault name}` - For a non-existing Keyvault that you would like to create in Azure, make sure you have the "Create Certificate Store" box checked. -![Add Vault](/Images/add-vault.png) +> :warning: The identity you are using for authentication will need to have sufficient Azure permissions to be able to create new Keyvaults. --- diff --git a/integration-manifest.json b/integration-manifest.json index 824f26d..745f20f 100644 --- a/integration-manifest.json +++ b/integration-manifest.json @@ -44,20 +44,12 @@ }, "Properties": [ { - "Name": "VaultName", - "DisplayName": "VaultName", + "Name": "TenantId", + "DisplayName": "Tenant Id", "Type": "String", "DependsOn": "", "DefaultValue": null, - "Required": true - }, - { - "Name": "ResourceGroupName", - "DisplayName": "ResourceGroupName", - "Type": "String", - "DependsOn": "", - "DefaultValue": null, - "Required": true + "Required": false }, { "Name": "SkuType", @@ -72,7 +64,7 @@ "DisplayName": "Vault Region", "Type": "MultipleChoice", "DependsOn": "", - "DefaultValue": "eastus,eastus2,southcentralus,westus2,westus3,australiaeast,northeurope,swedencentral,uksouth,westeurope,centralus,southafricanorth,centralindia,eastasia,japaneast,koreacentral,canadacentral,francecentral,germanywestcentral,norwayeast,switzerlandnorth,uaenorth,brazilsouth,centraluseuap,eastus2euap,qatarcentral,centralusstage,eastusstage,eastus2stage,northcentralusstage,westusstage,asia,asiapacific,australia,brazil,canada,europe,france,germany,global,india,japan,korea,norway,singapore,southafrica,switzerland,uae,uk,unitedstates,unitedstatesuap,eastasiastage,southeastasiastage,brazilus,eastusstg,northcentralus,westus,jioindiawest,devfabric,westcentralus,southafricawest,australiacentral,australiacentral2,australiasoutheast,japanwest,jioindiacentral,koreasouth,southindia,westindia,canadaeast,francesouth,germanynorth,norwaywest,switzerlandwest,ukwest,uaecentral,brazilsoutheast", + "DefaultValue": "eastus,eastus2,westus2,westus3,westus", "Required": false }, { diff --git a/readme_source.md b/readme_source.md index 556aadd..cfc1d3a 100644 --- a/readme_source.md +++ b/readme_source.md @@ -65,6 +65,11 @@ _If the Windows Orchestrator is being completely replaced with the Universal Orc Note: Any Azure Keyvault certificate stores removed can be re-added once the Universal Orchestrator is configured with the AKV capability. +### Migrating from version 1.x or version 2.x of the Azure Keyvault Orchestrator Extension + +It is not necessary to re-create all of the certificate stores when migrating from a previous version of this extension, though it is important to note that Azure KeyVaults found during a Discovery job +will return with latest store path format: `{subscription id}:{resource group name}:{new vault name}`. + --- ### Configure the Azure Keyvault for client access @@ -272,6 +277,8 @@ Now we can navigate to the Keyfactor platform and create the store type for Azur 1) The Azure Keyvault integration supports the following job types: _Inventory, Add, Remove, Create and Discovery_. Select from these the capabilities you would like to utilize. +> :warning: The store type definition needs to include the necessary fields to support Create functionality (SkuType and VaultRegion). Be sure to read through the _Custom Fields_ instructions below and set them up with the required fields if Creating new Azure Keyvaults from Keyfactor Command is desired. + 1) **If you are using a Service Principal or User assigned Managed Identity only** Make sure that "Needs Server" is checked. ![Cert Store Types Menu](/Images/cert-store-type.png) @@ -287,23 +294,39 @@ Now we can navigate to the Keyfactor platform and create the store type for Azur ![Cert Store Types Menu](/Images/store-type-fields-advanced.png) -1) Navigate to the _Custom Fields_ tab and add the following fields +1) Navigate to the _Custom Fields_ tab and add the custom fields for the store type. + +> :warning: If you are using the Global Public cloud (*.vault.azure.net) and creating new Azure +> Keyvaults from Keyfactor Command functionality is not necessary for your workflow, this section can +> be skipped entirely. + +- The below two fields are necessary if working with Keyvaults in Azure Cloud instances that are not the standard global public one (*.vault.azure.net) If your vault instance(s) have the base url of `.vault.azure.net` then the next two fields can be omitted from the store type definition and the default global public cloud will be assumed. +- - The "Azure Cloud" field refers to + +| Name | Display Name | Type | Required | +| ---- | ------------ | ---- | -------- | +| AzureCloud[^azurecloud] | Azure Cloud | MultipleChoice | false | +| PrivateEndpoint[^privateEndpoint] | Private Endpoint | String | false | + +[^azurecloud]: The Azure Cloud field, if necessary, should contain one of the following values: "china, germany, government". This is the Azure Cloud instance your organization uses. If using the standard "public" cloud, this field can be left blank or omitted entirely from the store type definition. - | Name | Display Name | Type | Required | - | ---- | ------------ | ---- | -------- | - | VaultName | Vault Name | String | true | - | ResourceGroupName | Resource Group Name | String | true | - | SkuType[^sku] | SKU Type | MultipleChoice | false | - | VaultRegion[^vaultregion] | Vault Region | MultipleChoice | false | - | TenantId | Tenant Id | String | True +[^privateEndpoint]: The Private Endpoint field should be used if you if have a custom url assigned to your keyvault resources and they are not accessible via the standard endpoint associated with the Azure Cloud instance (*.vault.azure.net, *.vault.azure.cn, etc.). This field should contain the base url for your vault instance(s), excluding the vault name. - [^sku]: The SkuType determines the service tier when creating a new instance of Azure KeyVault via the platform. Valid values include "premium" and "standard". - If either option should be available when creating a new KeyVault from the Command platform via creating a new certificate store, then the value to enter for the multiple choice options should be "standard,premium". - If your organization requires that one or the other option should always be used, you can limit the options to a single value ("premium" or "standard"). If not selected, "standard" is used when creating a new KeyVault. +- The following fields are _only_ necessary in order to support creating new Azure Keyvaults from the Keyfactor Command platform. If this functionality is not needed, there is no need to set up these fields. - [^vaultregion]: The Vault Region field is only important when creating a new Azure KeyVault from the Command Platform. This is the region that the newly created vault will be created in. When creating the cert store type, - you can limit the options to those that should be applicable to your organization. Refer to the [Azure Documentation](https://learn.microsoft.com/en-us/dotnet/api/azure.core.azurelocation?view=azure-dotnethttps://learn.microsoft.com/en-us/dotnet/api/azure.core.azurelocation?view=azure-dotnet) for a list of valid region names. - If no value is selected, "eastus" is used by default. +| Name | Display Name | Type | Required | +| ---- | ------------ | ---- | -------- | +| TenantId | Tenant Id | String | false | +| SkuType[^sku] | SKU Type | MultipleChoice | false | +| VaultRegion[^vaultregion] | Vault Region | MultipleChoice | false | + +[^sku]: The SkuType determines the service tier when creating a new instance of Azure KeyVault via the platform. Valid values include "premium" and "standard". + If either option should be available when creating a new KeyVault from the Command platform via creating a new certificate store, then the value to enter for the multiple choice options should be "standard,premium". + If your organization requires that one or the other option should always be used, you can limit the options to a single value ("premium" or "standard"). If not selected, "standard" is used when creating a new KeyVault. + +[^vaultregion]: The Vault Region field is only important when creating a new Azure KeyVault from the Command Platform. This is the region that the newly created vault will be created in. When creating the cert store type, + you can limit the options to those that should be applicable to your organization. Refer to the [Azure Documentation](https://learn.microsoft.com/en-us/dotnet/api/azure.core.azurelocation?view=azure-dotnethttps://learn.microsoft.com/en-us/dotnet/api/azure.core.azurelocation?view=azure-dotnet) for a list of valid region names. + If no value is selected, "eastus" is used by default. ### Install the Extension on the Orchestrator @@ -360,7 +383,7 @@ Now that we have the extension registered on the Orchestrator, we can navigate b - For User assigned managed identity: - `Client Machine` should be set to the GUID of the tenant ID of the instance of Azure Keyvault. - - `User` should be set to the managed user ID. + - `User` should be set to the Client ID of the managed identity. - `Password` should be set to the value **"managed"**. - For Service principal authentication: @@ -403,8 +426,10 @@ Follow these steps to store the values: 1) Select a time to run the discovery job. +1) Enter commma seperated list of tenant ID's in the "Directories to search" field.' + > :warning: -> If you are using a system assigned managed identity, you will need to enter the **Tenant Id** value into the "Directories to Search" field. +> If nothing is entered here, the default Tenant ID included with the credentials will be used. For system managed identities, it is necessary to include the Tenant ID(s) in this field. 1) Leave the remaining fields blank and click "SAVE". @@ -412,21 +437,19 @@ Follow these steps to store the values: When the Discovery job runs successfully, it will list the existing Azure Keyvaults that are acessible by our service principal. -In this example, our job returned four Azure Keyvaults. +In this example, our job returned these Azure Keyvaults. ![Discovery Results](/Images/discovery-result.png) -The store path of each vault is the Azure Resource Identifier, and contains the following information: +The store path of each vault is the `::`: ![Discovery Results](/Images/storepath.png) To add one of these results to Keyfactor as a certificate store: -1) Double-click the row that corresponds to the Azure Keyvault in the discovery results (you can also select the row and click "approve"). - -1) In the dialog window, enter the Vault Name from the store path value above, as well as the resource group name for the vault (found in the Azure portal). +1) Double-click the row that corresponds to the Azure Keyvault in the discovery results (you can also select the row and click "SAVE"). - ![Approve Cert Store](/Images/approve-cert-store.png) +1) In the dialog window, enter values for any of the optional fields you have set up for your store type. 1) Select a container to store the certificates for this cert store (optional) @@ -434,7 +457,7 @@ To add one of these results to Keyfactor as a certificate store: 1) Click "SAVE". -### Add an individual Azure Keyvault certificate store +### Add a new or existing Azure Keyvault certificate store You can also add a certificate store that corresponds to an Azure Keyvault individually without the need to run the discovery / approval workflow. The steps to do this are: @@ -454,26 +477,24 @@ The steps to do this are: - Note: These will only have to be entered once, even if adding multiple certificate stores. - Follow the steps [here](#store-the-server-credentials-in-keyfactor) to enter them. -- **Store Path**: This is the Azure Resource Identifier for the Keyvault. Copied from Azure, or created a new Keyvault (see below). -- **VaultName**: This is the name of the new or existing Azure Keyvault. -- **ResourceGroupName**: The name of the Azure Resource Group that contains the Keyvault. -- **SKU Type**: This field is only used when creating new vaults in Azure. Select any value, or leave blank. -- **Vault Region**: This field is also only used when creating new vaults. Select any value. +- **Store Path**: This is the Subscription ID, Resource Group name, and Vault name in the following format: `{subscription id}:{resource group name}:{new vault name}` -If the vault already exists in azure: -The store path can be found by navigating to the existing Keyvault resource in Azure and clicking "Properties" in the left menu. +- **SKU Type**: This field is only used when creating new vaults in Azure. If present, select any value, or leave blank. +- **Vault Region**: This field is also only used when creating new vaults. If present, select any value. + +If the vault already exists in azure the store path can be found by navigating to the existing Keyvault resource in Azure and clicking "Properties" in the left menu. ![Resource Id](/Images/resource-id.png) -If the Keyvault does not exist in Azure, and you would like to create it: +- Use these values to create the store path -- Enter a value for the store path in the following format: +If the Keyvault does not exist in Azure, and you would like to create it: -`{subscription id}:{new vault name}` +- Enter a value for the store path in the following format: `{subscription id}:{resource group name}:{new vault name}` - For a non-existing Keyvault that you would like to create in Azure, make sure you have the "Create Certificate Store" box checked. -![Add Vault](/Images/add-vault.png) +> :warning: The identity you are using for authentication will need to have sufficient Azure permissions to be able to create new Keyvaults. ---