doc: initial docs for kms
87
docs/documentation/platform/kms/aws-kms.mdx
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
---
|
||||||
|
title: "AWS Key Management Service (KMS)"
|
||||||
|
description: "Learn how to manage encryption using AWS KMS"
|
||||||
|
---
|
||||||
|
|
||||||
|
You can configure your projects to use AWS KMS keys for encryption, enhancing the security and management of your secrets.
|
||||||
|
|
||||||
|
## Setup AWS KMS in the Organization Settings
|
||||||
|
|
||||||
|
Follow these steps to set up AWS KMS for your organization:
|
||||||
|
|
||||||
|
<Steps>
|
||||||
|
<Step title="Navigate to the organization settings and select the Encryption tab.">
|
||||||
|

|
||||||
|
</Step>
|
||||||
|
<Step title="Click on the 'Add' button">
|
||||||
|

|
||||||
|
Click the 'Add' button to begin adding a new external KMS.
|
||||||
|
</Step>
|
||||||
|
<Step title="Select 'AWS KMS'">
|
||||||
|

|
||||||
|
Choose 'AWS KMS' from the list of encryption providers.
|
||||||
|
</Step>
|
||||||
|
<Step title="Provide the inputs for AWS KMS">
|
||||||
|
Fill in the required details for AWS KMS:
|
||||||
|
<ParamField path="Alias" type="string" required>
|
||||||
|
Name for referencing the AWS KMS key within the organization.
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField path="Description" type="string">
|
||||||
|
Short description of the AWS KMS key.
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField path="Authentication Mode" type="string" required>
|
||||||
|
Authentication mode for AWS, either "AWS Assume Role" or "Access Key".
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField path="IAM Role ARN For Role Assumption" type="string" required>
|
||||||
|
ARN of the AWS role to assume for providing Infisical access to the AWS KMS Key (required if Authentication Mode is "AWS Assume Role")
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField path="Assume Role External ID" type="string">
|
||||||
|
Custom identifier for additional validation during role assumption.
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField path="Access Key ID" type="string" required>
|
||||||
|
AWS IAM Access Key ID for authentication (required if Authentication Mode is "Access Key").
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField path="Secret Access Key" type="string" required>
|
||||||
|
AWS IAM Secret Access Key for authentication (required if Authentication Mode is "Access Key").
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField path="AWS Region" type="string" required>
|
||||||
|
AWS region where the AWS KMS Key is located.
|
||||||
|
</ParamField>
|
||||||
|
<ParamField path="AWS KMS Key ID" type="string">
|
||||||
|
Key ID of the AWS KMS Key. If left blank, Infisical will generate and use a new AWS KMS Key in the specified region.
|
||||||
|

|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
</Step>
|
||||||
|
<Step title="Click Save">
|
||||||
|
Save your configuration to apply the settings.
|
||||||
|
</Step>
|
||||||
|
</Steps>
|
||||||
|
|
||||||
|
You now have an AWS KMS Key configured at the organization level. You can assign these keys to existing projects via the Project Settings page.
|
||||||
|
|
||||||
|
## Assign AWS KMS Key to an Existing Project
|
||||||
|
|
||||||
|
Follow these steps to assign an AWS KMS key to a project:
|
||||||
|
|
||||||
|
<Steps>
|
||||||
|
<Step title="Open Project Settings and proceed to the Encryption Tab">
|
||||||
|

|
||||||
|
</Step>
|
||||||
|
<Step title="Under the Key Management section, select your newly added AWS KMS key from the dropdown">
|
||||||
|

|
||||||
|
Choose the AWS KMS key you configured earlier.
|
||||||
|
</Step>
|
||||||
|
<Step title="Click Save">
|
||||||
|
Save the changes to apply the new encryption settings to your project.
|
||||||
|
</Step>
|
||||||
|
</Steps>
|
||||||
28
docs/documentation/platform/kms/overview.mdx
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
title: "Key Management Service (KMS)"
|
||||||
|
sidebarTitle: "Overview"
|
||||||
|
description: "Learn how to configure your project's encryption"
|
||||||
|
---
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
Infisical leverages a Key Management Service (KMS) to securely encrypt and decrypt secrets in your projects.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
Infisical's KMS ensures the security of your project's secrets through the following mechanisms:
|
||||||
|
|
||||||
|
- Each project is assigned a unique workspace key, which is responsible for encrypting and decrypting secret values.
|
||||||
|
- The workspace key itself is encrypted using the project's configured KMS.
|
||||||
|
- When secrets are requested, the workspace key is derived from the configured KMS. This key is then used to decrypt the secret values on-demand before sending them to the requesting client.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
You can set the KMS for new projects during project creation.
|
||||||
|

|
||||||
|
For existing projects, you can configure the KMS from the Project Settings page.
|
||||||
|

|
||||||
|
|
||||||
|
## External KMS
|
||||||
|
|
||||||
|
Infisical supports the use of external KMS solutions to enhance security and compliance. You can configure your project to use services like [AWS Key Management Service](./aws-kms) for managing encryption.
|
||||||
BIN
docs/images/platform/kms/aws/aws-kms-key-id.png
Normal file
|
After Width: | Height: | Size: 151 KiB |
|
After Width: | Height: | Size: 348 KiB |
BIN
docs/images/platform/kms/aws/encryption-org-settings-add.png
Normal file
|
After Width: | Height: | Size: 694 KiB |
BIN
docs/images/platform/kms/aws/encryption-org-settings.png
Normal file
|
After Width: | Height: | Size: 482 KiB |
|
After Width: | Height: | Size: 476 KiB |
BIN
docs/images/platform/kms/aws/encryption-project-settings.png
Normal file
|
After Width: | Height: | Size: 479 KiB |
BIN
docs/images/platform/kms/configure-kms-existing.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
docs/images/platform/kms/configure-kms-new.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
@@ -154,6 +154,13 @@
|
|||||||
"documentation/platform/dynamic-secrets/aws-iam"
|
"documentation/platform/dynamic-secrets/aws-iam"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"group": "Key Management",
|
||||||
|
"pages": [
|
||||||
|
"documentation/platform/kms/overview",
|
||||||
|
"documentation/platform/kms/aws-kms"
|
||||||
|
]
|
||||||
|
},
|
||||||
"documentation/platform/secret-sharing"
|
"documentation/platform/secret-sharing"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||