영어로 읽기

다음을 통해 공유


메타데이터 매핑

메타데이터 문서의 내용은 다음 섹션에서 설명하는 방식으로 메타데이터 API에 매핑됩니다.

다음 네임스페이스 접두사는 이 설명서 전체에서 사용됩니다.

wsdl   => http://schemas.xmlsoap.org/wsdl/
soap11 => http://schemas.xmlsoap.org/wsdl/soap/
soap12 => http://schemas.xmlsoap.org/wsdl/soap12/
wsa09  => http://schemas.xmlsoap.org/ws/2004/08/addressing
wsa10  => http://www.w3.org/2005/08/addressing
wsa09p => http://schemas.xmlsoap.org/ws/2004/08/addressing/policy
wsa10p => http://www.w3.org/2006/05/addressing/wsdl
binp   => http://schemas.microsoft.com/ws/06/2004/mspolicy/netbinary1
mtomp  => http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization
sp     => http://schemas.xmlsoap.org/ws/2005/07/securitypolicy
wsp    => http://schemas.xmlsoap.org/ws/2004/09/policy
netf   => http://schemas.microsoft.com/ws/2006/05/framing/policy
httpp  => http://schemas.microsoft.com/ws/06/2004/policy/http
wst10  => http://schemas.xmlsoap.org/ws/2005/02/trust
wsi    => http://schemas.xmlsoap.org/ws/2005/05/identity

후속 섹션에서는 해당되는 메타데이터 구문(WSDL 또는 정책)과 함께 API 구문을 설명합니다.

WSDL 및 정책과 같은 메타데이터 사양을 숙지하면 이 섹션을 이해하는 데 도움이 됩니다.

엔드포인트 주소

엔드포인트의 주소(WS_ENDPOINT_ADDRESS참조)는 WSDL 문서의 wsdl:port 요소 내의 확장성 요소에서 가져옵니다. 주소를 지정하는 데 지원되는 확장성 요소는 다음과 같습니다.

<wsdl:port...>
    <soap11:address.../>
</wsdl:port>
<wsdl:port...>
    <soap12:address.../>
</wsdl:port>
<wsdl:port...>
    <wsa09:EndpointReference.../>
</wsdl:port>
<wsdl:port...>
    <wsa10:EndpointReference.../>
</wsdl:port>

WS_채널_바인딩

채널 바인딩(WS_CHANNEL_BINDING참조)은 사용되는 soap 바인딩의 전송에 따라 다음과 같이 결정됩니다.

<soap:binding transport=&quot;http://schemas.microsoft.com/soap/tcp&quot;/> => WS_TCP_CHANNEL_BINDING
<soap:binding transport=&quot;http://schemas.xmlsoap.org/soap/http&quot;/> => WS_HTTP_CHANNEL_BINDING

WS_채널_속성_봉투_버전

봉투 버전(WS_CHANNEL_PROPERTY_ENVELOPE_VERSION참조)은 사용되는 비누 바인딩에 따라 다음과 같이 결정됩니다.

<wsdl:binding...>
    <soap11:binding.../> => WS_ENVELOPE_VERSION_SOAP_1_1
</wsdl:binding>
<wsdl:binding...>
    <soap12:binding.../> => WS_ENVELOPE_VERSION_SOAP_1_2
</wsdl:binding>

주소 지정 버전

주소 지정 버전(WS_CHANNEL_PROPERTY_ADDRESSING_VERSION참조)은 엔드포인트 정책의 다음 어설션에 의해 결정됩니다.

<wsp:Policy...>
    <wsa09p:UsingAddressing.../> => WS_ADDRESSING_VERSION_0_9
</wsp:Policy>
<wsp:Policy...>
    <wsa10p:UsingAddressing.../> => WS_ADDRESSING_VERSION_1_0
</wsp:Policy>

주소 지정 어설션이 없으면 WS_ADDRESSING_VERSION_TRANSPORT 가정합니다.

메시지 인코딩

메시지 인코딩(WS_CHANNEL_PROPERTY_ENCODING참조)은 엔드포인트 정책의 다음 어설션에 의해 결정됩니다.

<wsp:Policy...>
    <binp:BinaryEncoding.../> => WS_ENCODING_XML_BINARY_SESSION_1, WS_ENCODING_XML_BINARY_1
</wsp:Policy>

이진 인코딩 정책 어설션에는 이진 인코딩이 세션 기반인지 비세션 기반인지에 대한 정보가 포함되지 않습니다. 이는 인코딩 속성 제약 조건에 의해 결정됩니다(사용 중인 WS_CHANNEL_TYPE가 세션 기반인지 아닌지에 따라 적절해야 합니다).

<wsp:Policy...>
    <mtomp:OptimizedMimeSerialization.../> => WS_ENCODING_XML_MTOM_UTF8, WS_ENCODING_XML_MTOM_UTF16LE, WS_ENCODING_XML_MTOM_UTF16BE
</wsp:Policy>

위의 어설션 중 어느 것도 없는 경우 텍스트 인코딩이 사용됩니다. WS_ENCODING_XML_UTF8, WS_ENCODING_XML_UTF16LE, WS_ENCODING_XML_UTF16BE.

정책에는 MTOM 또는 텍스트 인코딩(UTF8, UTF16LE 또는 UTF16BE)에 대한 문자 집합에 대한 정보가 포함되지 않습니다. 사용되는 실제 문자 집합 값은 인코딩 속성 제약 조건에 의해 결정됩니다.

HTTP 헤더 인증을 사용하는 제약 조건

이 섹션은 WS_HTTP_HEADER_AUTH_SECURITY_BINDING_CONSTRAINT 보안 바인딩 제약 조건이 지정된 경우에 적용됩니다.

이 보안 바인딩은 HTTP 헤더 인증을 사용해야 하고 특정 인증 체계를 사용해야 함을 나타내는 서로 다른 어설션으로 정책에 표시됩니다. 정책의 어설션은 WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_SCHEME의 값에 다음과 같이 대응됩니다.

<wsp:Policy...>
    <httpp:BasicAuthentication.../> => WS_HTTP_HEADER_AUTH_SCHEME_BASIC
</wsp:Policy>
<wsp:Policy...>
    <httpp:NegotiateAuthentication.../> => WS_HTTP_HEADER_AUTH_SCHEME_NEGOTIATE
</wsp:Policy>
<wsp:Policy...>
    <httpp:NtlmAuthentication.../> => WS_HTTP_HEADER_AUTH_SCHEME_NTLM
</wsp:Policy>
<wsp:Policy...>
    <httpp:DigestAuthentication.../> => WS_HTTP_HEADER_AUTH_SCHEME_DIGEST
</wsp:Policy>

SLL 전송 보안을 사용하는 제약 조건

이 섹션은 WS_SSL_TRANSPORT_SECURITY_BINDING_CONSTRAINT 보안 바인딩 제약 조건이 지정된 경우에 적용됩니다. 이 경우 다음 정책 어설션이 사용됩니다.

<wsp:Policy...>
    <sp:TransportBinding...>
        <wsp:Policy...>
            <sp:TransportToken...>
                <wsp:Policy...>
                    <sp:HttpsToken.../>
            </wsp:Policy...>
        </wsp:Policy>
    </sp:TransportBinding...>
</wsp:Policy>

SSPI 전송 보안을 사용하는 제약 조건

이 섹션은 WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING_CONSTRAINT 보안 바인딩 제약 조건이 지정된 경우에 적용됩니다. 이 경우 다음 정책 어설션이 사용됩니다.

<wsp:Policy...>
    <sp:TransportBinding...>
        <wsp:Policy...>
            <sp:TransportToken...>
                <wsp:Policy...>
                    <netf:WindowsTransportSecurity.../>
            </wsp:Policy...>
        </wsp:Policy>
    </sp:TransportBinding...>
</wsp:Policy>

전송 보안과 관련된 제약 사항

보안 바인딩 제약 조건이 지정된 경우 WS_SECURITY_PROPERTY_TRANSPORT_PROTECTION_LEVEL 속성 제약 조건을 지정할 수 있습니다.

Kerberos APREQ 보안 바인딩을 사용하는 제약 조건

이 섹션은 WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_CONSTRAINT 보안 바인딩 제약 조건이 지정된 경우에 적용됩니다. 이 경우 다음 정책 어설션이 사용됩니다.

<sp:EndorsingSupportingTokens...>
    <wsp:Policy>
        <sp:KerberosToken>
            <WssGssKerberosV5ApReqToken11.../>
        </sp:KerberosToken>
    </wsp:Policy>
</sp:EndorsingSupportingTokens>

메시지 보안 바인딩을 사용하는 제약 조건

이 섹션은 WS_USERNAME_MESSAGE_SECURITY_BINDING_CONSTRAINT 보안 바인딩 제약 조건이 지정된 경우에 적용됩니다. 이 경우 다음 정책 어설션이 사용됩니다.

<sp:SignedSupportingTokens>
    <wsp:Policy>
        <sp:UsernameToken.../>
    </wsp:Policy>
</sp:SignedSupportingTokens>

WS_인증서_메시지_보안_바인딩_제약조건

이 섹션은 WS_CERT_MESSAGE_SECURITY_BINDING_CONSTRAINT 보안 바인딩 제약 조건이 지정된 경우에 적용됩니다. 이 경우 다음 정책 어설션이 사용됩니다.

<sp:EndorsingSupportingTokens>
    <wsp:Policy>
        <sp:X509Token.../>
   </wsp:Policy>
</sp:EndorsingSupportingTokens>

WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT

이 섹션은 WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT 보안 바인딩 제약 조건이 지정된 경우에 적용됩니다. 이 경우 다음 정책 어설션이 사용됩니다.

<sp:EndorsingSupportingTokens...>
    <wsp:Policy>
        <sp:IssuedToken sp:IncludeToken=&quot;xs:anyURI&quot;? ...=&quot;&quot; >
            <wsp:Issuer>...</wsp:Issuer>?
            <wsp:RequestSecurityTokenTemplate TrustVersion='xs:anyURI&quot;?>
                ...
                <wst10:Claims>
                    <wsi:ClaimType Optional='xs:boolean'?>xs:anyURI<wt:ClaimType>*
                </wst10:Claims>
                ...
            </wsp:RequestSecurityTokenTemplate>
            <wsp:Policy>
                <sp:RequireDerivedKeys/> ?
                <sp:RequireExternalReference/> ?
                <sp:RequireInternalReference/> ?
            </wsp:Policy> ?
        </sp:IssuedToken>
    </wsp:Policy>
</sp:EndorsingSupportingTokens>

다음은 위의 정책에 대한 WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT 필드의 매핑에 대해 설명합니다.

  • claimConstraints 필드는 위의 wsi:ClaimType 요소 내에 표시되는 클레임 형식 URI 집합을 확인하는 데 사용됩니다.

  • issuerAddress 필드는 토큰을 발급할 수 있는 서비스의 WS_ENDPOINT_ADDRESS 위 wsp:Issuer 요소에 해당합니다.

  • requestSecurityTokenTemplate 필드는 wsp:RequestSecurityTokenTemplate 요소의 자식 요소에 해당합니다.

WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_CONSTRAINT

이 섹션은 WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_CONSTRAINT 보안 바인딩 제약 조건이 지정된 경우에 적용됩니다. 이 경우 다음 정책 어설션이 사용됩니다.

<sp:EndorsingSupportingTokens...>
    <wsp:Policy>
        <sp:SecureConversationToken sp:IncludeToken=&quot;xs:anyURI&quot;? ...=&quot;&quot; >
            <wsp:Issuer>...</wsp:Issuer>?
            <wsp:Policy>
                <sp:RequireDerivedKeys.../>?
                <sp:RequireExternalUriReference.../>?
                <sp:SC10SecurityContextToken.../>? => WS_SECURE_CONVERSATION_VERSION_FEBRUARY_2005
                <sp:BootstrapPolicy... >?
                   <wsp:Policy> ...  </wsp:Policy> => WS_SECURITY_CONSTRAINTS
                </sp:BootstrapPolicy>
            </wsp:Policy>
        </wsp:SecureConversationToken>
    </wsp:Policy>
</sp:EndorsingSupportingTokens>

엔트로피 모드는 <sp:Trust10> 어설션에 의해 결정됩니다. <sp:RequireClientEntropy/> 및 <sp:RequireServerEntropy/> =>WS_SECURITY_KEY_ENTROPY_MODE_COMBINED<sp:RequireClientEntropy/> =>WS_SECURITY_KEY_ENTROPY_MODE_CLIENT_ONLY<sp:RequireServerEntropy/> =>WS_SECURITY_KEY_ENTROPY_MODE_SERVER_ONLY

WS_REQUEST_SECURITY_TOKEN_PROPERTY_TRUST_VERSION

이 섹션은 WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT 보안 바인딩 제약 조건이 지정된 경우에 적용됩니다. 다음 정책 어설션은 WS_TRUST_VERSION 및 관련 옵션을 식별하는 데 사용됩니다.

<sp:Trust10> => WS_TRUST_VERSION_FEBRUARY_2005
    <sp:Policy>
        <sp:MustSupportClientChallenge/> ?
        <sp:MustSupportServerChallenge/> ?
        <sp:RequireClientEntropy/> ?
        <sp:RequireServerEntropy/> ?
        <sp:MustSupportIssuedTokens/> ?
    </sp:Policy>
</sp:Trust10>

트러스트 버전은 WS_REQUEST_SECURITY_TOKEN_PROPERTY_CONSTRAINT을(를) 사용하여, 속성 ID로서 WS_REQUEST_SECURITY_TOKEN_PROPERTY_TRUST_VERSION을(를) 지정하여 설정할 수 있습니다.

WS_보안_속성_보안_헤더_버전

이 섹션은 다음 바인딩 제약 조건을 사용하는 경우에 적용됩니다.

헤더 보안 버전(WS_SECURITY_PROPERTY_SECURITY_HEADER_VERSION지정)은 다음 정책 어설션 중 하나에 의해 결정됩니다.

<wsp:Wss10> ... </wsp:Wss10> => WS_SECURITY_HEADER_VERSION_1_0
<wsp:Wss11> ... </wsp:Wss11> => WS_SECURITY_HEADER_VERSION_1_1

헤더 보안 레이아웃이 있는 제약 조건

이 섹션은 다음 바인딩 제약 조건을 사용하는 경우에 적용됩니다.

보안 헤더 레이아웃(WS_SECURITY_PROPERTY_SECURITY_HEADER_LAYOUT지정)은 다음 정책 어설션 중 하나에 의해 결정됩니다.

<sp:TransportBinding>
    <wsp:Policy>
        <sp:Layout>
            <sp:Lax.../> => WS_SECURITY_HEADER_LAYOUT_LAX
        </sp:Layout>
    </wsp:Policy>
</sp:TransportBinding>
<sp:TransportBinding>
    <wsp:Policy>
        <sp:Layout>
            <sp:Strict.../> => WS_SECURITY_HEADER_LAYOUT_STRICT
        </sp:Layout>
    </wsp:Policy>
</sp:TransportBinding>
<sp:TransportBinding>
    <wsp:Policy>
        <sp:Layout>
            <sp:LaxTsFirst.../> => WS_SECURITY_HEADER_LAYOUT_LAX_WITH_TIMESTAMP_FIRST
        </sp:Layout>
    </wsp:Policy>
</sp:TransportBinding>
<sp:TransportBinding>
    <wsp:Policy>
        <sp:Layout>
            <sp:LaxTsLast.../> => WS_SECURITY_HEADER_LAYOUT_LAX_WITH_TIMESTAMP_LAST
        </sp:Layout>
    </wsp:Policy>
</sp:TransportBinding>

타임스탬프 보안을 사용하는 제약 조건

이 섹션은 다음 바인딩 제약 조건을 사용하는 경우에 적용됩니다.

타임스탬프가 보안 헤더에 포함되는지 여부(WS_SECURITY_PROPERTY_TIMESTAMP_USAGE지정)는 다음 위치에 sp:IncludeTimestamp가 있는지 여부에 따라 결정됩니다.

<sp:TransportBinding>
    <wsp:Policy>
        <sp:IncludeTimestamp.../>
    </wsp:Policy>
</sp:TransportBinding>

sp:IncludeTimestamp 어설션이 있으면, 정책의 값이 WS_SECURITY_TIMESTAMP_USAGE_ALWAYS입니다.

sp:IncludeTimestamp 어설션이 없으면, 정책의 값은 WS_SECURITY_TIMESTAMP_USAGE_NEVER입니다.