Skip to content

Commit 54c0fb4

Browse files
author
AWS
committed
AWS Identity and Access Management Update: This release adds support for accepting encrypted SAML assertions. Customers can now configure their identity provider to encrypt the SAML assertions it sends to IAM.
1 parent 1d95a00 commit 54c0fb4

File tree

2 files changed

+78
-11
lines changed

2 files changed

+78
-11
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": "AWS Identity and Access Management",
4+
"contributor": "",
5+
"description": "This release adds support for accepting encrypted SAML assertions. Customers can now configure their identity provider to encrypt the SAML assertions it sends to IAM."
6+
}

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

Lines changed: 72 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
{"shape":"UnmodifiableEntityException"},
4545
{"shape":"ServiceFailureException"}
4646
],
47-
"documentation":"<p>Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this quota cannot be increased. You can remove the existing role and then add a different role to an instance profile. You must then wait for the change to appear across all of Amazon Web Services because of <a href=\"https://en.wikipedia.org/wiki/Eventual_consistency\">eventual consistency</a>. To force the change, you must <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html\">disassociate the instance profile</a> and then <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html\">associate the instance profile</a>, or you can stop your instance and then restart it.</p> <note> <p>The caller of this operation must be granted the <code>PassRole</code> permission on the IAM role by a permissions policy.</p> </note> <p> For more information about roles, see <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html\">IAM roles</a> in the <i>IAM User Guide</i>. For more information about instance profiles, see <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html\">Using instance profiles</a> in the <i>IAM User Guide</i>.</p>"
47+
"documentation":"<p>Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this quota cannot be increased. You can remove the existing role and then add a different role to an instance profile. You must then wait for the change to appear across all of Amazon Web Services because of <a href=\"https://en.wikipedia.org/wiki/Eventual_consistency\">eventual consistency</a>. To force the change, you must <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html\">disassociate the instance profile</a> and then <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html\">associate the instance profile</a>, or you can stop your instance and then restart it.</p> <note> <p>The caller of this operation must be granted the <code>PassRole</code> permission on the IAM role by a permissions policy.</p> </note> <important> <p>When using the <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#available-keys-for-iam\">iam:AssociatedResourceArn</a> condition in a policy to restrict the <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html\">PassRole</a> IAM action, special considerations apply if the policy is intended to define access for the <code>AddRoleToInstanceProfile</code> action. In this case, you cannot specify a Region or instance ID in the EC2 instance ARN. The ARN value must be <code>arn:aws:ec2:*:CallerAccountId:instance/*</code>. Using any other ARN value may lead to unexpected evaluation results.</p> </important> <p> For more information about roles, see <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html\">IAM roles</a> in the <i>IAM User Guide</i>. For more information about instance profiles, see <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html\">Using instance profiles</a> in the <i>IAM User Guide</i>.</p>"
4848
},
4949
"AddUserToGroup":{
5050
"name":"AddUserToGroup",
@@ -817,7 +817,7 @@
817817
{"shape":"OrganizationNotFoundException"},
818818
{"shape":"OrganizationNotInAllFeaturesModeException"}
819819
],
820-
"documentation":"<p>Disables the management of privileged root user credentials across member accounts in your organization. When you disable this feature, the management account and the delegated admininstrator for IAM can no longer manage root user credentials for member accounts in your organization.</p>"
820+
"documentation":"<p>Disables the management of privileged root user credentials across member accounts in your organization. When you disable this feature, the management account and the delegated administrator for IAM can no longer manage root user credentials for member accounts in your organization.</p>"
821821
},
822822
"DisableOrganizationsRootSessions":{
823823
"name":"DisableOrganizationsRootSessions",
@@ -836,7 +836,7 @@
836836
{"shape":"OrganizationNotFoundException"},
837837
{"shape":"OrganizationNotInAllFeaturesModeException"}
838838
],
839-
"documentation":"<p>Disables root user sessions for privileged tasks across member accounts in your organization. When you disable this feature, the management account and the delegated admininstrator for IAM can no longer perform privileged tasks on member accounts in your organization.</p>"
839+
"documentation":"<p>Disables root user sessions for privileged tasks across member accounts in your organization. When you disable this feature, the management account and the delegated administrator for IAM can no longer perform privileged tasks on member accounts in your organization.</p>"
840840
},
841841
"EnableMFADevice":{
842842
"name":"EnableMFADevice",
@@ -874,7 +874,7 @@
874874
{"shape":"OrganizationNotInAllFeaturesModeException"},
875875
{"shape":"CallerIsNotManagementAccountException"}
876876
],
877-
"documentation":"<p>Enables the management of privileged root user credentials across member accounts in your organization. When you enable root credentials management for <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#id_root-user-access-management\">centralized root access</a>, the management account and the delegated admininstrator for IAM can manage root user credentials for member accounts in your organization.</p> <p>Before you enable centralized root access, you must have an account configured with the following settings:</p> <ul> <li> <p>You must manage your Amazon Web Services accounts in <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html\">Organizations</a>.</p> </li> <li> <p>Enable trusted access for Identity and Access Management in Organizations. For details, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-ra.html\">IAM and Organizations</a> in the <i>Organizations User Guide</i>.</p> </li> </ul>"
877+
"documentation":"<p>Enables the management of privileged root user credentials across member accounts in your organization. When you enable root credentials management for <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#id_root-user-access-management\">centralized root access</a>, the management account and the delegated administrator for IAM can manage root user credentials for member accounts in your organization.</p> <p>Before you enable centralized root access, you must have an account configured with the following settings:</p> <ul> <li> <p>You must manage your Amazon Web Services accounts in <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html\">Organizations</a>.</p> </li> <li> <p>Enable trusted access for Identity and Access Management in Organizations. For details, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-iam.html\">IAM and Organizations</a> in the <i>Organizations User Guide</i>.</p> </li> </ul>"
878878
},
879879
"EnableOrganizationsRootSessions":{
880880
"name":"EnableOrganizationsRootSessions",
@@ -1414,7 +1414,7 @@
14141414
"errors":[
14151415
{"shape":"ServiceFailureException"}
14161416
],
1417-
"documentation":"<p>Lists the account alias associated with the Amazon Web Services account (Note: you can have only one). For information about using an Amazon Web Services account alias, see <a href=\"https://docs.aws.amazon.com/signin/latest/userguide/CreateAccountAlias.html\">Creating, deleting, and listing an Amazon Web Services account alias</a> in the <i>Amazon Web Services Sign-In User Guide</i>.</p>"
1417+
"documentation":"<p>Lists the account alias associated with the Amazon Web Services account (Note: you can have only one). For information about using an Amazon Web Services account alias, see <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#CreateAccountAlias\">Creating, deleting, and listing an Amazon Web Services account alias</a> in the <i>IAM User Guide</i>.</p>"
14181418
},
14191419
"ListAttachedGroupPolicies":{
14201420
"name":"ListAttachedGroupPolicies",
@@ -2578,7 +2578,7 @@
25782578
{"shape":"LimitExceededException"},
25792579
{"shape":"ServiceFailureException"}
25802580
],
2581-
"documentation":"<p>Updates the metadata document for an existing SAML provider resource object.</p> <note> <p>This operation requires <a href=\"https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html\">Signature Version 4</a>.</p> </note>"
2581+
"documentation":"<p>Updates the metadata document, SAML encryption settings, and private keys for an existing SAML provider. To rotate private keys, add your new private key and then remove the old key in a separate request.</p>"
25822582
},
25832583
"UpdateSSHPublicKey":{
25842584
"name":"UpdateSSHPublicKey",
@@ -3382,6 +3382,14 @@
33823382
"Tags":{
33833383
"shape":"tagListType",
33843384
"documentation":"<p>A list of tags that you want to attach to the new IAM SAML provider. Each tag consists of a key name and an associated value. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html\">Tagging IAM resources</a> in the <i>IAM User Guide</i>.</p> <note> <p>If any one of the tags is invalid or if you exceed the allowed maximum number of tags, then the entire request fails and the resource is not created.</p> </note>"
3385+
},
3386+
"AssertionEncryptionMode":{
3387+
"shape":"assertionEncryptionModeType",
3388+
"documentation":"<p>Specifies the encryption setting for the SAML provider.</p>"
3389+
},
3390+
"AddPrivateKey":{
3391+
"shape":"privateKeyType",
3392+
"documentation":"<p>The private key generated from your external identity provider. The private key must be a .pem file that uses AES-GCM or AES-CBC encryption algorithm to decrypt SAML assertions.</p>"
33853393
}
33863394
}
33873395
},
@@ -4814,6 +4822,10 @@
48144822
"GetSAMLProviderResponse":{
48154823
"type":"structure",
48164824
"members":{
4825+
"SAMLProviderUUID":{
4826+
"shape":"privateKeyIdType",
4827+
"documentation":"<p>The unique identifier assigned to the SAML provider.</p>"
4828+
},
48174829
"SAMLMetadataDocument":{
48184830
"shape":"SAMLMetadataDocumentType",
48194831
"documentation":"<p>The XML metadata document that includes information about an identity provider.</p>"
@@ -4829,6 +4841,14 @@
48294841
"Tags":{
48304842
"shape":"tagListType",
48314843
"documentation":"<p>A list of tags that are attached to the specified IAM SAML provider. The returned list of tags is sorted by tag key. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html\">Tagging IAM resources</a> in the <i>IAM User Guide</i>.</p>"
4844+
},
4845+
"AssertionEncryptionMode":{
4846+
"shape":"assertionEncryptionModeType",
4847+
"documentation":"<p>Specifies the encryption setting for the SAML provider.</p>"
4848+
},
4849+
"PrivateKeyList":{
4850+
"shape":"privateKeyList",
4851+
"documentation":"<p>The private key metadata for the SAML provider.</p>"
48324852
}
48334853
},
48344854
"documentation":"<p>Contains the response to a successful <a>GetSAMLProvider</a> request. </p>"
@@ -7481,6 +7501,20 @@
74817501
"max":10000000,
74827502
"min":1000
74837503
},
7504+
"SAMLPrivateKey":{
7505+
"type":"structure",
7506+
"members":{
7507+
"KeyId":{
7508+
"shape":"privateKeyIdType",
7509+
"documentation":"<p>The unique identifier for the SAML private key.</p>"
7510+
},
7511+
"Timestamp":{
7512+
"shape":"dateType",
7513+
"documentation":"<p>The date and time, in <a href=\"http://www.iso.org/iso/iso8601\">ISO 8601 date-time </a> format, when the private key was uploaded.</p>"
7514+
}
7515+
},
7516+
"documentation":"<p>Contains the private keys for the SAML provider.</p> <p>This data type is used as a response element in the <a>GetSAMLProvider</a> operation.</p>"
7517+
},
74847518
"SAMLProviderListEntry":{
74857519
"type":"structure",
74867520
"members":{
@@ -8538,18 +8572,27 @@
85388572
},
85398573
"UpdateSAMLProviderRequest":{
85408574
"type":"structure",
8541-
"required":[
8542-
"SAMLMetadataDocument",
8543-
"SAMLProviderArn"
8544-
],
8575+
"required":["SAMLProviderArn"],
85458576
"members":{
85468577
"SAMLMetadataDocument":{
85478578
"shape":"SAMLMetadataDocumentType",
8548-
"documentation":"<p>An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.</p>"
8579+
"documentation":"<p>An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your IdP.</p>"
85498580
},
85508581
"SAMLProviderArn":{
85518582
"shape":"arnType",
85528583
"documentation":"<p>The Amazon Resource Name (ARN) of the SAML provider to update.</p> <p>For more information about ARNs, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Names (ARNs)</a> in the <i>Amazon Web Services General Reference</i>.</p>"
8584+
},
8585+
"AssertionEncryptionMode":{
8586+
"shape":"assertionEncryptionModeType",
8587+
"documentation":"<p>Specifies the encryption setting for the SAML provider.</p>"
8588+
},
8589+
"AddPrivateKey":{
8590+
"shape":"privateKeyType",
8591+
"documentation":"<p>Specifies the new private key from your external identity provider. The private key must be a .pem file that uses AES-GCM or AES-CBC encryption algorithm to decrypt SAML assertions.</p>"
8592+
},
8593+
"RemovePrivateKey":{
8594+
"shape":"privateKeyIdType",
8595+
"documentation":"<p>The Key ID of the private key to remove.</p>"
85538596
}
85548597
}
85558598
},
@@ -8913,6 +8956,13 @@
89138956
"max":2048,
89148957
"min":20
89158958
},
8959+
"assertionEncryptionModeType":{
8960+
"type":"string",
8961+
"enum":[
8962+
"Required",
8963+
"Allowed"
8964+
]
8965+
},
89168966
"assignmentStatusType":{
89178967
"type":"string",
89188968
"enum":[
@@ -9218,6 +9268,17 @@
92189268
"type":"string",
92199269
"pattern":"v[1-9][0-9]*(\\.[A-Za-z0-9-]*)?"
92209270
},
9271+
"privateKeyIdType":{
9272+
"type":"string",
9273+
"max":64,
9274+
"min":22,
9275+
"pattern":"[A-Z0-9]+"
9276+
},
9277+
"privateKeyList":{
9278+
"type":"list",
9279+
"member":{"shape":"SAMLPrivateKey"},
9280+
"max":2
9281+
},
92219282
"privateKeyType":{
92229283
"type":"string",
92239284
"max":16384,

0 commit comments

Comments
 (0)