Share via


SOAP üzerinde SQL Server kimlik doğrulaması

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Yerel XML Web Hizmetleri SQL Server, güvenlik, güvenlik sorumlusunu aşağıdakilerden herhangi birini kullanarak yönetilebilir:

  • Windows kullanıcı veya grup hesaplarını veya her ikisi de.

  • SQL Server oturum açma.

Windows hesaplarını HTTP bitiş noktası için kimlik doğrulaması kullanıldığında, ek SOAP kimlik doğrulama üstbilgisi gerekli değildir.HTTP bitiş noktası kimlik doğrulaması hakkında daha fazla bilgi için bkz: Son nokta kimlik doğrulaması türleri ve Endpoint IZINLERI (Transact-SQL).

Ancak, zaman SQL Server kullanılan oturumların, istemci uygulaması, Web Hizmetleri Güvenlik (WS-Security) üstbilgilerini içerir ve göndermek kullanılan SOAP kimlik doğrulaması için ayrıca uygulamalıdır SQL Server sunucuya oturum açma bilgileri.

SOAP kimlik doğrulamasında SQL Server oturumlar, bir HTTP kimlik doğrulaması türü kullanılır. Ayrıca HTTP katmanında kimliğini doğrulamak için kullanılan kullanıcı hesabının yalnızca yerel sunucunun Windows erişmesi ve değil mutlaka gerektirmez bir SQL Server oturum açma.

Not

Için SQL Server-kimlik doğrulaması, son nokta için karma mod yapılandırılmalıdır için SOAP LOGIN_TYPE seçeneği temel (LOGIN_TYPE KARMA =). Son nokta karma modda çalışan de bitiş noktası, Güvenli Yuva Katmanı (SSL) kanal üzerinden hizmet sağlamak üzere yapılandırılmış olması gerekir.Daha fazla bilgi için bkz:(Transact-SQL) son NOKTA oluşturun.

Bir SQL Server oturum açma (yalnızca karma mod) kimlik doğrulaması yapmak için WS-Security üstbilgileri'ni kullanma

WS-Security services.WS güvenlik gerektiği gibi kimlik bilgileri doğrulaması mekanizması sağlamak için burada kimlik bilgileri bilgilerini ve simgeleri SOAP istemcilerle örnek arasında geçirilebilir kullanılabilir, güvenli Web yardımcı olmak için SOAP ileti yapısını genişletmek için önerilen belirtimidir SQL Server alt yapısı'nı genişletme tarafından doğrudan SOAP ileti içinde.

Aşağıdaki koşullar doğruysa, WS güvenlik üstbilgileri sağlamak için kullanabilirsiniz SQL Server SOAP istemci uygulamasının bir parçası olarak kullanıcı ve parola bilgileri:

  • örnek SQL Server karma modda yüklendi. Bu, hem Windows anlamına gelir ve SQL Server oturum açma destekleniyor.

  • Bitiş noktası, aşağıdaki ayarlar kullanılır:

    • login_type = KARIŞIK.

    • BAĞLANTI NOKTASI =(SSL), bir bağlantı noktası SSL türü belirtildi.

  • Windows oturumu açma, bir parçası gibi olmayan kullanıcılar için bitiş noktası izinlerinin verilmiş olması gerekir SQL Server oturum açma.

Başlıktaki kimlik bilgileri, bir SOAP isteği, WS-Security üstbilgi içeriyorsa, HTTP tabanlı kimlik doğrulaması için son nokta gerçekleştirildiğinde, kullanılan kimlik bilgileri geçersiz kılar.

WS-güvenlik üstbilgisi için SQL Server kimlik doğrulaması kullanma

WS-güvenlik üstbilgisi örneğine gönderilen SOAP istekleri kullanılabilir SQL Server Aşağıdaki desteklemek için :

  • Taşıyan SQL Serveryetkilendirme (SQL-kimlik doğrulama) kimlik bilgileri.

  • Süresi dolmuş bir işleme SQL Server PAROLA.

SQL-kimlik bilgileri doğrulama kimlik bilgileri bilgilerini taşıyan

Aşağıdaki örnek, WS-güvenlik üstbilgisi bir SOAP isteği örneğine nasıl kullanılabileceğini gösterir. SQL Server taşımak için SQL Serveryetkilendirme (SQL-kimlik doğrulama) kimlik bilgileri.

<SOAP-ENV:Header>
            <wsse:Security  xmlns:wsse=
                        "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
            <wsse:UsernameToken>
                        <wsse:Username>JohnDoe</wsse:Username>
            <wsse:Password Type=
                        "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">pass-word1</wsse:Password>
            </wsse:UsernameToken>
            </wsse:Security>
</SOAP-ENV:Header>

Bu örnekte, <wsse:UserNameToken> öğe, aşağıdaki iki alt öğeleri içerecek şekilde kullanılır:

  • <wsse:Username> bulunan öğe SQL Server Kullanıcı adı.

  • <wsse:Password> kendi isteğe bağlı olan bir öğe Type öznitelik küme değerine "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"Kullanıcının parolasını metnini içeren .Bu kullanılır.

Not

Karma mod olduğunda desteklenir SQL Server ve HTTP SOAP bitiş noktası bir SSL bağlantı noktası en az nominal şifrelenmesini kullanıcının kimlik bilgileri bilgilerini sağlamak için gereklidir.

Bir tarihi geçmiş bir SQL Server parolası işleme

SQL Server Parola süre sonu özelliği sağlar.Parola özelliği, bir sunucu, kullanıcı parolasının süresi dolmuş bir oturum açma girişimi sırasında belirlediğinde, eski parola kullanıcı ve oturum açma işlemini işleminin başarıyla tamamlanabilmesi için yeni bir parola ile yanıt vermek üzere istemci gerektirir.

Bu özelliği desteklemek için istemci güncelleştirmesi için , şablonu bir örnek olarak aşağıdaki WS-güvenlik üstbilgisi'ni kullanarak bu işlemi gerçekleştirebilirsiniz.

<SOAP-ENV:Header>
 <wsse:Security  xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
            <wsse:UsernameToken>
                        <wsse:Username>JohnDoe</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">pass-word2</wsse:Password>
            <sql:OldPassword Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText" xmlns:sql="https://schemas.microsoft.com/sqlserver/2004/SOAP">pass-word1</sql:OldPassword>
            </wsse:UsernameToken>
 </wsse:Security>
</SOAP-ENV:Header>

Parola değiştirme de bir SOAP'ın bir parçası olarak gerçekleştirilebilecek oturum.Yeni bir oturum başlatıldığında parolayı değiştirme isteği ödenen.

Örneğin, yeni bir SOAP oturumunun bir parçası parolayı değiştirmek için , aşağıdaki ekleyin <SOAP-ENV:Header> bölümüne geçebilirsiniz:

<sqloptions:sqlSession xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options" initiate="true"/>

Daha fazla bilgi için bkz:SOAP oturumlar ile çalışma.

Ayrıca, <wsse:UserNameToken> öğe, aşağıdaki üç alt öğeler ile alınan kullanıcı kimlik bilgileri göndermek için önceki örnekte küçük farklılıklar içeren biraz değiştirilir:

  • <wsse:Username> bulunan öğe SQL Server Kullanıcı adı.

  • <wsse:Password> kendi isteğe bağlı olan bir öğe Type öznitelik küme değerine "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText". Bu kullanıcı için yeni bir parola metnini içerecek biçimde kullanılır.

  • <sql:OldPassword> kendi isteğe bağlı olan bir öğe Type öznitelik küme değerine "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"". Kullanıcı eski parola metnini içerecek biçimde kullanılır.

WS-güvenlik üstbilgisi için XML şeması

WS-güvenlik üstbilgisi için yalnızca bir uygulama için bir şema bölümü aşağıdadır SQL Server.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="https://schemas.microsoft.com/sqlserver/2004/SOAP" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
  <xsd:import namespace="https://schemas.microsoft.com/sqlserver/2004/SOAP" />
  <xsd:annotation>
    <xsd:documentation xml:lang="en">(c) Copyright 2004, Microsoft Corporation The following schema for Microsoft SQL Server is presented in XML format and is for informational purposes only. Microsoft Corporation ("Microsoft") may have trademarks, copyrights, or other intellectual property rights covering subject matter in the schema. Microsoft does not make any representation or warranty regarding the schema or any product or item developed based on the schema. The schema is provided to you on an AS IS basis. Microsoft disclaims all express, implied and statutory warranties, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, and freedom from infringement. Without limiting the generality of the foregoing, Microsoft does not make any warranty of any kind that any item developed based on the schema, or any portion of the schema, will not infringe any copyright, patent, trade secret, or other intellectual property right of any person or entity in any country. It is your responsibility to seek licenses for such intellectual property rights where appropriate. MICROSOFT SHALL NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING OUT OF OR IN CONNECTION WITH THE USE OF THE SCHEMA, INCLUDING WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL (INCLUDING ANY LOST PROFITS), PUNITIVE OR SPECIAL DAMAGES, WHETHER OR NOT MICROSOFT HAS BEEN ADVISED OF SUCH DAMAGES.</xsd:documentation> 
  </xsd:annotation>
  <xsd:element name="Security">
    <xsd:complexType>
      <xsd:sequence minOccurs="1" maxOccurs="1">
        <xsd:element name="UsernameToken">
          <xsd:complexType>
            <xsd:sequence minOccurs="1" maxOccurs="1">
              <xsd:element name="Username" type="xsd:string" />
              <xsd:element name="Password">
                <xsd:complexType>
                  <xsd:simpleContent>
                    <xsd:extension base="xsd:string">
                      <xsd:attribute name="Type" type="xsd:anyURI" />
                    </xsd:extension>
                  </xsd:simpleContent>
                </xsd:complexType>
              </xsd:element>
              <xsd:element name="OldPassword" type="sql:OldPassword" minOccurs="0" />
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="https://schemas.microsoft.com/sqlserver/2004/SOAP" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="https://schemas.microsoft.com/sqlserver/2004/SOAP">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">(c) Copyright 2004, Microsoft Corporation The following schema for Microsoft SQL Server is presented in XML format and is for informational purposes only. Microsoft Corporation ("Microsoft") may have trademarks, copyrights, or other intellectual property rights covering subject matter in the schema. Microsoft does not make any representation or warranty regarding the schema or any product or item developed based on the schema. The schema is provided to you on an AS IS basis. Microsoft disclaims all express, implied and statutory warranties, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, and freedom from infringement. Without limiting the generality of the foregoing, Microsoft does not make any warranty of any kind that any item developed based on the schema, or any portion of the schema, will not infringe any copyright, patent, trade secret, or other intellectual property right of any person or entity in any country. It is your responsibility to seek licenses for such intellectual property rights where appropriate. MICROSOFT SHALL NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING OUT OF OR IN CONNECTION WITH THE USE OF THE SCHEMA, INCLUDING WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL (INCLUDING ANY LOST PROFITS), PUNITIVE OR SPECIAL DAMAGES, WHETHER OR NOT MICROSOFT HAS BEEN ADVISED OF SUCH DAMAGES.</xsd:documentation> 
  </xsd:annotation>
  <xsd:complexType name="OldPassword">
    <xsd:simpleContent>
      <xsd:extension base="xsd:string">
        <xsd:attribute name="Type" type="xsd:anyURI" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:schema>