Web サイトに SAML 2.0 をサービス プロバイダー (SP) および Okta env として実装することで、Okta SSO と統合しようとしています。ID プロバイダー (IDP) として、IDP が認証要求ごとにユーザーが属するグループを返すように構成する方法を理解できません。
また、ユーザーが特定のグループ内にいるかどうかをバックエンドが IDP に直接問い合わせることができるように、IDP にサービス アカウントを設定することは可能ですか?
Okta 管理ダッシュボードで SP アプリを正しく構成することにより、グループを SAMLResponse に追加することができます。既存のアプリに対してこれを行うには、管理パネルに移動し、SAML 設定を編集してGroup attribute statements
. たとえば、単語admin
を含むすべてのグループを SP に公開する場合は、適切な名前 (グループ) を持つフィールドを追加し、regex
value でフィルターを指定します.*admin.*
。
正しく構成すると、SAMLResponse には次のノードが含まれます。
<saml2p:Response
xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
......
......
<saml2p:Status
xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol">
<saml2p:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</saml2p:Status>
<saml2:Assertion
......
......
xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
<saml2:AttributeStatement
xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
<saml2:Attribute
Name="groups"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml2:AttributeValue
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:string">admins_group_1
</saml2:AttributeValue>
<saml2:AttributeValue
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:string">it_admins
</saml2:AttributeValue>
</saml2:Attribute>
</saml2:AttributeStatement>
</saml2:Assertion>
</saml2p:Response>
admin
グループには、Okta グループ、AD グループなどに関係なく、単語を含むすべてのグループが含まれることに注意してください。