You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/ROOT/pages/platform/security/encryption.adoc
+55-8Lines changed: 55 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ The loss of a Customer Managed Key, through deletion, disabling, or expiration,
34
34
Neo4j cannot administer database instances when keys are disabled, deleted, or permissions revoked.
35
35
====
36
36
37
-
=== Deleting a key
37
+
=== Delete a key
38
38
39
39
If a Customer Managed Key is being used to encrypt one or more Aura instances in the console, it can't be deleted.
40
40
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
46
46
Although automatic rotation is not enforced by Aura, it is best practice to rotate keys regularly.
47
47
Manual key rotation is **not** recommended.
48
48
49
-
=== Regionality
49
+
=== Regions
50
50
51
51
There is a limit of one key for AuraDB and one key for AuraDS per region.
52
52
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.
53
53
54
-
=== Importing an existing database
54
+
=== Import an existing database
55
55
56
56
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`.
57
57
If the database is larger than 4 GB, you have to use `neo4j-admin database upload`.
58
58
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.
59
59
For more information see the xref:auradb/importing/import-database.adoc#_neo4j_admin_database_upload[Neo4j Admin `database upload`] documentation.
60
60
61
-
=== Cloning an instance protected by CMK
61
+
=== Clone an instance protected by CMK
62
62
63
63
To clone an instance protected by a Customer Managed Key, the key must be valid and available to Aura.
64
64
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
68
68
69
69
== AWS keys
70
70
71
-
=== Creating an AWS key
71
+
=== Create an AWS key
72
72
73
73
. Create a key in the AWS KMS ensuring the region matches your Aura database instance.
74
74
Copy the generated ARN.
75
75
You need it in the next step.
76
76
. 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.
77
77
. In the AWS KMS, edit the key policy to include the JSON code.
78
78
79
-
=== Editing the AWS key policy
79
+
=== Edit the AWS key policy
80
80
81
81
After you have initially created a key in the AWS KMS, you can edit the key policy.
82
82
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
85
85
86
86
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_ ]}`
87
87
88
-
=== AWS regionality
88
+
=== AWS regions
89
89
90
90
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.
91
91
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
98
98
=== AWS automatic key rotation
99
99
100
100
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