Fed 속성 사용: OAM 권한 부여 및 HTTP 헤더

이 문서에서는 SAML/OpenID SSO 메시지에서 수신된 속성을 OAM 권한 부여 정책에서 사용하는 방법과 이러한 속성을 보호된 웹 애플리케이션에 제공하는 방법에 대해 설명합니다.

런타임 시 OAM/SP가 SAML/OpenID SSO 응답 메시지를 성공적으로 처리할 때 서버는 응답의 일부 정보를 OAM 권한 부여 정책에 사용할 수 있는 속성으로 OAM 세션에 저장합니다.

SAML/OpenID SSO 응답 정보는 다음 식별자가 참조하는 속성으로 OAM 세션에 저장됩니다.

개요

일반적인 OAM 환경은 다음으로 구성됩니다.

인증된 사용자가 보호된 리소스에 대한 액세스를 요청하는 경우:

사용자가 리소스에 액세스할 수 있는지 여부를 평가하는 데 사용되는 OAM 권한 부여 정책은 다음과 같은 다양한 조건을 기반으로 할 수 있습니다.

관리자는 통합 속성을 평가하는 속성 조건을 사용하여 권한 부여 규칙에서 SAML/OpenID SSO 메시지에 수신된 통합 데이터를 사용할 수 있습니다.

보호된 웹 애플리케이션에서 사용할 수 있도록 HTTP 요청에 데이터를 삽입하는 데 사용되는 OAM 권한 부여 응답은

OAM 권한 부여 정책과 마찬가지로 관리자는 통합 항목($session.attr.fed.partner, $session.attr.fed.attr.ATTR_NAME…)을 참조하는 OAM 세션 속성을 사용하여 HTTP 요청에 통합 데이터를 삽입할 수 있습니다.

통합 SSO 설정

이전에 구성된 것과 동일한 SAML 2.0 Federation 설정을 사용합니다. 여기서 각 항목은 다음과 같습니다.

다음 두 명의 사용자가 사용됩니다.

앨리스:

Bob:

IdP에서 다시 전송된 검증이 있는 XML SAML 응답은 다음과 같습니다.

<samlp:Response ..>
    <saml:Issuer ...>http://acme.com
/idp</saml:Issuer>
    <samlp:Status>
        <samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
    </samlp:Status>
    <saml:Assertion ...>
        <saml:Issuer ...>http://acme.com /idp</saml:Issuer>
        <dsig:Signature ...>
        ...
        </dsig:Signature>
        <saml:Subject>
            <saml:NameID ...>alice</saml:NameID>
            ...
        </saml:Subject>         <saml:Conditions ...>
         ...
        </saml:Conditions>         <saml:AuthnStatement ...>
        ...
        </saml:AuthnStatement>
        <saml:AttributeStatement ...>
            <saml:Attribute Name="email" ...>
                <saml:AttributeValue
...>alice@oracle.com</saml:AttributeValue>
            </saml:Attribute>
            <saml:Attribute Name="title" ...>
                <saml:AttributeValue
...>manager</saml:AttributeValue>
            </saml:Attribute>
            <saml:Attribute Name="surname" ...>
                <saml:AttributeValue
...>Appleton</saml:AttributeValue>
            </saml:Attribute>
            <saml:Attribute Name="fname" ...>
                <saml:AttributeValue
...>Alice</saml:AttributeValue>
            </saml:Attribute>
        </saml:AttributeStatement>
    </saml:Assertion>
</samlp:Response>

OAM/SP가 다음 규칙에 따라 속성을 처리했으므로 SP 테스트 페이지에 다른 결과가 표시됩니다.

그림 Test_Federation_SSO.jpg 설명

보호된 웹 애플리케이션

이 예에서는 다음 구성 요소를 사용합니다.

OAM/WebGate에 의해 보호되지 않고 리소스에 액세스하는 브라우저의 예는 다음과 같이 표시됩니다. 테스트에서는 위에 나열된 대로 웹 응용 프로그램이 보호됩니다.

그림 Protected_web_Application.jpg 설명

승인 조건

다음 예에서는 다음 제약 조건이 있는 리소스에 대해 OAM 세션에 저장된 통합 속성을 사용하여 권한 부여 정책을 생성하는 방법을 보여줍니다.

이러한 권한 부여 정책을 만들려면 다음 단계를 실행합니다.

  1. OAM 관리 콘솔(http(s)://oam-admin-host:oam-adminport/oamconsole)로 이동합니다.

  2. Access Manager, Application Domains로 이동합니다.

  3. 리소스의 응용 프로그램 도메인을 검색하여 누릅니다.

  4. 권한 부여 정책을 누릅니다.

  5. 리소스를 보호하는 권한 부여 정책 열기(이 예제에서는 보호된 리소스 정책)

  6. 조건 탭을 누릅니다.

  7. 새 조건을 정의하려면 추가를 누릅니다.

    1. 이름: TitleCondition

    2. 유형: Attribute

  8. 선택된 항목 추가를 누릅니다

  9. 그림 Add_Condition.jpg 설명

  10. 새로 생성된 조건 선택

  11. 조건 세부정보 창에서 추가를 누릅니다.

    • 네임스페이스: Session

    • 속성 이름: Other

    • 속성 이름을 입력합니다.: fed.title

    • 연산자: Equals

    • 속성 값: manager

  12. OK를 누릅니다.

  13. 그림 Add_Attr_Condition.jpg 설명

  14. 규칙 탭을 누릅니다.

  15. 허용 규칙 , 선택된 조건에 있는 경우 TRUE 조건을 제거하십시오.

  16. TitleCondition허용 규칙, 선택된 조건에 추가

  17. Apply를 누릅니다.

그림 Authorization_Policy.jpg 설명

테스트하려면 새 브라우저에서 보호된 리소스에 액세스합니다. IdP로 재지정됩니다.

IdP에서 alice를 사용하여 인증하는 경우 브라우저에 alice로 설정된 원격 사용자 HTTP 헤더를 표시하는 다음이 표시됩니다. IdP에서 title 속성이 manager로 설정되고 OAM에서 OAM 세션 속성 fed.title이 manager로 설정된 사용자만 액세스할 수 있기 때문입니다.

그림 Document_root.jpg 설명

IdP에서 bob을 사용하여 인증하면 브라우저에 다음이 표시되고 오류가 표시됩니다. IdP에서 title 속성이 engine으로 설정되었고 OAM은 OAM 세션 속성 fed.title이 manager로 설정된 사용자만 액세스할 수 있기 때문입니다.

그림 OAM_Operation_error.jpg 설명

통합 속성 주입

다음 예에서는 다음 제약 조건을 사용하여 SSO 응답에서 수집된 SAML/OpenID 속성을 보호된 웹의 HTTP 헤더로 삽입하는 방법을 보여 줍니다.

구성은 권한 부여 정책 정의에서 권한 부여 응답 객체를 사용하여 수행됩니다.

이러한 권한 부여 정책을 구성하려면 다음 단계를 실행합니다.

  1. OAM 관리 콘솔(http(s)://oam-admin-host:oam-adminport/oamconsole)로 이동합니다.

  2. Access Manager, Application Domains로 이동합니다.

  3. 리소스에 대한 응용 프로그램 도메인을 검색하여 누릅니다.

  4. 권한 부여 정책을 누릅니다.

  5. 리소스를 보호하는 권한 부여 정책 열기(이 예제에서는 보호된 리소스 정책)

  6. 응답 탭을 누릅니다.

  7. Add(추가)를 눌러 전자 메일 주소에 대한 항목을 만듭니다.

    • 유형: Header

    • 이름: emailaddress

    • : $session.attr.fed.attr.email

  8. 추가를 누릅니다.

    그림 Add_Response.jpg 설명

  9. Add를 눌러 이름에 대한 항목을 생성합니다.

    • 유형: Header

    • 이름: firstname

    • : $session.attr.fed.attr.firstname

  10. 추가를 누릅니다.

  11. Add를 눌러 성에 대한 항목을 생성합니다.

    • 유형: Header

    • 이름: lastname

    • : $session.attr.fed.attr.lastname

  12. 추가를 누릅니다.

  13. Apply를 누릅니다.

그림 ACS_Authorization_Policy.jpg 설명

테스트하려면 새 브라우저에서 보호된 리소스에 액세스합니다. 인증이 발생하는 IdP로 재지정됩니다.

그런 다음 OAM/WebGate는 OAM 세션 속성(IdP에서 수신됨)을 기반으로 권한 부여 응답 항목을 주입하고, 보호된 웹 애플리케이션은 이러한 항목을 표시합니다(내 테스트 페이지에는 HTTP 헤더가 HTTP_NAME로 표시되고, NAME는 HTTP 헤더의 이름임).

그림 Authorization_Response.jpg 설명

추가 학습 자원

docs.oracle.com/learn의 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 접근할 수 있습니다. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer로 전환할 수 있습니다.

제품 설명서는 Oracle Help Center를 참조하십시오.