Skip to content

Commit 31bb9f5

Browse files
BYOK and improved crypto capabilities for self-hosted (#16604)
* BYOK and improved crypto capabilities for self-hosted * Claude * Fixed link * Reviewer comments
1 parent 82ebe24 commit 31bb9f5

File tree

2 files changed

+32
-5
lines changed

2 files changed

+32
-5
lines changed

content/docs/administration/self-hosting/changelog.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,14 @@ Self-hosting is only available with **Pulumi Business Critical**. If you would l
2222

2323
## 2025
2424

25+
### November
26+
27+
* [Bring your own keys (BYOK) with Pulumi ESC](https://www.pulumi.com/blog/bring-your-own-keys-with-pulumi-esc/) and improved crypto operation capabilities
28+
29+
{{< notes type="warning" >}}
30+
Breaking Change: Ensure your permissions are up to date if you are using AWS KMS or Azure KeyVault [encryption services](/docs/administration/self-hosting/components/api/#encryption-services).
31+
{{< /notes >}}
32+
2533
### March
2634

2735
* [Enhanced GitLab integration support](https://www.pulumi.com/blog/gitlab-better-than-ever/)

content/docs/administration/self-hosting/components/api.md

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,16 @@ You only need to configure one of the support services.
129129

130130
### AWS KMS
131131

132+
#### Mandatory key actions
133+
134+
Define the following actions in the key's key policy in AWS KMS. Otherwise, the service will fail to start or will not
135+
be able to run crypto operations:
136+
137+
* `kms:Encrypt`
138+
* `kms:Decrypt`
139+
* `kms:GenerateDataKey`
140+
* `kms:GenerateDataKeyWithoutPlaintext`
141+
132142
| Variable Name | Description |
133143
|----------------|---------------------------------------------------|
134144
| PULUMI_KMS_KEY | ARN for the AWS KMS customer master key resource. |
@@ -141,11 +151,20 @@ active. The API service never has access to the private key material of the key
141151
uses the public key for encryption. The API will request KeyVault to decrypt a cipher text.
142152
{{% /notes %}}
143153

144-
| Variable Name | Description |
145-
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
146-
| PULUMI_AZURE_KV_URI | Azure KeyVault URI. For example, `https://<vault-name>.vault.azure.net`. |
147-
| PULUMI_AZURE_KV_KEY_NAME | The name of the key in KeyVault. The key must be an RSA key type. We recommend a key size of 2048 for most cases. The key operations must support `Encrypt` and `Decrypt`. Otherwise, the service will fail to start. |
148-
| PULUMI_AZURE_KV_KEY_VERSION | The version of the key that the service should use. Note: All previous versions of the key must remain enabled. |
154+
#### Mandatory key operations or permissions
155+
156+
Configure the key in Azure KeyVault to support and allow the following operations. Otherwise, the service will fail to
157+
start or will not be able to run crypto operations:
158+
159+
* `Encrypt`
160+
* `Decrypt`
161+
* `Sign`
162+
* `Verify`
163+
164+
| Variable Name | Description |
165+
|--------------------------|-------------------------------------------------------------------------------------------------------------------|
166+
| PULUMI_AZURE_KV_URI | Azure KeyVault URI. For example, `https://<vault-name>.vault.azure.net`. |
167+
| PULUMI_AZURE_KV_KEY_NAME | The name of the key in KeyVault. The key must be an RSA key type. We recommend a key size of 2048 for most cases. |
149168

150169
## Cloud Provider Authentication
151170

0 commit comments

Comments
 (0)