Skip to content

Commit 138d312

Browse files
IAM now supports outbound identity federation via the STS GetWebIdentityToken API, enabling AWS workloads to securely authenticate with external services using short-lived JSON Web Tokens.
1 parent 541cb71 commit 138d312

24 files changed

+2007
-28
lines changed

generator/ServiceModels/sts/sts-2011-06-15.api.json

Lines changed: 103 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,8 @@
146146
},
147147
"errors":[
148148
{"shape":"ExpiredTradeInTokenException"},
149-
{"shape":"RegionDisabledException"}
149+
{"shape":"RegionDisabledException"},
150+
{"shape":"PackedPolicyTooLargeException"}
150151
]
151152
},
152153
"GetFederationToken":{
@@ -180,6 +181,23 @@
180181
"errors":[
181182
{"shape":"RegionDisabledException"}
182183
]
184+
},
185+
"GetWebIdentityToken":{
186+
"name":"GetWebIdentityToken",
187+
"http":{
188+
"method":"POST",
189+
"requestUri":"/"
190+
},
191+
"input":{"shape":"GetWebIdentityTokenRequest"},
192+
"output":{
193+
"shape":"GetWebIdentityTokenResponse",
194+
"resultWrapper":"GetWebIdentityTokenResult"
195+
},
196+
"errors":[
197+
{"shape":"SessionDurationEscalationException"},
198+
{"shape":"OutboundWebIdentityFederationDisabledException"},
199+
{"shape":"JWTPayloadSizeExceededException"}
200+
]
183201
}
184202
},
185203
"shapes":{
@@ -439,6 +457,26 @@
439457
"Credentials":{"shape":"Credentials"}
440458
}
441459
},
460+
"GetWebIdentityTokenRequest":{
461+
"type":"structure",
462+
"required":[
463+
"Audience",
464+
"SigningAlgorithm"
465+
],
466+
"members":{
467+
"Audience":{"shape":"webIdentityTokenAudienceListType"},
468+
"DurationSeconds":{"shape":"webIdentityTokenDurationSecondsType"},
469+
"SigningAlgorithm":{"shape":"jwtAlgorithmType"},
470+
"Tags":{"shape":"tagListType"}
471+
}
472+
},
473+
"GetWebIdentityTokenResponse":{
474+
"type":"structure",
475+
"members":{
476+
"WebIdentityToken":{"shape":"webIdentityTokenType"},
477+
"Expiration":{"shape":"dateType"}
478+
}
479+
},
442480
"IDPCommunicationErrorException":{
443481
"type":"structure",
444482
"members":{
@@ -488,6 +526,18 @@
488526
"exception":true
489527
},
490528
"Issuer":{"type":"string"},
529+
"JWTPayloadSizeExceededException":{
530+
"type":"structure",
531+
"members":{
532+
"message":{"shape":"jwtPayloadSizeExceededException"}
533+
},
534+
"error":{
535+
"code":"JWTPayloadSizeExceededException",
536+
"httpStatusCode":400,
537+
"senderFault":true
538+
},
539+
"exception":true
540+
},
491541
"MalformedPolicyDocumentException":{
492542
"type":"structure",
493543
"members":{
@@ -501,6 +551,18 @@
501551
"exception":true
502552
},
503553
"NameQualifier":{"type":"string"},
554+
"OutboundWebIdentityFederationDisabledException":{
555+
"type":"structure",
556+
"members":{
557+
"message":{"shape":"outboundWebIdentityFederationDisabledException"}
558+
},
559+
"error":{
560+
"code":"OutboundWebIdentityFederationDisabledException",
561+
"httpStatusCode":403,
562+
"senderFault":true
563+
},
564+
"exception":true
565+
},
504566
"PackedPolicyTooLargeException":{
505567
"type":"structure",
506568
"members":{
@@ -555,6 +617,18 @@
555617
"min":4,
556618
"sensitive":true
557619
},
620+
"SessionDurationEscalationException":{
621+
"type":"structure",
622+
"members":{
623+
"message":{"shape":"sessionDurationEscalationException"}
624+
},
625+
"error":{
626+
"code":"SessionDurationEscalationException",
627+
"httpStatusCode":403,
628+
"senderFault":true
629+
},
630+
"exception":true
631+
},
558632
"Subject":{"type":"string"},
559633
"SubjectType":{"type":"string"},
560634
"Tag":{
@@ -637,11 +711,18 @@
637711
"idpRejectedClaimMessage":{"type":"string"},
638712
"invalidAuthorizationMessage":{"type":"string"},
639713
"invalidIdentityTokenMessage":{"type":"string"},
714+
"jwtAlgorithmType":{
715+
"type":"string",
716+
"max":5,
717+
"min":5
718+
},
719+
"jwtPayloadSizeExceededException":{"type":"string"},
640720
"malformedPolicyDocumentMessage":{"type":"string"},
641721
"nonNegativeIntegerType":{
642722
"type":"integer",
643723
"min":0
644724
},
725+
"outboundWebIdentityFederationDisabledException":{"type":"string"},
645726
"packedPolicyTooLargeMessage":{"type":"string"},
646727
"policyDescriptorListType":{
647728
"type":"list",
@@ -665,6 +746,7 @@
665746
"min":9,
666747
"pattern":"[\\w+=/:,.@-]*"
667748
},
749+
"sessionDurationEscalationException":{"type":"string"},
668750
"sessionPolicyDocumentType":{
669751
"type":"string",
670752
"max":2048,
@@ -731,6 +813,26 @@
731813
"type":"string",
732814
"max":255,
733815
"min":6
816+
},
817+
"webIdentityTokenAudienceListType":{
818+
"type":"list",
819+
"member":{"shape":"webIdentityTokenAudienceStringType"},
820+
"max":10,
821+
"min":1
822+
},
823+
"webIdentityTokenAudienceStringType":{
824+
"type":"string",
825+
"max":1000,
826+
"min":1
827+
},
828+
"webIdentityTokenDurationSecondsType":{
829+
"type":"integer",
830+
"max":3600,
831+
"min":60
832+
},
833+
"webIdentityTokenType":{
834+
"type":"string",
835+
"sensitive":true
734836
}
735837
}
736838
}

generator/ServiceModels/sts/sts-2011-06-15.docs.json

Lines changed: 79 additions & 8 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)