Udostępnij przez


Ustanawianie bezpiecznego połączenia w ADOMD.NET

Kiedy używać połączenia w ADOMD.NET, metoda zabezpieczeń, która jest używana dla połączenia zależy od wartości ProtectionLevel Właściwości połączenia ciąg używane podczas wywoływania Open metoda AdomdConnection.

ProtectionLevel właściwość dostępne są cztery poziomy zabezpieczeń: nieuwierzytelniony uwierzytelnione, podpisane i zaszyfrowane.W poniższej tabela opisano te różne poziomy zabezpieczeń.

Ostrzeżenie

Jeśli wybierzesz tworzenie puli połączeń bazy danych, baza danych nie będzie do zarządzania zabezpieczeniami.Wynika to pule bazy danych wymaga połączenia ciąg być identyczne z puli połączeń.Dlatego należy zarządzać zabezpieczeniami gdzie indziej.

Poziom zabezpieczeń

Wartość ProtectionLevel

połączenia nieuwierzytelnione

Połączenia nieuwierzytelnione nie ma formę uwierzytelnianie.Ten rodzaj połączenia reprezentuje formularz najbardziej powszechnie obsługiwaną, ale najmniej bezpiecznego połączenia.

None

uwierzytelnionego połączenia

Połączenia uwierzytelnionego uwierzytelnia użytkownika, który wysłał połączenia, ale nie zabezpieczyć dodatkową komunikację.Tego rodzaju połączenia jest przydatne, można ustalić tożsamość użytkownika lub aplikacji, łączącego się z dane analityczne źródło.

Connect

podpisane połączenia

Połączenie podpisane uwierzytelnia użytkownika, który żąda połączenia, a następnie sprawdza, czy transmisje nie są modyfikowane.Ten rodzaj połączenia jest przydatne, gdy należy zweryfikować autentyczność przekazywanych danych.Jednak połączenia podpisane tylko uniemożliwia zawartość pakiet danych modyfikowany.Zawartość nadal można wyświetlić w tranzycie.

UwagaUwaga:
A signed connection is only supported by the XML for Analysis provider supplied by Microsoft SQL Server Usługi Analysis Services.

Pkt Integrity lub PktIntegrity

zaszyfrowanego połączenia

Zaszyfrowanego połączenia jest domyślny typ połączenia używany przez ADOMD.NET.Ten rodzaj połączenia uwierzytelnia użytkownika, który żąda połączenia, a także szyfruje dane przesyłane.Zaszyfrowanego połączenia jest securest formą połączenia, utworzony przez ADOMD.NET.Nie można wyświetlić zawartość pakiet danych lub zmodyfikowany w ten sposób ochrony danych podczas przesyłania.

UwagaUwaga:
An encrypted connection is only supported by the XML for Analysis provider supplied by SQL Server Usługi Analysis Services.

Pkt Privacy lub PktPrivacy

Jednak nie wszystkie poziomy zabezpieczeń są dostępne dla wszystkich rodzajów połączeń:

  • Połączenie TCP można użyć jednej z czterech poziomów zabezpieczeń.W rzeczywistości połączenie TCP, korzystając z zintegrowane zabezpieczenia systemu Windows oferuje securest metody łączenia dane analityczne źródło.

  • Połączenie HTTP można tylko uwierzytelnione połączenie.Dlatego ProtectionLevel właściwość musi być zestaw do Connect.

  • Połączenie HTTPS można tylko zaszyfrowanego połączenia.Dlatego ProtectionLevel właściwość musi być zestaw do Pkt Privacy lub PktPrivacy.

Zabezpieczanie połączeń TCP

Połączenie TCP ProtectionLevel właściwość obsługuje wszystkie cztery poziomy zabezpieczeń, jak pokazano w poniższej tabela.

Wartość ProtectionLevel

Użyj połączenia TCP?

Wyniki

None

Tak

Określa połączenia nieuwierzytelnione.

Żąda strumienia TCP od dostawca, ale jest nie forma uwierzytelnianie na użytkownika, który żąda strumienia.

Connect

Tak

Określa uwierzytelnianego połączenia.

Strumienia TCP żąda od dostawca, a następnie w kontekście zabezpieczeń użytkownika, który żąda strumienia jest uwierzytelniane przez serwer:

  • Jeśli uwierzytelnianie przebiega prawidłowo, nie akcja jest pobierana.

  • Jeśli uwierzytelnianie nie powiedzie się, AdomdConnection obiektu Rozłącza z wielowymiarowego źródło danych i jest wyjątek.

Po uwierzytelnianie lub niepomyślnym, kontekst zabezpieczeń, który jest używany do uwierzytelnienia połączenia jest usuwany.

Pkt Integrity lub PktIntegrity

Tak

Określa połączenie podpisane.

Strumienia TCP żąda od dostawca, a następnie w kontekście zabezpieczeń użytkownika, który żąda strumienia jest uwierzytelniane przez serwer:

  • Jeśli uwierzytelnianie się powiedzie, AdomdConnection obiektu zamyka istniejący strumienia TCP i otwiera podpisane strumienia TCP do obsługi wszystkich żądań.Każdy wniosek o danych lub metadane jest uwierzytelniany przy użyciu kontekstu zabezpieczeń, która została użyta do otwarcia połączenia.Ponadto każdy pakiet jest podpisany cyfrowo upewnić się, że ładunek pakietu TCP nie została zmieniona w jakikolwiek sposób.

  • Jeśli uwierzytelnianie nie powiedzie się, AdomdConnection obiektu Rozłącza z wielowymiarowego źródło danych i jest wyjątek.

Pkt Privacy lub PktPrivacy

Tak

Określa zaszyfrowanego połączenia.

UwagaUwaga:
Można również określić zaszyfrowanego połączenia nie ustawiając ProtectionLevel właściwość w połączeniu z ciąg.

Strumienia TCP żąda od dostawca, a następnie kontekst zabezpieczeń użytkownika żąda strumienia jest uwierzytelniane przez serwer:

  • Jeśli uwierzytelnianie się powiedzie, AdomdConnection obiektu zamyka istniejący strumienia TCP i otwiera zaszyfrowany strumień TCP do obsługi wszystkich żądań.Każdy wniosek o danych lub metadane jest uwierzytelniany przy użyciu kontekstu zabezpieczeń, która została użyta do otwarcia połączenia.Ponadto ładunek każdy pakiet TCP są szyfrowane przy użyciu najwyższej metoda szyfrowanie obsługiwany przez dostawca i wielowymiarowego źródło danych.

  • Jeśli uwierzytelnianie nie powiedzie się, AdomdConnection obiektu Rozłącza z wielowymiarowego źródło danych i jest wyjątek.

Przy użyciu zintegrowanych zabezpieczeń systemu Windows dla połączenia

Zintegrowane zabezpieczenia systemu Windows jest securest sposobem ustanowienia i zabezpieczanie połączeń do wystąpienie Usługi Analysis Services.Zintegrowane zabezpieczenia systemu Windows podczas procesu uwierzytelnianie nie ujawniać poświadczenia zabezpieczeń, takie jak nazwa użytkownika lub hasło, ale zamiast tego używa identyfikator zabezpieczeń z aktualnie uruchomiony proces do ustalenia tożsamości.Większość klient aplikacji, to identyfikator zabezpieczeń reprezentuje tożsamość użytkownika aktualnie zalogowanego.

Do korzystania z zabezpieczenia zintegrowane systemu Windows połączenia ciąg wymaga następujących ustawień:

  • Dla Integrated Security właściwość, albo nie zestaw tej właściwość lub zestaw tej właściwość, aby SSPI.

    Ostrzeżenie

    Zintegrowane zabezpieczenia systemu Windows jest dostępna tylko dla połączeń TCP, ponieważ należy używać połączeń HTTP Basic dla Integrated Security właściwość.

  • Dla ProtectionLevel właściwość, zestaw tej właściwość, aby Connect, Pkt Integrity, lub Pkt Privacy.

Zabezpieczanie połączeń HTTP

HTTPS i SSL (Secure Sockets Layer) mogą być używane na zewnątrz bezpieczna komunikacja HTTP dane analityczne źródło.

Ponieważ XMLA dostawca tylko do zastosowań secure HTTP połączenie HTTP w ADOMD.NET musi być podpisany połączenia, jak pokazano w poniższej tabela.

Wartość ProtectionLevel

Użyj protokołu HTTP lub HTTPS

None

Nie

Connect

HTTP

Pkt Integrity lub PktIntegrity

Nie

Pkt Privacy lub PktPrivacy

HTTPS

Aby uzyskać więcej informacji, zobacz Konfigurowanie dostęp HTTP do programu SQL Server Analysis Services w systemie Microsoft Windows XP na witryna sieci Web Microsoft.

Otwieranie połączenia Secure HTTP

Poniższy przykład ilustruje sposób używania ADOMD.NET, aby otworzyć połączenie HTTP dla AdventureWorksAS próbki Usługi Analysis Services bazy danych:

Public Function GetAWEncryptedConnection( _
    Optional ByVal serverName As String = "https:\\localhost\isapy\msmdpump.dll") _
    As AdomdConnection

    Dim strConnectionString As String = ""
    Dim objConnection As New AdomdConnection

    Try
        ' To establish an encrypted connection, set the 
        ' ProtectionLevel setting to PktPrivacy.
        strConnectionString = "DataSource=" & serverName & ";" & _
            "Catalog=AdventureWorksAS;" & _
            "ProtectionLevel=PktPrivacy;"

        ' Note that username and password are not supplied here.
        ' The current security context is used for authentication
        ' purposes.

        objConnection.ConnectionString = strConnectionString
        objConnection.Open()
    Catch ex As Exception
        objConnection = Nothing
        Throw ex
    Finally
        ' Return the encrypted connection.
        GetAWEncryptedConnection = objConnection
    End Try
End Function

Zobacz także

Odwołanie