Metaadatok leképezése
A metaadat-dokumentum tartalma megfelel a metaadat API-nak az alábbi szakaszokban ismertetett módon.
A dokumentáció a következő névtérelőtagokat használja:
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
A következő szakaszok ismertetik az API-szerkezeteket, valamint azokat a metaadat-szerkezeteket (WSDL vagy Szabályzat), amelyeknek megfelelnek.
A metaadat-specifikációk, például a WSDL és a Szabályzat ismerete segít megérteni ezt a szakaszt.
Végpont címe
A végpont címe (lásd WS_ENDPOINT_ADDRESS) a WSDL-dokumentum wsdl:port elemének bővíthetőségi eleméből származik. A cím megadásához a következő bővíthetőségi elemek támogatottak:
<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_csatornakötés
A csatornakötést (lásd WS_CHANNEL_BINDING) a használt szappankötés átvitele határozza meg az alábbiak szerint:
<soap:binding transport="http://schemas.microsoft.com/soap/tcp"/> => WS_TCP_CHANNEL_BINDING
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> => WS_HTTP_CHANNEL_BINDING
„WS_CHANNEL_PROPERTY_ENVELOPE_VERSION”
A boríték verziószámát (lásd WS_CHANNEL_PROPERTY_ENVELOPE_VERSION) az alábbiak szerint határozza meg, hogy melyik szappankötést használja:
<wsdl:binding...>
<soap11:binding.../> => WS_ENVELOPE_VERSION_SOAP_1_1
</wsdl:binding>
<wsdl:binding...>
<soap12:binding.../> => WS_ENVELOPE_VERSION_SOAP_1_2
</wsdl:binding>
Címzési verzió
A címzési verziót (lásd WS_CHANNEL_PROPERTY_ADDRESSING_VERSION) a végpontszabályzat alábbi állításai határozzák meg:
<wsp:Policy...>
<wsa09p:UsingAddressing.../> => WS_ADDRESSING_VERSION_0_9
</wsp:Policy>
<wsp:Policy...>
<wsa10p:UsingAddressing.../> => WS_ADDRESSING_VERSION_1_0
</wsp:Policy>
Ha nem áll rendelkezésre címzési állítás, akkor a WS_ADDRESSING_VERSION_TRANSPORT kerül feltételezésre.
Üzenetkódolás
Az üzenet kódolását (lásd WS_CHANNEL_PROPERTY_ENCODING) a végpontszabályzat alábbi állításai határozzák meg:
<wsp:Policy...>
<binp:BinaryEncoding.../> => WS_ENCODING_XML_BINARY_SESSION_1, WS_ENCODING_XML_BINARY_1
</wsp:Policy>
Vegye figyelembe, hogy a bináris kódolási szabályzat állítása nem tartalmaz információt arról, hogy a bináris kódolás munkamenet-alapú vagy munkamenet nélküli. Ezt a kódolási tulajdonság megfelelő kikötése határozza meg, és annak megfelelőnek kell lennie az alapján, hogy a használt WS_CHANNEL_TYPE munkamenet-alapú-e vagy sem.
<wsp:Policy...>
<mtomp:OptimizedMimeSerialization.../> => WS_ENCODING_XML_MTOM_UTF8, WS_ENCODING_XML_MTOM_UTF16LE, WS_ENCODING_XML_MTOM_UTF16BE
</wsp:Policy>
Ha a fenti állítások egyike sem szerepel, akkor szövegkódolást használunk: WS_ENCODING_XML_UTF8, WS_ENCODING_XML_UTF16LE, WS_ENCODING_XML_UTF16BE.
Vegye figyelembe, hogy a szabályzat nem tartalmaz információt az MTOM- vagy szövegkódolások karakterkészletéről (legyen az UTF8, UTF16LE vagy UTF16BE). A ténylegesen használt karakterkészlet értékét a kódolási tulajdonság korlátozása határozza meg.
KORLÁTOZÁSOK HTTP-fejléc-hitelesítéssel
Ez a szakasz a WS_HTTP_HEADER_AUTH_SECURITY_BINDING_CONSTRAINT biztonsági kötési kényszer megadásakor érvényes.
Ezt a biztonsági kötést különböző állítások jelzik a szabályzatban, amelyek a HTTP-fejléc-hitelesítés használatát, valamint egy adott hitelesítési sémát is alkalmaznak. A házirend-állítások az alábbi WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_SCHEME értékeinek felelnek meg:
<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>
Az SLL átviteli biztonságának korlátozásai
Ez a szakasz akkor érvényes, ha a WS_SSL_TRANSPORT_SECURITY_BINDING_CONSTRAINT biztonsági kötési korlátozás meg van adva. Ebben az esetben a következő házirend-állításokat használjuk:
<wsp:Policy...>
<sp:TransportBinding...>
<wsp:Policy...>
<sp:TransportToken...>
<wsp:Policy...>
<sp:HttpsToken.../>
</wsp:Policy...>
</wsp:Policy>
</sp:TransportBinding...>
</wsp:Policy>
Az SSPI átviteli biztonságának korlátozásai
Ez a szakasz akkor érvényes, ha a WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING_CONSTRAINT biztonsági kötési kényszer meg van adva. Ebben az esetben a következő házirend-állításokat használjuk:
<wsp:Policy...>
<sp:TransportBinding...>
<wsp:Policy...>
<sp:TransportToken...>
<wsp:Policy...>
<netf:WindowsTransportSecurity.../>
</wsp:Policy...>
</wsp:Policy>
</sp:TransportBinding...>
</wsp:Policy>
A Transport Security korlátozásai
A WS_SECURITY_PROPERTY_TRANSPORT_PROTECTION_LEVEL tulajdonságkorlát akkor adható meg, ha a biztonsági kötési korlátozások bármelyike meg van adva:
WS_SSL_TRANSPORT_SECURITY_BINDING_CONSTRAINT
A szabályzatból származó érték mindig WS_PROTECTION_LEVEL_SIGN_AND_ENCRYPT.
WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING_CONSTRAINT
A szabályzat értéke a WindowsTransportSecurity-állítás részeként van megadva, az alábbiak szerint:
<netf:WindowsTransportSecurity...>None</netf:WindowsTransportSecurity> => WS_PROTECTION_LEVEL_NONE
<netf:WindowsTransportSecurity...>Sign</netf:WindowsTransportSecurity> => WS_PROTECTION_LEVEL_SIGN
<netf:WindowsTransportSecurity...>EncryptAndSign</netf:WindowsTransportSecurity> => WS_PROTECTION_LEVEL_SIGN_AND_ENCRYPT
WS_HTTP_HEADER_AUTH_SECURITY_BINDING_CONSTRAINT
A szabályzatból származó érték mindig védelmi szint nélkül.
Korlátozások a Kerberos APREQ biztonsági kötéssel
Ez a szakasz akkor érvényes, ha a WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_CONSTRAINT biztonsági kötési korlátozás meg van adva. Ebben az esetben a következő házirend-állításokat használjuk:
<sp:EndorsingSupportingTokens...>
<wsp:Policy>
<sp:KerberosToken>
<WssGssKerberosV5ApReqToken11.../>
</sp:KerberosToken>
</wsp:Policy>
</sp:EndorsingSupportingTokens>
Az üzenetbiztonsági kötés korlátozásai
Ez a szakasz akkor érvényes, ha a WS_USERNAME_MESSAGE_SECURITY_BINDING_CONSTRAINT biztonsági kötési korlátozás meg van adva. Ebben az esetben a következő házirend-állításokat használjuk:
<sp:SignedSupportingTokens>
<wsp:Policy>
<sp:UsernameToken.../>
</wsp:Policy>
</sp:SignedSupportingTokens>
WS_CERT_ÜZENET_BIZTONSÁGI_KÖTÉSEK_KORLÁTOZÁSA
Ez a szakasz akkor érvényes, ha a WS_CERT_MESSAGE_SECURITY_BINDING_CONSTRAINT biztonsági kötési korlátozás meg van adva. Ebben az esetben a következő házirend-állításokat használjuk:
<sp:EndorsingSupportingTokens>
<wsp:Policy>
<sp:X509Token.../>
</wsp:Policy>
</sp:EndorsingSupportingTokens>
WS_KIADOTT_TOKEN_ÜZENET_BIZTONSÁGI_KÖTÉS_KORLÁT
Ez a szakasz akkor érvényes, ha a WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT biztonsági kötési korlátozás meg van adva. Ebben az esetben a következő házirend-állításokat használjuk:
<sp:EndorsingSupportingTokens...>
<wsp:Policy>
<sp:IssuedToken sp:IncludeToken="xs:anyURI"? ...="" >
<wsp:Issuer>...</wsp:Issuer>?
<wsp:RequestSecurityTokenTemplate TrustVersion='xs:anyURI"?>
...
<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>
Az alábbiak a WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT mezőinek a fenti szabályzathoz való leképezését ismertetik:
A claimConstraints mező a fenti wsi:ClaimType elemben megjelenő jogcímtípus-URI-k halmazának ellenőrzésére szolgál.
Az issuerAddress mező megfelel a fenti wsp:Issuer elemnek, amely a jogkivonatot kibocsátó szolgáltatás WS_ENDPOINT_ADDRESS.
A requestSecurityTokenTemplate mező a wsp:RequestSecurityTokenTemplate elem gyermekelemeinek felel meg.
WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_CONSTRAINT
Ez a szakasz akkor érvényes, ha a WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_CONSTRAINT biztonsági kötési kényszer meg van adva. Ebben az esetben a következő házirend-állításokat használjuk:
<sp:EndorsingSupportingTokens...>
<wsp:Policy>
<sp:SecureConversationToken sp:IncludeToken="xs:anyURI"? ...="" >
<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>
Az entrópia üzemmódot az <sp:Trust10> állítás határozza meg. <sp:RequireClientEntropy/> és <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
Ez a szakasz akkor érvényes, ha a WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT biztonsági kötési korlátozás meg van adva. A WS_TRUST_VERSION és a kapcsolódó beállítások azonosításához az alábbi szabályzat-állítások szolgálnak.
<sp:Trust10> => WS_TRUST_VERSION_FEBRUARY_2005
<sp:Policy>
<sp:MustSupportClientChallenge/> ?
<sp:MustSupportServerChallenge/> ?
<sp:RequireClientEntropy/> ?
<sp:RequireServerEntropy/> ?
<sp:MustSupportIssuedTokens/> ?
</sp:Policy>
</sp:Trust10>
A megbízhatósági verzió a WS_REQUEST_SECURITY_TOKEN_PROPERTY_CONSTRAINTWS_REQUEST_SECURITY_TOKEN_PROPERTY_TRUST_VERSIONtulajdonságazonosítójával adható meg.
WS_SECURITY_PROPERTY_SECURITY_HEADER_VERSION (Biztonsági tulajdonság fejléc verziója)
Ez a szakasz a következő kötési korlátozások bármelyikének használatakor érvényes:
- WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_USERNAME_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_CERT_MESSAGE_BIZTONSÁGI_KÖTÉS_ÉRTELMEZÉS
- WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT
A fejléc biztonsági verzióját (a WS_SECURITY_PROPERTY_SECURITY_HEADER_VERSION) a következő házirend-állítások egyike határozza meg:
<wsp:Wss10> ... </wsp:Wss10> => WS_SECURITY_HEADER_VERSION_1_0
<wsp:Wss11> ... </wsp:Wss11> => WS_SECURITY_HEADER_VERSION_1_1
A fejléc biztonsági elrendezésével kapcsolatos korlátozások
Ez a szakasz a következő kötési korlátozások bármelyikének használatakor érvényes:
- WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_USERNAME_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_CERT_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT
A biztonsági fejléc elrendezését (WS_SECURITY_PROPERTY_SECURITY_HEADER_LAYOUT) a következő házirend-állítások egyike határozza meg:
<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>
Időbélyeg biztonsági korlátozásai
Ez a szakasz a következő kötési korlátozások bármelyikének használatakor érvényes:
- WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_USERNAME_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_CERT_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT
Azt, hogy szerepel-e időbélyeg a biztonsági fejlécben (WS_SECURITY_PROPERTY_TIMESTAMP_USAGE) az sp:IncludeTimestamp jelenléte határozza meg a következő helyen:
<sp:TransportBinding>
<wsp:Policy>
<sp:IncludeTimestamp.../>
</wsp:Policy>
</sp:TransportBinding>
Ha az sp:IncludeTimestamp állítás jelen van, a szabályzat értéke WS_SECURITY_TIMESTAMP_USAGE_ALWAYS.
Ha az sp:IncludeTimestamp követelmény nem jelenik meg, a szabályzat értéke a következő: WS_SECURITY_TIMESTAMP_USAGE_NEVER.