如何解决尝试通过 Okta 代入角色时,AWS STS 错误“指定的传递标签键必须包含在请求的标签中”
我正在尝试从 Okta 传递属性语句(以会话标签的形式),以便它们可以在角色 IAM 策略中使用,以确定用户是否可以担任该角色。
目前,Okta 配置为通过以下内容:
- aws.amazon.com/SAML/Attributes/PrincipalTag:Email user.email
- aws.amazon.com/SAML/Attributes/TransitiveTagKeys {"Email"}
- aws.amazon.com/SAML/Attributes/PrincipalTag:GroupDevOps isMemberOfGroupName("devops")
- https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys {"Email","GroupDevOps"}
但是,每当我尝试担任此角色时,都会收到以下错误
"The specified transitive tag key must be included in the requested tags. (Service: AWSSecurityTokenService; Status Code: 400; Error Code: InvalidParameterValue; Request ID: 38d6a161-cdf8-453a-9a182hd83hr832; Proxy: null)"
{
"Sid": "","Effect": "Allow","Principal": {
"Federated": "arn:aws:iam::<my-account-id>:saml-provider/<my-provider>"
},"Action": [
"sts:TagSession","sts:AssumeRoleWithSAML"
],"Condition": {
"StringEquals": {
"SAML:aud": "https://signin.aws.amazon.com/saml"
},"StringLike": {
"aws:RequestTag/GroupDevOps": "*","aws:RequestTag/Email": "*"
},"ForAnyValue:StringEquals": {
"sts:TransitiveTagKeys": [
"Email","GroupDevOps"
]
}
}
GroupDevops 属性将用于限制对后续角色的访问,而不是这个角色 ^^。所以我不明白为什么当我将它包含在请求的标签中时我会看到我看到的错误?
如果从 Okta 中删除 GroupDevOps 属性和 IAM 策略,它会正常工作。虽然我看不到 CloudTrail 日志中传递的电子邮件属性,所以我不确定这是否按预期 100% 工作。
感谢帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。