Skip to content

Commit 2a410e8

Browse files
authored
azure cmek july after Jessica's feedback (#392)
1 parent a35ef7b commit 2a410e8

File tree

1 file changed

+55
-8
lines changed

1 file changed

+55
-8
lines changed

modules/ROOT/pages/platform/security/encryption.adoc

Lines changed: 55 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ The loss of a Customer Managed Key, through deletion, disabling, or expiration,
3434
Neo4j cannot administer database instances when keys are disabled, deleted, or permissions revoked.
3535
====
3636

37-
=== Deleting a key
37+
=== Delete a key
3838

3939
If a Customer Managed Key is being used to encrypt one or more Aura instances in the console, it can't be deleted.
4040
If you need to delete the key, first delete the Aura database instances encrypted with the key, then delete the key.
@@ -46,19 +46,19 @@ In your KMS platform, you can either configure automatic rotation for the Custom
4646
Although automatic rotation is not enforced by Aura, it is best practice to rotate keys regularly.
4747
Manual key rotation is **not** recommended.
4848

49-
=== Regionality
49+
=== Regions
5050

5151
There is a limit of one key for AuraDB and one key for AuraDS per region.
5252
Depending on the KMS, there may be a delay between disabling a key, and when it can no longer be used to encrypt and decrypt data.
5353

54-
=== Importing an existing database
54+
=== Import an existing database
5555

5656
You can upload a database to instances encrypted with Customer Managed Keys in Neo4j 5 directly from the console or by using `neo4j-admin database upload`.
5757
If the database is larger than 4 GB, you have to use `neo4j-admin database upload`.
5858
Note that the `neo4j-admin push-to-cloud` command in Neo4j v4.4 and earlier is **not** supported for instances encrypted with Customer Managed Keys.
5959
For more information see the xref:auradb/importing/import-database.adoc#_neo4j_admin_database_upload[Neo4j Admin `database upload`] documentation.
6060

61-
=== Cloning an instance protected by CMK
61+
=== Clone an instance protected by CMK
6262

6363
To clone an instance protected by a Customer Managed Key, the key must be valid and available to Aura.
6464
The cloned instance, by default, uses the available Customer Managed Key for that region and product.
@@ -68,15 +68,15 @@ If there is no valid CMK for the destination region and product, the Neo4j Manag
6868

6969
== AWS keys
7070

71-
=== Creating an AWS key
71+
=== Create an AWS key
7272

7373
. Create a key in the AWS KMS ensuring the region matches your Aura database instance.
7474
Copy the generated ARN.
7575
You need it in the next step.
7676
. Go to *security settings* in the Aura Console, create a *Customer Managed Key* and copy the JSON code that is generated in the Aura Console when you add a key.
7777
. In the AWS KMS, edit the key policy to include the JSON code.
7878

79-
=== Editing the AWS key policy
79+
=== Edit the AWS key policy
8080

8181
After you have initially created a key in the AWS KMS, you can edit the key policy.
8282
In the AWS key policy, "Statement" is an array that consists of one or more objects.
@@ -85,7 +85,7 @@ The objects in the AWS code array are comma-separated, e.g. `{[{'a'}, {'b'}, {'c
8585

8686
Add a comma after the curly brace in the final SID, and then paste the JSON code that was generated in the Aura Console, e.g. `{[{'a'}, {'b'}, {'c'}, _add code here_ ]}`
8787

88-
=== AWS regionality
88+
=== AWS regions
8989

9090
When creating a Customer Managed Key in the AWS KMS, you can create a single-region key in a single AWS region, or create a multi-region key that you can replicate into multiple AWS regions.
9191
Aura only supports AWS Customer Managed Keys that reside in the same region as the instance.
@@ -98,4 +98,51 @@ In Aura, you can use AWS single-region keys, multi-region keys or replica keys a
9898
=== AWS automatic key rotation
9999

100100
Aura supports automatic key rotation via the AWS KMS.
101-
To enable automatic key rotation in the AWS KMS, tick the *Key rotation* checkbox after initially creating a key, to automatically rotate the key once a year.
101+
To enable automatic key rotation in the AWS KMS, tick the *Key rotation* checkbox after initially creating a key, to automatically rotate the key once a year.
102+
103+
== Azure keys
104+
105+
=== Create an Azure key vault
106+
107+
Create a Key Vault in the Azure portal ensuring the region matches your Aura database instance region.
108+
Move through the tabs to enable to following:
109+
110+
* Purge protection
111+
* Azure role-based access control
112+
* Azure Disk Encryption for volume encryption
113+
* Allow access from all networks
114+
115+
=== Create a key
116+
117+
. When preparing to create a key, if needed grant a role assigment:
118+
.. Inside the key vault, go to *Access Control (IAM)* and *add role assignment*.
119+
.. In the *Role* tab, select *Key Vault Administrator*.
120+
.. In the *Member* tab, select *User, group, or service principal*.
121+
.. *Select members* and select yourself or the relevant person, then *Review + Assign*.
122+
123+
. Create a key in the Azure Key Vault.
124+
. After the key is created, click into key version and copy the *Key Identifier*, you need it in the next step.
125+
. Go to *security settings* in the Aura Console and add a *Customer Managed Key*.
126+
. Follow the instructions in the Aura Console for the next sections.
127+
128+
=== Create a service principal
129+
130+
In the Azure Entra ID tenant where your key is located, create a service principal linked to the Neo4j CMK Application with the *Neo4j CMK Application ID* displayed in the Aura Console.
131+
132+
One way to do this is by clicking the terminal icon at the top of the Azure portal, to open the Azure Cloud Shell.
133+
134+
Using Azure CLI, the command is:
135+
136+
[source,bash]
137+
----
138+
az ad sp create --id Neo4jCMKApplicationID
139+
----
140+
For more information about the Azure CLI, see link:https://learn.microsoft.com/en-us/cli/azure/ad/sp?view=azure-cli-latest#az-ad-sp-create[az ad sp documentation].
141+
142+
=== Grant key permissions
143+
144+
. To add role assignment to the Azure key, inside the key, go to *Access control (IAM)* and add *role assignment*.
145+
. In the *Role* tab, select *Key Vault Crypto Officer*.
146+
. In the *Member* tab, select *User, group, or service principal*.
147+
. *Select members* and paste the *Neo4j CMK Application name* that is displayed in the Aura Console.
148+
. The *Neo4j CMK Application* should appear, select this application then *Review + Assign*.

0 commit comments

Comments
 (0)