Udostępnij za pośrednictwem


Establishing Secure Connections in ADOMD.NET

Gdy używane jest połączenie w ADOMD.NET, metodę zabezpieczeń, który jest używany dla połączenia zależy od wartości ProtectionLevel Właściwość ciąg połączenia używany podczas wywoływania Open() Metoda AdomdConnection.

The ProtectionLevel właściwość offers four levels of security: nieuwierzytelniony uwierzytelnione, podpisanej i zaszyfrowanej. W poniższej tabela opisano te różne poziomy zabezpieczeń.

Uwaga

Jeśli wybierzesz tworzenie puli połączeń bazy danych, bazy danych nie będzie możliwe do zarządzania zabezpieczeniami.Dzieje się tak, ponieważ pula połączeń bazy danych wymaga, aby ciąg połączenia był taki sam, jak pula połączeń.Dlatego też trzeba zarządzać zabezpieczeń w innym miejscu.

Poziom zabezpieczeń

Wartość ProtectionLevel

połączenia nieuwierzytelnione

Nieuwierzytelnionego połączenia nie ma formy uwierzytelnianie.Ten rodzaj połączenia reprezentuje najczęściej obsługiwane, ale najmniej bezpieczna, rodzaj połączenia.

None

uwierzytelnione połączenie

Uwierzytelnionego połączenia uwierzytelnia użytkownika, który wysłał połączenia, ale nie zabezpieczyć dodatkową komunikację.Tego rodzaju połączenia jest przydatne, w którym można ustalić tożsamość użytkownika lub aplikacji, która łączy się ze źródłem dane analityczne.

Connect

podpisane połączenia

Połączenie podpisanych uwierzytelnia użytkownika, który żąda połączenia, a następnie tworzy się, że transmisja nie zostaną zmienione.Ten rodzaj połączenia jest przydatna wtedy, gdy trzeba sprawdzić autentyczność przeniesione dane.Jednak połączenia podpisanych tylko uniemożliwia zawartość pakiet danych modyfikowany.Zawartość nadal można wyświetlić w drodze.

NoteNote:
A signed connection is only supported by the XML for Analysis provider supplied by Microsoft SQL Server Analysis Services.

Pkt Integrity lub PktIntegrity

szyfrowane połączenie

Zaszyfrowanego połączenia jest to domyślny typ połączenia, który jest używany przez program 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 formą securest połączenia, które mogą być tworzone przez program ADOMD.NET.Zawartość pakiet danych nie można wyświetlić lub zmodyfikować, a tym samym ochrona danych podczas przesyłania.

NoteNote:
An encrypted connection is only supported by the XML for Analysis provider supplied by SQL Server Analysis Services.

Pkt Privacy lub PktPrivacy

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

  • Połączenia TCP można użyć dowolnego z czterech poziomów zabezpieczeń.W rzeczywistości połączenie TCP, podczas korzystania z zabezpieczenia zintegrowane systemu Windows, oferuje securest metoda łączenia się z dane analityczne urządzenie źródłowe.

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

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

Zabezpieczanie połączeń TCP

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

Wartość ProtectionLevel

Użycie z połączeń TCP?

Wyniki

None

Tak

Określa, w przypadku połączenia nieuwierzytelnione.

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

Connect

Tak

Określa uwierzytelnionego połączenia.

Żąda strumienia TCP przez dostawca, a następnie w kontekście zabezpieczeń użytkownika, który żąda strumienia jest uwierzytelniany na serwerze:

  • Jeśli uwierzytelnianie zakończy się pomyślnie, są podejmowane nie inne czynności.

  • Jeśli uwierzytelnianie nie powiedzie się, AdomdConnection obiekt odłącza od urządzenie źródłowe danych wielowymiarowych i zostanie zgłoszony wyjątek.

Po uwierzytelnienie powiedzie się lub kończy się niepowodzeniem, jest usuwany w kontekście zabezpieczeń, które jest używane do uwierzytelnienia połączenia.

Pkt Integrity lub PktIntegrity

Tak

Określa połączenie podpisane.

Żąda strumienia TCP przez dostawca, a następnie w kontekście zabezpieczeń użytkownika, który żąda strumienia jest uwierzytelniany na serwerze:

  • Jeśli uwierzytelnianie kończy się powodzeniem, AdomdConnection obiekt Zamyka istniejące strumienia TCP i otwiera podpisanych strumienia TCP może obsługiwać wszystkie żądania. Każde żądanie danych i metadane jest uwierzytelniany przy użyciu kontekstu zabezpieczeń, który został użyty do otwarcia połączenia.Ponadto każdy pakiet jest podpisany cyfrowo, aby upewnić się, że ładunek pakietu TCP nie zostało zmienione w żaden sposób.

  • Jeśli uwierzytelnianie nie powiedzie się, AdomdConnection obiekt odłącza od urządzenie źródłowe danych wielowymiarowych i zostanie zgłoszony wyjątek.

Pkt Privacy lub PktPrivacy

Tak

Określa połączenie szyfrowane.

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

Żąda strumienia TCP przez dostawca, a następnie w kontekście zabezpieczeń użytkownika żądającego strumień jest uwierzytelniany na serwerze:

  • Jeśli uwierzytelnianie kończy się powodzeniem, AdomdConnection obiekt Zamyka istniejące strumienia TCP i otwiera zaszyfrowany strumień TCP może obsługiwać wszystkie żądania. Każde żądanie danych i metadane jest uwierzytelniany przy użyciu kontekstu zabezpieczeń, który został użyty do otwarcia połączenia.Ponadto ładunek każdy pakiet TCP są szyfrowane za pomocą najwyższej metoda szyfrowanie obsługiwane przez urządzenie źródłowe danych wielowymiarowych i Dostawca.

  • Jeśli uwierzytelnianie nie powiedzie się, AdomdConnection obiekt odłącza od urządzenie źródłowe danych wielowymiarowych i zostanie zgłoszony wyjątek.

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

Zintegrowane zabezpieczenia systemu Windows jest securest sposób ustanowienia i zabezpieczania połączenia z wystąpienie programu Analysis Services. Zintegrowane zabezpieczenia systemu Windows nie wyświetla poświadczenia zabezpieczeń, takie jak nazwa użytkownika lub hasło, podczas procesu uwierzytelnianie, ale zamiast tego używa identyfikator zabezpieczeń aktualnie uruchomiony proces do ustalenia tożsamości.Dla większości aplikacji klient ten identyfikator zabezpieczeń reprezentuje tożsamość zalogowanego obecnie użytkownika.

Aby zastosować zintegrowane zabezpieczenia systemu Windows, ciąg połączenia wymaga następujących ustawień:

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

    Uwaga

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

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

Zabezpieczanie połączeń HTTP

HTTPS i Secure Sockets Layer (SSL) może służyć do zewnętrznie zabezpieczenia komunikacji protokołu HTTP ze źródłem dane analityczne.

Ponieważ dostawca XMLA używa tylko bezpieczne HTTP, połączenie HTTP w ADOMD.NET musi być podpisany połączenia, jak pokazano w poniższej tabela.

Wartość ProtectionLevel

Użycie 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 firmy Microsoft.

Otwieranie połączenia Secure HTTP

W poniższym przykładzie przedstawiono sposób użycia ADOMD.NET, aby otworzyć połączenie HTTP dla AdventureWorksAS Przykładowe Analysis Services Baza 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