无法将 AWS SSO 属性映射到 SAML 断言值

0

【以下的问题经过翻译处理】 你好,

我发送以下用户级别属性作为来自 Okta 的 SAML 断言的一部分。

Attribute 1 name: https://aws.amazon.com/SAML/Attributes/AccessControl:team 
Attribute 1 value: user.team
Attribute 2 name: https://aws.amazon.com/SAML/Attributes/AccessControl:Division 
Attribute 2 value: user.division

以下是 SSO 中访问控制的配置属性(尝试了多种组合):

Key Value
team	${path:team}
Division	${path:division}
ad	${path:appdiv}
Mteam	${path:user.team}
MDivision	${path:user.division}
Mname	${path:name.givenName}

SAML 的Cloud trail 历史条目:

“requestParameters": {
        "sAMLAssertionID": "_1f0a7019-a9bb-461d-afc3-4e468e29f36c",
        "roleSessionName": "saxxxxxla@xxxx.com ",
        "principalTags": {
            "MDivision": "",
            "Mname": "Sandeep",
            "Mteam": "",
            "Division": "",
            "team": "",
            "ad":""
        },

无法填充团队和部门

使用 SAML 跟踪器查看从 Okta 到 AWS 的断言详细信息:Okta 正在发送填充了值的属性

关于我哪里出错的任何想法?

谢谢

profile picture
专家
已提问 3 个月前2 查看次数
1 回答
0

【以下的回答经过翻译处理】 jsonc@ 和 posquit0@ 在这里都是正确的。

  1. jsonc@ 说你的值没有填充的原因是正确的,因为你将它们作为“用户”的属性传递。如果您希望看到它们反映在 AWS SSO 中,请改用以下内容:
  • ${path:name.familyName} 作为您用户的名字。
  • ${path:enterprise.division}为用户所属部门名称。
  1. posquit0@ 也是正确的。如果您不关心看到反映在 AWS SSO 中的字段和值,但想在断言中传递它们并在 IAM 策略中将它们用于 ABAC,则只需删除 AWS SSO ABAC 中的所有属性配置(保持启用状态)并构建您的策略以期望您传递的属性和值。 AWS STS 将在它们在 SAML 响应中传递时获取它们,并且它们将用于任何适用/强制的 IAM 策略。

无论哪个最适合您,但我认为如果您要努力传递属性和值,您会希望看到它们反映在 AWS SSO 中。这也意味着您可以查看 AWS SSO ABAC 中配置的内容以及每个用户拥有的值,而不必简​​单地记住您从 Okta 传递过来的内容。

profile picture
专家
已回答 3 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则