Skip to content

Commit 6bf296a

Browse files
author
AWS
committed
IAM Roles Anywhere Update: This release introduces the PutAttributeMapping and DeleteAttributeMapping APIs. IAM Roles Anywhere now provides the capability to define a set of mapping rules, allowing customers to specify which data is extracted from their X.509 end-entity certificates.
1 parent a29b10c commit 6bf296a

File tree

2 files changed

+165
-0
lines changed

2 files changed

+165
-0
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": "IAM Roles Anywhere",
4+
"contributor": "",
5+
"description": "This release introduces the PutAttributeMapping and DeleteAttributeMapping APIs. IAM Roles Anywhere now provides the capability to define a set of mapping rules, allowing customers to specify which data is extracted from their X.509 end-entity certificates."
6+
}

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

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,23 @@
4242
],
4343
"documentation":"<p>Creates a trust anchor to establish trust between IAM Roles Anywhere and your certificate authority (CA). You can define a trust anchor as a reference to an Private Certificate Authority (Private CA) or by uploading a CA certificate. Your Amazon Web Services workloads can authenticate with the trust anchor using certificates issued by the CA in exchange for temporary Amazon Web Services credentials.</p> <p> <b>Required permissions: </b> <code>rolesanywhere:CreateTrustAnchor</code>. </p>"
4444
},
45+
"DeleteAttributeMapping":{
46+
"name":"DeleteAttributeMapping",
47+
"http":{
48+
"method":"DELETE",
49+
"requestUri":"/profiles/{profileId}/mappings",
50+
"responseCode":200
51+
},
52+
"input":{"shape":"DeleteAttributeMappingRequest"},
53+
"output":{"shape":"DeleteAttributeMappingResponse"},
54+
"errors":[
55+
{"shape":"ValidationException"},
56+
{"shape":"ResourceNotFoundException"},
57+
{"shape":"AccessDeniedException"}
58+
],
59+
"documentation":"<p>Delete an entry from the attribute mapping rules enforced by a given profile.</p>",
60+
"idempotent":true
61+
},
4562
"DeleteCrl":{
4663
"name":"DeleteCrl",
4764
"http":{
@@ -331,6 +348,23 @@
331348
],
332349
"documentation":"<p>Lists the trust anchors in the authenticated account and Amazon Web Services Region.</p> <p> <b>Required permissions: </b> <code>rolesanywhere:ListTrustAnchors</code>. </p>"
333350
},
351+
"PutAttributeMapping":{
352+
"name":"PutAttributeMapping",
353+
"http":{
354+
"method":"PUT",
355+
"requestUri":"/profiles/{profileId}/mappings",
356+
"responseCode":200
357+
},
358+
"input":{"shape":"PutAttributeMappingRequest"},
359+
"output":{"shape":"PutAttributeMappingResponse"},
360+
"errors":[
361+
{"shape":"ValidationException"},
362+
{"shape":"ResourceNotFoundException"},
363+
{"shape":"AccessDeniedException"}
364+
],
365+
"documentation":"<p>Put an entry in the attribute mapping rules that will be enforced by a given profile. A mapping specifies a certificate field and one or more specifiers that have contextual meanings.</p>",
366+
"idempotent":true
367+
},
334368
"PutNotificationSettings":{
335369
"name":"PutNotificationSettings",
336370
"http":{
@@ -465,11 +499,37 @@
465499
"max":1011,
466500
"min":1
467501
},
502+
"AttributeMapping":{
503+
"type":"structure",
504+
"members":{
505+
"certificateField":{
506+
"shape":"CertificateField",
507+
"documentation":"<p>Fields (x509Subject, x509Issuer and x509SAN) within X.509 certificates.</p>"
508+
},
509+
"mappingRules":{
510+
"shape":"MappingRules",
511+
"documentation":"<p>A list of mapping entries for every supported specifier or sub-field.</p>"
512+
}
513+
},
514+
"documentation":"<p>A mapping applied to the authenticating end-entity certificate.</p>"
515+
},
516+
"AttributeMappings":{
517+
"type":"list",
518+
"member":{"shape":"AttributeMapping"}
519+
},
468520
"Blob":{"type":"blob"},
469521
"Boolean":{
470522
"type":"boolean",
471523
"box":true
472524
},
525+
"CertificateField":{
526+
"type":"string",
527+
"enum":[
528+
"x509Subject",
529+
"x509Issuer",
530+
"x509SAN"
531+
]
532+
},
473533
"CreateProfileRequest":{
474534
"type":"structure",
475535
"required":[
@@ -632,6 +692,43 @@
632692
"type":"list",
633693
"member":{"shape":"CrlDetail"}
634694
},
695+
"DeleteAttributeMappingRequest":{
696+
"type":"structure",
697+
"required":[
698+
"certificateField",
699+
"profileId"
700+
],
701+
"members":{
702+
"certificateField":{
703+
"shape":"CertificateField",
704+
"documentation":"<p>Fields (x509Subject, x509Issuer and x509SAN) within X.509 certificates.</p>",
705+
"location":"querystring",
706+
"locationName":"certificateField"
707+
},
708+
"profileId":{
709+
"shape":"Uuid",
710+
"documentation":"<p>The unique identifier of the profile.</p>",
711+
"location":"uri",
712+
"locationName":"profileId"
713+
},
714+
"specifiers":{
715+
"shape":"SpecifierList",
716+
"documentation":"<p>A list of specifiers of a certificate field; for example, CN, OU, UID from a Subject.</p>",
717+
"location":"querystring",
718+
"locationName":"specifiers"
719+
}
720+
}
721+
},
722+
"DeleteAttributeMappingResponse":{
723+
"type":"structure",
724+
"required":["profile"],
725+
"members":{
726+
"profile":{
727+
"shape":"ProfileDetail",
728+
"documentation":"<p>The state of the profile after a read or write operation.</p>"
729+
}
730+
}
731+
},
635732
"ImportCrlRequest":{
636733
"type":"structure",
637734
"required":[
@@ -816,6 +913,26 @@
816913
"max":200,
817914
"min":1
818915
},
916+
"MappingRule":{
917+
"type":"structure",
918+
"required":["specifier"],
919+
"members":{
920+
"specifier":{
921+
"shape":"MappingRuleSpecifierString",
922+
"documentation":"<p>Specifier within a certificate field, such as CN, OU, or UID from the Subject field.</p>"
923+
}
924+
},
925+
"documentation":"<p>A single mapping entry for each supported specifier or sub-field.</p>"
926+
},
927+
"MappingRuleSpecifierString":{
928+
"type":"string",
929+
"max":60,
930+
"min":0
931+
},
932+
"MappingRules":{
933+
"type":"list",
934+
"member":{"shape":"MappingRule"}
935+
},
819936
"NotificationChannel":{
820937
"type":"string",
821938
"enum":["ALL"]
@@ -942,6 +1059,10 @@
9421059
"ProfileDetail":{
9431060
"type":"structure",
9441061
"members":{
1062+
"attributeMappings":{
1063+
"shape":"AttributeMappings",
1064+
"documentation":"<p>A mapping applied to the authenticating end-entity certificate.</p>"
1065+
},
9451066
"createdAt":{
9461067
"shape":"SyntheticTimestamp_date_time",
9471068
"documentation":"<p>The ISO-8601 timestamp when the profile was created. </p>"
@@ -1006,6 +1127,40 @@
10061127
"type":"list",
10071128
"member":{"shape":"ProfileDetail"}
10081129
},
1130+
"PutAttributeMappingRequest":{
1131+
"type":"structure",
1132+
"required":[
1133+
"certificateField",
1134+
"mappingRules",
1135+
"profileId"
1136+
],
1137+
"members":{
1138+
"certificateField":{
1139+
"shape":"CertificateField",
1140+
"documentation":"<p>Fields (x509Subject, x509Issuer and x509SAN) within X.509 certificates.</p>"
1141+
},
1142+
"mappingRules":{
1143+
"shape":"MappingRules",
1144+
"documentation":"<p>A list of mapping entries for every supported specifier or sub-field.</p>"
1145+
},
1146+
"profileId":{
1147+
"shape":"Uuid",
1148+
"documentation":"<p>The unique identifier of the profile.</p>",
1149+
"location":"uri",
1150+
"locationName":"profileId"
1151+
}
1152+
}
1153+
},
1154+
"PutAttributeMappingResponse":{
1155+
"type":"structure",
1156+
"required":["profile"],
1157+
"members":{
1158+
"profile":{
1159+
"shape":"ProfileDetail",
1160+
"documentation":"<p>The state of the profile after a read or write operation.</p>"
1161+
}
1162+
}
1163+
},
10091164
"PutNotificationSettingsRequest":{
10101165
"type":"structure",
10111166
"required":[
@@ -1166,6 +1321,10 @@
11661321
"max":8000,
11671322
"min":1
11681323
},
1324+
"SpecifierList":{
1325+
"type":"list",
1326+
"member":{"shape":"String"}
1327+
},
11691328
"String":{"type":"string"},
11701329
"SubjectDetail":{
11711330
"type":"structure",

0 commit comments

Comments
 (0)