Skip to content

Commit 52471a6

Browse files
author
AWS
committed
Amazon QLDB Update: Support STANDARD permissions mode in CreateLedger and DescribeLedger. Add UpdateLedgerPermissionsMode to update permissions mode on existing ledgers.
1 parent 28e51a6 commit 52471a6

File tree

2 files changed

+69
-2
lines changed

2 files changed

+69
-2
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "Amazon QLDB",
4+
"contributor": "",
5+
"description": "Support STANDARD permissions mode in CreateLedger and DescribeLedger. Add UpdateLedgerPermissionsMode to update permissions mode on existing ledgers."
6+
}

services/qldb/src/main/resources/codegen-resources/service-2.json

Lines changed: 63 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,20 @@
275275
{"shape":"ResourceNotFoundException"}
276276
],
277277
"documentation":"<p>Updates properties on a ledger.</p>"
278+
},
279+
"UpdateLedgerPermissionsMode":{
280+
"name":"UpdateLedgerPermissionsMode",
281+
"http":{
282+
"method":"PATCH",
283+
"requestUri":"/ledgers/{name}/permissions-mode"
284+
},
285+
"input":{"shape":"UpdateLedgerPermissionsModeRequest"},
286+
"output":{"shape":"UpdateLedgerPermissionsModeResponse"},
287+
"errors":[
288+
{"shape":"InvalidParameterException"},
289+
{"shape":"ResourceNotFoundException"}
290+
],
291+
"documentation":"<p>Updates the permissions mode of a ledger.</p>"
278292
}
279293
},
280294
"shapes":{
@@ -331,7 +345,7 @@
331345
},
332346
"PermissionsMode":{
333347
"shape":"PermissionsMode",
334-
"documentation":"<p>The permissions mode to assign to the ledger that you want to create.</p>"
348+
"documentation":"<p>The permissions mode to assign to the ledger that you want to create. This parameter can have one of the following values:</p> <ul> <li> <p> <code>ALLOW_ALL</code>: A legacy permissions mode that enables access control with API-level granularity for ledgers.</p> <p>This mode allows users who have <code>SendCommand</code> permissions for this ledger to run all PartiQL commands (hence, <code>ALLOW_ALL</code>) on any tables in the specified ledger. This mode disregards any table-level or command-level IAM permissions policies that you create for the ledger.</p> </li> <li> <p> <code>STANDARD</code>: (<i>Recommended</i>) A permissions mode that enables access control with finer granularity for ledgers, tables, and PartiQL commands.</p> <p>By default, this mode denies all user requests to run any PartiQL commands on any tables in this ledger. To allow PartiQL commands to run, you must create IAM permissions policies for specific table resources and PartiQL actions, in addition to <code>SendCommand</code> API permissions for the ledger.</p> </li> </ul> <note> <p>We strongly recommend using the <code>STANDARD</code> permissions mode to maximize the security of your ledger data.</p> </note>"
335349
},
336350
"DeletionProtection":{
337351
"shape":"DeletionProtection",
@@ -358,6 +372,10 @@
358372
"shape":"Timestamp",
359373
"documentation":"<p>The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)</p>"
360374
},
375+
"PermissionsMode":{
376+
"shape":"PermissionsMode",
377+
"documentation":"<p>The permissions mode of the ledger that you created.</p>"
378+
},
361379
"DeletionProtection":{
362380
"shape":"DeletionProtection",
363381
"documentation":"<p>The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (<code>true</code>) by default.</p> <p>If deletion protection is enabled, you must first disable it before you can delete the ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the <code>UpdateLedger</code> operation to set the flag to <code>false</code>. The QLDB console disables deletion protection for you when you use it to delete a ledger.</p>"
@@ -469,6 +487,10 @@
469487
"shape":"Timestamp",
470488
"documentation":"<p>The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)</p>"
471489
},
490+
"PermissionsMode":{
491+
"shape":"PermissionsMode",
492+
"documentation":"<p>The permissions mode of the ledger.</p>"
493+
},
472494
"DeletionProtection":{
473495
"shape":"DeletionProtection",
474496
"documentation":"<p>The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (<code>true</code>) by default.</p> <p>If deletion protection is enabled, you must first disable it before you can delete the ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the <code>UpdateLedger</code> operation to set the flag to <code>false</code>. The QLDB console disables deletion protection for you when you use it to delete a ledger.</p>"
@@ -1012,7 +1034,10 @@
10121034
"ParameterName":{"type":"string"},
10131035
"PermissionsMode":{
10141036
"type":"string",
1015-
"enum":["ALLOW_ALL"]
1037+
"enum":[
1038+
"ALLOW_ALL",
1039+
"STANDARD"
1040+
]
10161041
},
10171042
"ResourceAlreadyExistsException":{
10181043
"type":"structure",
@@ -1288,6 +1313,42 @@
12881313
"members":{
12891314
}
12901315
},
1316+
"UpdateLedgerPermissionsModeRequest":{
1317+
"type":"structure",
1318+
"required":[
1319+
"Name",
1320+
"PermissionsMode"
1321+
],
1322+
"members":{
1323+
"Name":{
1324+
"shape":"LedgerName",
1325+
"documentation":"<p>The name of the ledger.</p>",
1326+
"location":"uri",
1327+
"locationName":"name"
1328+
},
1329+
"PermissionsMode":{
1330+
"shape":"PermissionsMode",
1331+
"documentation":"<p>The permissions mode to assign to the ledger. This parameter can have one of the following values:</p> <ul> <li> <p> <code>ALLOW_ALL</code>: A legacy permissions mode that enables access control with API-level granularity for ledgers.</p> <p>This mode allows users who have <code>SendCommand</code> permissions for this ledger to run all PartiQL commands (hence, <code>ALLOW_ALL</code>) on any tables in the specified ledger. This mode disregards any table-level or command-level IAM permissions policies that you create for the ledger.</p> </li> <li> <p> <code>STANDARD</code>: (<i>Recommended</i>) A permissions mode that enables access control with finer granularity for ledgers, tables, and PartiQL commands.</p> <p>By default, this mode denies all user requests to run any PartiQL commands on any tables in this ledger. To allow PartiQL commands to run, you must create IAM permissions policies for specific table resources and PartiQL actions, in addition to <code>SendCommand</code> API permissions for the ledger.</p> </li> </ul> <note> <p>We strongly recommend using the <code>STANDARD</code> permissions mode to maximize the security of your ledger data.</p> </note>"
1332+
}
1333+
}
1334+
},
1335+
"UpdateLedgerPermissionsModeResponse":{
1336+
"type":"structure",
1337+
"members":{
1338+
"Name":{
1339+
"shape":"LedgerName",
1340+
"documentation":"<p>The name of the ledger.</p>"
1341+
},
1342+
"Arn":{
1343+
"shape":"Arn",
1344+
"documentation":"<p>The Amazon Resource Name (ARN) for the ledger.</p>"
1345+
},
1346+
"PermissionsMode":{
1347+
"shape":"PermissionsMode",
1348+
"documentation":"<p>The current permissions mode of the ledger.</p>"
1349+
}
1350+
}
1351+
},
12911352
"UpdateLedgerRequest":{
12921353
"type":"structure",
12931354
"required":["Name"],

0 commit comments

Comments
 (0)