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 |
---|---|
|
None |
|
Connect |
|
Pkt Integrity lub PktIntegrity |
|
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:
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:
|
Pkt Privacy lub PktPrivacy |
Tak |
Określa połączenie szyfrowane. ![]()
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:
|
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