-
Notifications
You must be signed in to change notification settings - Fork 243
Expand file tree
/
Copy pathnamedKMS-createDataKey.yml
More file actions
176 lines (167 loc) · 5.96 KB
/
Copy pathnamedKMS-createDataKey.yml
File metadata and controls
176 lines (167 loc) · 5.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
description: namedKMS-createDataKey
schemaVersion: "1.18"
runOnRequirements:
- csfle: true
createEntities:
- client:
id: &client0 client0
observeEvents:
- commandStartedEvent
- clientEncryption:
id: &clientEncryption0 clientEncryption0
clientEncryptionOpts:
keyVaultClient: *client0
keyVaultNamespace: keyvault.datakeys
kmsProviders:
"aws:name1": { accessKeyId: { $$placeholder: 1 }, secretAccessKey: { $$placeholder: 1 } }
"azure:name1":
{ tenantId: { $$placeholder: 1 }, clientId: { $$placeholder: 1 }, clientSecret: { $$placeholder: 1 } }
"gcp:name1": { email: { $$placeholder: 1 }, privateKey: { $$placeholder: 1 } }
"kmip:name1": { endpoint: { $$placeholder: 1 } }
"local:name1": { key: { $$placeholder: 1 } }
- database:
id: &database0 database0
client: *client0
databaseName: &database0Name keyvault
- collection:
id: &collection0 collection0
database: *database0
collectionName: &collection0Name datakeys
initialData:
- databaseName: *database0Name
collectionName: *collection0Name
documents: []
tests:
- description: create data key with named AWS KMS provider
operations:
- name: createDataKey
object: *clientEncryption0
arguments:
kmsProvider: "aws:name1"
opts:
masterKey: &new_aws_masterkey
key: "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0"
region: us-east-1
expectResult: { $$type: binData }
expectEvents:
- client: *client0
events:
- commandStartedEvent:
databaseName: *database0Name
command:
insert: *collection0Name
documents:
- _id: { $$type: binData }
keyMaterial: { $$type: binData }
creationDate: { $$type: date }
updateDate: { $$type: date }
status: { $$exists: true }
masterKey:
provider: "aws:name1"
<<: *new_aws_masterkey
writeConcern: { w: majority }
- description: create datakey with named Azure KMS provider
operations:
- name: createDataKey
object: *clientEncryption0
arguments:
kmsProvider: "azure:name1"
opts:
masterKey: &new_azure_masterkey
keyVaultEndpoint: drivers-3392-key-vault.vault.azure.net
keyName: drivers-3392-keyname
expectResult: { $$type: binData }
expectEvents:
- client: *client0
events:
- commandStartedEvent:
databaseName: *database0Name
command:
insert: *collection0Name
documents:
- _id: { $$type: binData }
keyMaterial: { $$type: binData }
creationDate: { $$type: date }
updateDate: { $$type: date }
status: { $$exists: true }
masterKey:
provider: "azure:name1"
<<: *new_azure_masterkey
writeConcern: { w: majority }
- description: create datakey with named GCP KMS provider
operations:
- name: createDataKey
object: *clientEncryption0
arguments:
kmsProvider: "gcp:name1"
opts:
masterKey: &new_gcp_masterkey
projectId: devprod-drivers
location: global
keyRing: key-ring-csfle
keyName: key-name-csfle
expectResult: { $$type: binData }
expectEvents:
- client: *client0
events:
- commandStartedEvent:
databaseName: *database0Name
command:
insert: *collection0Name
documents:
- _id: { $$type: binData }
keyMaterial: { $$type: binData }
creationDate: { $$type: date }
updateDate: { $$type: date }
status: { $$exists: true }
masterKey:
provider: "gcp:name1"
<<: *new_gcp_masterkey
writeConcern: { w: majority }
- description: create datakey with named KMIP KMS provider
operations:
- name: createDataKey
object: *clientEncryption0
arguments:
kmsProvider: "kmip:name1"
expectResult: { $$type: binData }
expectEvents:
- client: *client0
events:
- commandStartedEvent:
databaseName: *database0Name
command:
insert: *collection0Name
documents:
- _id: { $$type: binData }
keyMaterial: { $$type: binData }
creationDate: { $$type: date }
updateDate: { $$type: date }
status: { $$exists: true }
masterKey:
provider: "kmip:name1"
keyId: { $$type: string }
writeConcern: { w: majority }
- description: create datakey with named local KMS provider
operations:
- name: createDataKey
object: *clientEncryption0
arguments:
kmsProvider: "local:name1"
expectResult: { $$type: binData }
expectEvents:
- client: *client0
events:
- commandStartedEvent:
databaseName: *database0Name
command:
insert: *collection0Name
documents:
- _id: { $$type: binData }
keyMaterial: { $$type: binData }
creationDate: { $$type: date }
updateDate: { $$type: date }
status: { $$exists: true }
masterKey:
provider: "local:name1"
writeConcern: { w: majority }