Skip to content

Commit fba15d7

Browse files
authored
Merge pull request #1805 from redis/DOC-5360
RC: Self-managed encryption keys - AWS
2 parents 496f355 + 7704271 commit fba15d7

File tree

4 files changed

+51
-14
lines changed

4 files changed

+51
-14
lines changed

content/embeds/rc-cmek-final-steps.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
5. Choose a **Deletion grace period** from the list. You can choose between the following options:
2+
- **Immediate**: If Redis Cloud loses access to your key, Redis will notify you and delete your database immediately.
3+
- **Alert only (No deletion, limited SLA)**: If Redis Cloud loses access to your key, Redis will notify you but will not delete your database.
4+
5+
{{<warning>}}
6+
If you select **Alert only (No deletion, limited SLA)**, Redis will not be able to make changes to your database if we lose access to your key. This includes database upgrades, failovers to persistent storage, and other operations that require access to your key. Because of this, Redis will not be able to meet its [Service Level Agreement (SLA)](https://redis.io/legal/redis-cloud-service-level-agreement/) if we lose access to your key.
7+
8+
Provide a new key as soon as possible to avoid service disruption.
9+
{{</warning>}}
10+
11+
6. After you finish granting access to your key, you can save your changes. For a new subscription, select **Activate** to activate your subscription and start billing.
12+
13+
{{<image filename="images/rc/cmek-new-subscription-activate.png" alt="The Activate button." width=500px >}}

content/operate/rc/security/manage-encryption-keys.md

Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Before you set up self-managed encryption, you must have a self-managed encrypti
3131
The encryption key must be hosted by the same cloud provider as your database and must be available in your database's cloud provider region.
3232

3333
Refer to the provider's documentation to create a key:
34-
<!-- - [Amazon Web Services - Create a KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) -->
34+
- [Amazon Web Services - Create a KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)
3535
- [Google Cloud - Create a key](https://cloud.google.com/kms/docs/create-key)
3636

3737
## Set up self-managed encryption
@@ -74,45 +74,69 @@ To activate self-managed encryption on an existing Redis Cloud Pro subscription:
7474

7575
### Grant key permissions
7676

77-
After you activate self-managed encryption, you must grant Redis access to your encryption key so we can use it for storage encryption.
77+
After you activate self-managed encryption, you must grant Redis access to your encryption key on your cloud provider so we can use it for storage encryption.
7878

79-
<!-- #### Amazon Web Services
79+
Follow the steps for your cloud provider:
80+
- [Amazon Web Services](#amazon-web-services)
81+
- [Google Cloud](#google-cloud)
8082

81-
#### Google Cloud -->
83+
#### Amazon Web Services
84+
85+
To grant Redis access to a key on AWS:
86+
87+
1. From your subscription page on the Redis Cloud console, copy the provided objects to add to the key policy.
88+
89+
{{<image filename="images/rc/cmek-access-roles-aws.png" alt="The Grant Redis your customer-managed key section shows the IAM role that needs access to your key and objects to add to your key policy." width=80% >}}
90+
91+
2. Go to the [Key management service](https://console.aws.amazon.com/kms) on the AWS console and locate your key.
92+
93+
3. [Modify the key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html) using the policy view. Add the provided objects in the **Statement** section and then save your changes.
94+
95+
4. Return to the Redis Cloud console. In your subscription page, enter your key's ARN in the **Key resource name** field.
96+
97+
{{<image filename="images/rc/cmek-provide-resource-name-aws.png" alt="The Provide the name of your customer-managed key section lets you provide your key to Redis." width=80% >}}
98+
99+
At this point, Redis Cloud will check to see if it can access your key. If it can't access your key, make sure that you've added the correct permissions to your key, that the key is available in the database's cloud provider region, and that you have correctly entered your key's resource name.
100+
101+
{{< embed-md "rc-cmek-final-steps.md" >}}
102+
103+
#### Google Cloud
82104

83105
To grant Redis access to a key on Google Cloud:
84106

85107
1. From your subscription page on the Redis Cloud console, copy the provided Redis service account name.
86108

87109
{{<image filename="images/rc/cmek-access-roles-google.png" alt="The Grant Redis your customer-managed key section shows the service account needed to add as a principal." width=80% >}}
88110

89-
1. Go to [Key management](https://console.cloud.google.com/security/kms) on the Google Cloud console and locate your key.
111+
2. Go to [Key management](https://console.cloud.google.com/security/kms) on the Google Cloud console and locate your key.
90112

91-
1. Add the provided service account as a principal for your key, with one of the following Role options:
113+
3. Add the provided service account as a principal for your key, with one of the following Role options:
92114

93115
- Add the pre-defined IAM roles [Cloud KMS CryptoKey Encrypter/Decrypter](https://cloud.google.com/kms/docs/reference/permissions-and-roles#cloudkms.cryptoKeyEncrypterDecrypter) and [Cloud KMS Viewer](https://cloud.google.com/kms/docs/reference/permissions-and-roles#cloudkms.viewer), OR
94116
- [Create a custom IAM role](https://cloud.google.com/iam/docs/creating-custom-roles#creating) with the following minimal permissions needed to use the key, and then assign that custom role to the principal:
95117
- cloudkms.cryptoKeyVersions.useToDecrypt
96118
- cloudkms.cryptoKeyVersions.useToEncrypt
97119
- cloudkms.cryptoKeys.get
98120

99-
1. Return to the Redis Cloud console. In your subscription page, enter your key's resource name in the **Key resource name** field.
121+
4. Return to the Redis Cloud console. In your subscription page, enter your key's resource name in the **Key resource name** field.
100122

101123
{{<image filename="images/rc/cmek-provide-resource-name-google.png" alt="The Provide the name of your customer-managed key section lets you provide your key to Redis." width=80% >}}
102124

103-
At this point, Redis Cloud will check to see if it can access your key. If it can't access your key, make sure that you've added the correct permissions to your key, that the key is available in the database's cloud provider region, and that you have correctly entered your key's resource name.
125+
At this point, Redis Cloud will check to see if it can access your key. If it can't access your key, make sure that you've added the correct permissions to your key, that the key is available in the database's cloud provider region, and that you have correctly entered your key's resource name.
104126

105-
<!-- 1. Choose a **Deletion grace period** from the list. If Redis Cloud loses access to your key, Redis will notify you and delete your key after the selected grace period. During the grace period, you must provide a new key to prevent data loss. -->
127+
{{< embed-md "rc-cmek-final-steps.md" >}}
106128

107-
1. After you finish granting access to your key, you can save your changes. For a new subscription, select **Activate** to activate your subscription and start billing.
129+
## Revoke key access
108130

109-
{{<image filename="images/rc/cmek-new-subscription-activate.png" alt="The Activate button." width=500px >}}
131+
When you have set up self-managed encryption, you can revoke Redis's access to your encryption key at any time through your cloud provider.
110132

111-
## Revoke key access
133+
If you selected **Immediate** as the deletion grace period, Redis will immediately delete your database if we lose access to your key. If you selected **Alert only (No deletion, limited SLA)**, Redis will notify you but will not delete your database.
112134

113-
When you have set up self-managed encryption, you can revoke Redis's access to your encryption key at any time through your cloud provider. Redis will delete your plan immediately if we can't access your key.
135+
{{<warning>}}
136+
If you selected **Alert only (No deletion, limited SLA)**, Redis will not be able to make changes to your database if we lose access to your key. This includes database upgrades, failovers to persistent storage, and other operations that require access to your key. Because of this, Redis will not be able to meet its [Service Level Agreement (SLA)](https://redis.io/legal/redis-cloud-service-level-agreement/) if we lose access to your key.
114137

115-
<!-- Redis will delete your plan after the selected grace period if we can't access your key. During the grace period, you must provide a new key to prevent data loss. -->
138+
Provide a new key as soon as possible to avoid service disruption.
139+
{{</warning>}}
116140

117141

118142

101 KB
Loading
Loading

0 commit comments

Comments
 (0)