Skip to content

Commit b3bbcd1

Browse files
fiddlermikeyKeyfactor
andauthored
Merge pull request #22 from Keyfactor/doctool-61857
* chore(doctool): Migrate to doctool * chore(changelog): Update changelog Signed-off-by: Hayden Roszell <[email protected]> Co-authored-by: Keyfactor <[email protected]>
2 parents c837480 + ed25817 commit b3bbcd1

14 files changed

+132
-472
lines changed

.github/workflows/keyfactor-starter-workflow.yml renamed to .github/workflows/keyfactor-bootstrap-workflow.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@ on:
1111

1212
jobs:
1313
call-starter-workflow:
14-
uses: keyfactor/actions/.github/workflows/starter.yml@v2
14+
uses: keyfactor/actions/.github/workflows/starter.yml@v3
1515
secrets:
1616
token: ${{ secrets.V2BUILDTOKEN}}
1717
APPROVE_README_PUSH: ${{ secrets.APPROVE_README_PUSH}}
1818
gpg_key: ${{ secrets.KF_GPG_PRIVATE_KEY }}
1919
gpg_pass: ${{ secrets.KF_GPG_PASSPHRASE }}
20+
scan_token: ${{ secrets.SAST_TOKEN }}

.github/workflows/keyfactor-merge-store-types.yml

Lines changed: 0 additions & 27 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,6 @@
2828

2929
- 3.1.0
3030
- fix(deps): Revert main Azure Application Gateway Orchestrator extension .NET project to .NET 6 from .NET 8.
31+
32+
- 3.2.0
33+
- chore(docs): Upgrade GitHub Actions to use Bootstrap Workflow v3 to support Doctool

README.md

Lines changed: 24 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,3 @@
1-
2-
# Azure Application Gateway Orchestrator
3-
4-
The Azure Application Gateway Orchestrator Extension is an extension to the Keyfactor Universal Orchestrator that allows for the management of certificates on Azure Application Gateways, including the ability to add and bind certificates to HTTPS listeners.
5-
6-
#### Integration status: Production - Ready for use in production environments.
7-
8-
## About the Keyfactor Universal Orchestrator Extension
9-
10-
This repository contains a Universal Orchestrator Extension which is a plugin to the Keyfactor Universal Orchestrator. Within the Keyfactor Platform, Orchestrators are used to manage “certificate stores” &mdash; collections of certificates and roots of trust that are found within and used by various applications.
11-
12-
The Universal Orchestrator is part of the Keyfactor software distribution and is available via the Keyfactor customer portal. For general instructions on installing Extensions, see the “Keyfactor Command Orchestrator Installation and Configuration Guide” section of the Keyfactor documentation. For configuration details of this specific Extension see below in this readme.
13-
14-
The Universal Orchestrator is the successor to the Windows Orchestrator. This Orchestrator Extension plugin only works with the Universal Orchestrator and does not work with the Windows Orchestrator.
15-
16-
## Support for Azure Application Gateway Orchestrator
17-
18-
Azure Application Gateway Orchestrator is supported by Keyfactor for Keyfactor customers. If you have a support issue, please open a support ticket via the Keyfactor Support Portal at https://support.keyfactor.com
19-
20-
###### To report a problem or suggest a new feature, use the **[Issues](../../issues)** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **[Pull requests](../../pulls)** tab.
21-
22-
---
23-
24-
25-
---
26-
27-
28-
29-
## Keyfactor Version Supported
30-
31-
The minimum version of the Keyfactor Universal Orchestrator Framework needed to run this version of the extension is 10.4
32-
## Platform Specific Notes
33-
34-
The Keyfactor Universal Orchestrator may be installed on either Windows or Linux based platforms. The certificate operations supported by a capability may vary based what platform the capability is installed on. The table below indicates what capabilities are supported based on which platform the encompassing Universal Orchestrator is running.
35-
| Operation | Win | Linux |
36-
|-----|-----|------|
37-
|Supports Management Add|&check; |&check; |
38-
|Supports Management Remove|&check; |&check; |
39-
|Supports Create Store| | |
40-
|Supports Discovery|&check; |&check; |
41-
|Supports Reenrollment| | |
42-
|Supports Inventory|&check; |&check; |
43-
44-
45-
46-
47-
48-
---
49-
50-
511
<h1 align="center" style="border-bottom: none">
522
Azure Application Gateway Universal Orchestrator Extension
533
</h1>
@@ -87,6 +37,14 @@ The Azure Application Gateway Orchestrator extension remotely manages certificat
8737
>
8838
> If the certificate management capabilities of Azure Key Vault are desired over direct management of certificates in Application Gateways, the Azure Key Vault orchestrator can be used in conjunction with this extension for accurate certificate location reporting via the inventory job type. This management strategy requires manual binding of certificates imported to an Application Gateway from AKV and can result in broken state in the Azure Application Gateway in the case that the secret is deleted in AKV.
8939
40+
## Compatibility
41+
42+
This integration is compatible with Keyfactor Universal Orchestrator version 10.4 and later.
43+
44+
## Support
45+
The Azure Application Gateway Universal Orchestrator extension is supported by Keyfactor for Keyfactor customers. If you have a support issue, please open a support ticket with your Keyfactor representative. If you have a support issue, please open a support ticket via the Keyfactor Support Portal at https://support.keyfactor.com.
46+
47+
> To report a problem or suggest a new feature, use the **[Issues](../../issues)** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **[Pull requests](../../pulls)** tab.
9048
9149
## Installation
9250
Before installing the Azure Application Gateway Universal Orchestrator extension, it's recommended to install [kfutil](https://github.com/Keyfactor/kfutil). Kfutil is a command-line tool that simplifies the process of creating store types, installing extensions, and instantiating certificate stores in Keyfactor Command.
@@ -101,12 +59,12 @@ The Azure Application Gateway Universal Orchestrator extension implements 2 Cert
10159
1. Follow the [requirements section](docs/azureappgw.md#requirements) to configure a Service Account and grant necessary API permissions.
10260

10361
<details><summary>Requirements</summary>
104-
105-
### Azure Service Principal (Azure Resource Manager Authentication)
62+
63+
#### Azure Service Principal (Azure Resource Manager Authentication)
10664

10765
The Azure Application Gateway Orchestrator extension uses an [Azure Service Principal](https://learn.microsoft.com/en-us/entra/identity-platform/app-objects-and-service-principals?tabs=browser) for authentication. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal) to create a service principal.
10866

109-
#### Azure Application Gateway permissions
67+
##### Azure Application Gateway permissions
11068

11169
For quick start and non-production environments, a Role Assignment should be created on _each resource group_ that own Application Gateways desiring management that grants the created Application/Service Principal the [Contributor (Privileged administrator) Role](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#contributor). For production environments, a custom role should be created that grants the following permissions:
11270

@@ -118,13 +76,13 @@ The Azure Application Gateway Universal Orchestrator extension implements 2 Cert
11876

11977
> Note that even if the Service Principal has permission to perform the 'Microsoft.Network/applicationGateways/write' action over the scope of the required resource group, there may be other permissions that are required by the CreateOrUpdate operation depending on the complexity of the Application Gateway's configuration. As such, the list of permissions above should not be considered as comprehensive.
12078
121-
#### Azure Key Vault permissions
79+
##### Azure Key Vault permissions
12280

12381
If the managed Application Gateway is integrated with Azure Key Vault per the discussion in the [Certificates Imported to Application Gateways from Azure Key Vault](#certificates-imported-to-application-gateways-from-azure-key-vault) section, perform one of the following actions for each Key Vault with certificates imported to App Gateways:
12482
* **Azure role-based access control** - Create a Role Assignment that grants the Application/Service Principal the [Key Vault Secrets User](https://learn.microsoft.com/en-us/azure/key-vault/general/rbac-guide?tabs=azure-cli) built-in role.
12583
* **Vault access policy** - [Create an Access Policy](https://learn.microsoft.com/en-us/azure/key-vault/general/assign-access-policy?tabs=azure-portal) that grants the Application/Service Principal the Get secret permission for each Azure Key Vault.
12684

127-
#### Client Certificate or Client Secret
85+
##### Client Certificate or Client Secret
12886

12987
Beginning in version 3.0.0, the Azure Application Gateway Orchestrator extension supports both [client certificate authentication](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) and [client secret](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) authentication.
13088

@@ -173,8 +131,6 @@ The Azure Application Gateway Universal Orchestrator extension implements 2 Cert
173131
>
174132
> You will use `clientcert.[pem|pfx].base64` as the **ClientCertificate** field in the [Certificate Store Configuration](#certificate-store-configuration) section.
175133
176-
177-
178134
</details>
179135

180136
2. Create Certificate Store Types for the Azure Application Gateway Orchestrator extension.
@@ -204,7 +160,10 @@ The Azure Application Gateway Universal Orchestrator extension implements 2 Cert
204160
* **Manually**: Follow the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/InstallingAgents/NetCoreOrchestrator/CustomExtensions.htm?Highlight=extensions) to install the latest [Azure Application Gateway Universal Orchestrator extension](https://github.com/Keyfactor/azure-appgateway-orchestrator/releases/latest).
205161

206162
4. Create new certificate stores in Keyfactor Command for the Sample Universal Orchestrator extension.
163+
207164
* [Azure Application Gateway Certificate](docs/azureappgw.md#certificate-store-configuration)
165+
166+
208167
</details>
209168

210169
<details><summary>Azure Application Gateway Certificate Binding</summary>
@@ -214,11 +173,11 @@ The Azure Application Gateway Universal Orchestrator extension implements 2 Cert
214173

215174
<details><summary>Requirements</summary>
216175

217-
### Azure Service Principal (Azure Resource Manager Authentication)
176+
#### Azure Service Principal (Azure Resource Manager Authentication)
218177

219178
The Azure Application Gateway Orchestrator extension uses an [Azure Service Principal](https://learn.microsoft.com/en-us/entra/identity-platform/app-objects-and-service-principals?tabs=browser) for authentication. Follow [Microsoft's documentation](https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal) to create a service principal.
220179
221-
#### Azure Application Gateway permissions
180+
##### Azure Application Gateway permissions
222181
223182
For quick start and non-production environments, a Role Assignment should be created on _each resource group_ that own Application Gateways desiring management that grants the created Application/Service Principal the [Contributor (Privileged administrator) Role](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#contributor). For production environments, a custom role should be created that grants the following permissions:
224183
@@ -230,13 +189,13 @@ The Azure Application Gateway Universal Orchestrator extension implements 2 Cert
230189
231190
> Note that even if the Service Principal has permission to perform the 'Microsoft.Network/applicationGateways/write' action over the scope of the required resource group, there may be other permissions that are required by the CreateOrUpdate operation depending on the complexity of the Application Gateway's configuration. As such, the list of permissions above should not be considered as comprehensive.
232191

233-
#### Azure Key Vault permissions
192+
##### Azure Key Vault permissions
234193

235194
If the managed Application Gateway is integrated with Azure Key Vault per the discussion in the [Certificates Imported to Application Gateways from Azure Key Vault](#certificates-imported-to-application-gateways-from-azure-key-vault) section, perform one of the following actions for each Key Vault with certificates imported to App Gateways:
236195
* **Azure role-based access control** - Create a Role Assignment that grants the Application/Service Principal the [Key Vault Secrets User](https://learn.microsoft.com/en-us/azure/key-vault/general/rbac-guide?tabs=azure-cli) built-in role.
237196
* **Vault access policy** - [Create an Access Policy](https://learn.microsoft.com/en-us/azure/key-vault/general/assign-access-policy?tabs=azure-portal) that grants the Application/Service Principal the Get secret permission for each Azure Key Vault.
238197

239-
#### Client Certificate or Client Secret
198+
##### Client Certificate or Client Secret
240199

241200
Beginning in version 3.0.0, the Azure Application Gateway Orchestrator extension supports both [client certificate authentication](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-1-add-a-certificate) and [client secret](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#option-2-add-a-client-secret) authentication.
242201

@@ -285,8 +244,6 @@ The Azure Application Gateway Universal Orchestrator extension implements 2 Cert
285244
>
286245
> You will use `clientcert.[pem|pfx].base64` as the **ClientCertificate** field in the [Certificate Store Configuration](#certificate-store-configuration) section.
287246

288-
289-
290247
</details>
291248

292249
2. Create Certificate Store Types for the Azure Application Gateway Orchestrator extension.
@@ -316,7 +273,10 @@ The Azure Application Gateway Universal Orchestrator extension implements 2 Cert
316273
* **Manually**: Follow the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/InstallingAgents/NetCoreOrchestrator/CustomExtensions.htm?Highlight=extensions) to install the latest [Azure Application Gateway Universal Orchestrator extension](https://github.com/Keyfactor/azure-appgateway-orchestrator/releases/latest).
317274

318275
4. Create new certificate stores in Keyfactor Command for the Sample Universal Orchestrator extension.
276+
319277
* [Azure Application Gateway Certificate Binding](docs/appgwbin.md#certificate-store-configuration)
278+
279+
320280
</details>
321281

322282

@@ -326,8 +286,4 @@ Apache License 2.0, see [LICENSE](LICENSE).
326286

327287
## Related Integrations
328288

329-
See all [Keyfactor Universal Orchestrator extensions](https://github.com/orgs/Keyfactor/repositories?q=orchestrator).
330-
331-
When creating cert store type manually, that store property names and entry parameter names are case sensitive
332-
333-
289+
See all [Keyfactor Universal Orchestrator extensions](https://github.com/orgs/Keyfactor/repositories?q=orchestrator).

0 commit comments

Comments
 (0)