Skip to content

Commit ac838b3

Browse files
committed
Spec: Key Store Admin
1 parent c1cf829 commit ac838b3

File tree

1 file changed

+11
-25
lines changed

1 file changed

+11
-25
lines changed

changes/2024-TBD_key-store-admin/proposed.smithy

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ structure KeyStoreAdminConfig {
5555
@documentation("The storage configuration for this Key Store.")
5656
storage: aws.cryptography.keyStore#Storage
5757
}
58+
5859
// KMS Arn validation MUST occur in Dafny
5960
union KMSIdentifier {
6061
@documentation(
@@ -110,48 +111,38 @@ union KeyManagementStrategy {
110111
AwsKmsDecryptEncrypt: AwsKmsDecryptEncrypt
111112
}
112113

113-
114-
// CreateKey will create two keys to add to the key store
115-
// One is the branch key, which is used in the hierarchical keyring
116-
// The second is a beacon key that is used as a root key to
117-
// derive different beacon keys per beacon.
118-
@documentation("Create a new Branch Key in the Key Store. Additionally create a Beacon Key that is tied to this Branch Key.")
114+
@documentation(
115+
"Create a new Branch Key in the Key Store.
116+
Additionally create a Beacon Key that is tied to this Branch Key.")
119117
operation CreateKey {
120118
input: CreateKeyInput,
121119
output: CreateKeyOutput
122120
}
123121

124-
//= aws-encryption-sdk-specification/framework/branch-key-store.md#createkey
125-
//= type=implication
126-
//# The CreateKey caller MUST provide:
127-
//# - An optional branch key id
128-
//# - An optional encryption context
129122
structure CreateKeyInput {
130123
@documentation("The identifier for the created Branch Key.")
131124
branchKeyIdentifier: String,
132125

133-
@documentation("Custom encryption context for the Branch Key. Required if branchKeyIdentifier is set.")
126+
@documentation(
127+
"Custom encryption context for the Branch Key.
128+
Required if branchKeyIdentifier is set.")
134129
encryptionContext: aws.cryptography.keyStore#EncryptionContext
135130

136131
@required
137-
@documentation("Multi-Region or Single Region AWS KMS Key used to protect the Branch Key, but not aliases!")
132+
@documentation(
133+
"Multi-Region or Single Region AWS KMS Key
134+
used to protect the Branch Key, but not aliases!")
138135
kmsArn: KMSIdentifier
139136

140137
strategy: KeyManagementStrategy
141138
}
142139

143-
@documentation("Outputs for Branch Key creation.")
144140
structure CreateKeyOutput {
145141
@required
146142
@documentation("A identifier for the created Branch Key.")
147143
branchKeyIdentifier: String
148144
}
149145

150-
151-
// VersionKey will create a new branch key under the
152-
// provided branchKeyIdentifier and rotate the "older" material
153-
// on the key store under the branchKeyIdentifier. This operation MUST NOT
154-
// rotate the beacon key under the branchKeyIdentifier.
155146
@documentation(
156147
"Create a new ACTIVE version of an existing Branch Key,
157148
along with a complementing Version (DECRYT_ONLY) in the Key Store.
@@ -166,21 +157,16 @@ operation VersionKey {
166157

167158
@documentation("Inputs for versioning a Branch Key.")
168159
structure VersionKeyInput {
169-
170-
//= aws-encryption-sdk-specification/framework/branch-key-store.md#versionkey
171-
//= type=implication
172-
//# - MUST supply a `branch-key-id`
173160
@required
174161
@documentation("The identifier for the Branch Key to be versioned.")
175162
branchKeyIdentifier: String
176163

177164
@required
178165
@documentation("Multi-Region or Single Region AWS KMS Key used to protect the Branch Key, but not aliases!")
179-
kmsArn: KMSIdentifier // KMS Arn validation MUST occur in Dafny
166+
kmsArn: KMSIdentifier
180167

181168
strategy: KeyManagementStrategy
182169
}
183170

184-
@documentation("Outputs for versioning a Branch Key.")
185171
structure VersionKeyOutput {
186172
}

0 commit comments

Comments
 (0)