Skip to content

Commit 10b3735

Browse files
author
Lee Fine
committed
Merge branch 'ab#69134' of https://github.com/Keyfactor/aws-orchestrator into ab#69134
2 parents e72c3f5 + 364ccab commit 10b3735

File tree

1 file changed

+101
-24
lines changed

1 file changed

+101
-24
lines changed

README.md

Lines changed: 101 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,6 @@ AWS Certificate Manager is a service that lets you easily provision, manage, and
4040

4141

4242

43-
### AWS-ACM
44-
TODO Global Store Type Section is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
45-
46-
47-
TODO Overview is a required section
48-
4943
## Compatibility
5044

5145
This integration is compatible with Keyfactor Universal Orchestrator version 10.1 and later.
@@ -102,22 +96,12 @@ As one option for #3, to set up Role Auth for an EC2 instance, follow the steps
10296

10397
</details>
10498

105-
### AWS Certificate Manager Requirements
106-
TODO Global Store Type Section is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
107-
108-
109-
TODO Requirements is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
110-
111-
112-
11399

114100
## Create the AWS-ACM Certificate Store Type
115101

116102
To use the AWS Certificate Manager (ACM) Universal Orchestrator extension, you **must** create the AWS-ACM Certificate Store Type. This only needs to happen _once_ per Keyfactor Command instance.
117103

118104

119-
TODO Global Store Type Section is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
120-
121105

122106
* **Create AWS-ACM using kfutil**:
123107

@@ -194,7 +178,7 @@ TODO Global Store Type Section is an optional section. If this section doesn't s
194178
| Name | Display Name | Description | Type | Default Value | Entry has a private key | Adding an entry | Removing an entry | Reenrolling an entry |
195179
| ---- | ------------ | ---- | ------------- | ----------------------- | ---------------- | ----------------- | ------------------- | ----------- |
196180
| AWS Region | AWS Region | When adding, this is the Region that the Certificate will be added to | String | | 🔲 Unchecked | ✅ Checked | 🔲 Unchecked | 🔲 Unchecked |
197-
| ACM Tags | ACM Tags | The ACM tags that should be assigned to the certificate. Multiple name/value pairs may be entered in the format of `Name1=Value1,Name2=Value2,...,NameN=ValueN` | String | | 🔲 Unchecked | 🔲 Unchecked | 🔲 Unchecked | 🔲 Unchecked |
181+
| ACM Tags | ACM Tags | The optional ACM tags that should be assigned to the certificate. Multiple name/value pairs may be entered in the format of `Name1=Value1,Name2=Value2,...,NameN=ValueN` | String | | 🔲 Unchecked | 🔲 Unchecked | 🔲 Unchecked | 🔲 Unchecked |
198182

199183
The Entry Parameters tab should look like this:
200184

@@ -252,22 +236,115 @@ TODO Global Store Type Section is an optional section. If this section doesn't s
252236
## Defining Certificate Stores
253237
254238
255-
TODO Global Store Type Section is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
256239
257-
TODO Certificate Store Configuration is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
240+
* **Manually with the Command UI**
258241
242+
<details><summary>Create Certificate Stores manually in the UI</summary>
259243
244+
1. **Navigate to the _Certificate Stores_ page in Keyfactor Command.**
260245
261-
> The content in this section can be supplimented by the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store).
246+
Log into Keyfactor Command, toggle the _Locations_ dropdown, and click _Certificate Stores_.
247+
248+
2. **Add a Certificate Store.**
249+
250+
Click the Add button to add a new Certificate Store. Use the table below to populate the **Attributes** in the **Add** form.
251+
| Attribute | Description |
252+
| --------- | ----------- |
253+
| Category | Select "AWS Certificate Manager" or the customized certificate store name from the previous step. |
254+
| Container | Optional container to associate certificate store with. |
255+
| Client Machine | |
256+
| Store Path | |
257+
| Orchestrator | Select an approved orchestrator capable of managing `AWS-ACM` certificates. Specifically, one with the `AWS-ACM` capability. |
258+
| UseEC2AssumeRole | A switch to enable the store to assume a new Account ID and Role when using EC2 credentials |
259+
| UseOAuth | A switch to enable the store to use an OAuth provider workflow to authenticate with AWS ACM |
260+
| UseIAM | A switch to enable the store to use IAM User auth to assume a role when authenticating with AWS ACM |
261+
| EC2AssumeRole | The AWS Role to assume using the EC2 instance credentials |
262+
| OAuthScope | This is the OAuth Scope needed for Okta OAuth, defined in Okta |
263+
| OAuthGrantType | In OAuth 2.0, the term �grant type� refers to the way an application gets an access token. In Okta this is `client_credentials` |
264+
| OAuthUrl | An optional parameter sts:ExternalId to pass with Assume Role calls |
265+
| IAMAssumeRole | The AWS Role to assume as the IAM User. |
266+
| OAuthAssumeRole | The AWS Role to assume after getting an OAuth token. |
267+
| ExternalId | An optional parameter sts:ExternalId to pass with Assume Role calls |
268+
| ServerUsername | The AWS Access Key for an IAM User or Client ID for OAuth. Depends on Auth method in use. |
269+
| ServerPassword | The AWS Access Secret for an IAM User or Client Secret for OAuth. Depends on Auth method in use. |
262270
263271
264-
## Discovering Certificate Stores with the Discovery Job
272+
273+
274+
<details><summary>Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator</summary>
265275
266-
### AWS Certificate Manager Discovery Job
267-
TODO Global Store Type Section is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
276+
If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_.
277+
| Attribute | Description |
278+
| --------- | ----------- |
279+
| ServerUsername | The AWS Access Key for an IAM User or Client ID for OAuth. Depends on Auth method in use. |
280+
| ServerPassword | The AWS Access Secret for an IAM User or Client Secret for OAuth. Depends on Auth method in use. |
281+
282+
283+
Please refer to the **Universal Orchestrator (remote)** usage section ([PAM providers on the Keyfactor Integration Catalog](https://keyfactor.github.io/integrations-catalog/content/pam)) for your selected PAM provider for instructions on how to load attributes orchestrator-side.
284+
285+
> Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself.
286+
</details>
287+
268288
289+
</details>
290+
291+
* **Using kfutil**
292+
293+
<details><summary>Create Certificate Stores with kfutil</summary>
294+
295+
1. **Generate a CSV template for the AWS-ACM certificate store**
296+
297+
```shell
298+
kfutil stores import generate-template --store-type-name AWS-ACM --outpath AWS-ACM.csv
299+
```
300+
2. **Populate the generated CSV file**
301+
302+
Open the CSV file, and reference the table below to populate parameters for each **Attribute**.
303+
| Attribute | Description |
304+
| --------- | ----------- |
305+
| Category | Select "AWS Certificate Manager" or the customized certificate store name from the previous step. |
306+
| Container | Optional container to associate certificate store with. |
307+
| Client Machine | |
308+
| Store Path | |
309+
| Orchestrator | Select an approved orchestrator capable of managing `AWS-ACM` certificates. Specifically, one with the `AWS-ACM` capability. |
310+
| UseEC2AssumeRole | A switch to enable the store to assume a new Account ID and Role when using EC2 credentials |
311+
| UseOAuth | A switch to enable the store to use an OAuth provider workflow to authenticate with AWS ACM |
312+
| UseIAM | A switch to enable the store to use IAM User auth to assume a role when authenticating with AWS ACM |
313+
| EC2AssumeRole | The AWS Role to assume using the EC2 instance credentials |
314+
| OAuthScope | This is the OAuth Scope needed for Okta OAuth, defined in Okta |
315+
| OAuthGrantType | In OAuth 2.0, the term �grant type� refers to the way an application gets an access token. In Okta this is `client_credentials` |
316+
| OAuthUrl | An optional parameter sts:ExternalId to pass with Assume Role calls |
317+
| IAMAssumeRole | The AWS Role to assume as the IAM User. |
318+
| OAuthAssumeRole | The AWS Role to assume after getting an OAuth token. |
319+
| ExternalId | An optional parameter sts:ExternalId to pass with Assume Role calls |
320+
| ServerUsername | The AWS Access Key for an IAM User or Client ID for OAuth. Depends on Auth method in use. |
321+
| ServerPassword | The AWS Access Secret for an IAM User or Client Secret for OAuth. Depends on Auth method in use. |
322+
323+
324+
325+
326+
<details><summary>Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator</summary>
327+
328+
If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_.
329+
| Attribute | Description |
330+
| --------- | ----------- |
331+
| ServerUsername | The AWS Access Key for an IAM User or Client ID for OAuth. Depends on Auth method in use. |
332+
| ServerPassword | The AWS Access Secret for an IAM User or Client Secret for OAuth. Depends on Auth method in use. |
333+
334+
335+
> Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself.
336+
</details>
337+
338+
339+
3. **Import the CSV file to create the certificate stores**
340+
341+
```shell
342+
kfutil stores import csv --store-type-name AWS-ACM --file AWS-ACM.csv
343+
```
344+
</details>
345+
346+
> The content in this section can be supplimented by the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store).
269347
270-
TODO Discovery Job Configuration is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
271348
272349
273350

0 commit comments

Comments
 (0)