Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie eine Verbindung in ADOMD.NET verwenden, hängt die von der Verbindung verwendete Sicherheitsmethode vom Wert der ProtectionLevel-Eigenschaft im Verbindungszeichenfolge ab. Sie legen diese Eigenschaft fest, wenn Sie die Methode Open des AdomdConnection aufrufen.
Die Eigenschaft ProtectionLevel bietet vier Sicherheitsstufen: nicht authentifiziert, authentifiziert, signiert und verschlüsselt. In der folgenden Tabelle werden die einzelnen Ebenen beschrieben.
Hinweis
Die Datenbankverbindungspooling erfordert identische Verbindungszeichenfolgen, sodass die Datenbank die Sicherheit für poolierte Verbindungen nicht verwalten kann. Verwalten Sie die Sicherheit an anderer Stelle.
| Sicherheitsstufe | ProtectionLevel-Wert |
|---|---|
|
Nicht authentifizierte Verbindung Eine nicht authentifizierte Verbindung verwendet keine Authentifizierungsform. Diese Art von Verbindung ist die am häufigsten unterstützte, aber am wenigsten sichere Form der Verbindung. |
None |
|
Authentifizierte Verbindung Eine authentifizierte Verbindung authentifiziert den Benutzer, der die Verbindung durchführt, sichert aber keine zusätzliche Kommunikation. Diese Art von Verbindung ist nützlich, da Sie die Identität des Benutzers oder der Anwendung einrichten können, der eine Verbindung mit einer analytischen Datenquelle herstellt. |
Herstellen einer Verbindung |
|
Signierte Verbindung Eine signierte Verbindung authentifiziert den Benutzer, der die Verbindung anfordert, und stellt dann sicher, dass Übertragungen nicht geändert werden. Diese Art von Verbindung ist nützlich, wenn die Authentizität der übertragenen Daten überprüft werden muss. Eine signierte Verbindung verhindert jedoch nur, dass der Inhalt des Datenpakets geändert wird. Der Inhalt kann weiterhin während des Transports angezeigt werden. Beachten Sie, dass eine signierte Verbindung nur von dem von SQL Server Analysis Services bereitgestellten XML für Analyseanbieter unterstützt wird. |
Pkt Integrity oder PktIntegrity |
|
Verschlüsselte Verbindung Eine verschlüsselte Verbindung ist der Standardverbindungstyp, der von ADOMD.NET verwendet wird. Diese Art von Verbindung authentifiziert den Benutzer, der die Verbindung anfordert, und verschlüsselt dann auch die übertragenen Daten. Eine verschlüsselte Verbindung ist die sicherste Form der Verbindung, die ADOMD.NET erstellen kann. Der Inhalt des Datenpakets kann nicht angezeigt oder geändert werden, wodurch Daten während der Übertragung geschützt werden. Eine verschlüsselte Verbindung wird nur vom xml for Analysis-Anbieter unterstützt, der von SQL Server Analysis Services bereitgestellt wird. |
Pkt Privacy oder PktPrivacy |
Verfügbare Sicherheitsstufen hängen vom Verbindungstyp ab:
TCP-Verbindungen unterstützen alle vier Sicherheitsstufen. Eine TCP-Verbindung mit Windows Integrated Security bietet die sicherste Verbindung zu einer analytischen Datenquelle.
Eine HTTP-Verbindung kann nur eine authentifizierte Verbindung sein. Legen Sie daher die ProtectionLevel-Eigenschaft auf "Connect" fest.
Eine HTTPS-Verbindung kann nur eine verschlüsselte Verbindung sein. Legen Sie daher die ProtectionLevel-Eigenschaft auf Pkt Privacy oder PktPrivacy fest.
Schützen von TCP-Verbindungen
Für TCP-Verbindungen unterstützt die ProtectionLevel-Eigenschaft alle vier Sicherheitsstufen:
| ProtectionLevel-Wert | Mit TCP-Verbindung verwenden? | Ergebnisse |
|---|---|---|
| None | Yes | Gibt eine nicht authentifizierte Verbindung an. Ein TCP-Stream wird vom Anbieter angefordert, der Anbieter authentifiziert jedoch nicht den Benutzer, der den Datenstrom anfordert. |
| Herstellen einer Verbindung | Yes | Gibt eine authentifizierte Verbindung an. Ein TCP-Stream wird vom Anbieter angefordert, und dann authentifiziert der Anbieter den Sicherheitskontext des Benutzers, der den Datenstrom anfordert: Wenn die Authentifizierung erfolgreich ist, wird keine andere Aktion ausgeführt. Wenn die Authentifizierung fehlschlägt, trennt das AdomdConnection Objekt die Verbindung mit der multidimensionalen Datenquelle und löst eine Ausnahme aus. Nachdem die Authentifizierung erfolgreich war oder fehlschlägt, wird der Sicherheitskontext, der zum Authentifizieren der Verbindung verwendet wird, gelöscht. |
| Pkt Integrity oder PktIntegrity | Yes | Gibt eine signierte Verbindung an. Ein TCP-Stream wird vom Anbieter angefordert, und dann authentifiziert der Anbieter den Sicherheitskontext des Benutzers, der den Datenstrom anfordert: Wenn die Authentifizierung erfolgreich ist, schließt das AdomdConnection Objekt den vorhandenen TCP-Datenstrom und öffnet einen signierten TCP-Datenstrom, um alle Anforderungen zu verarbeiten. Der Anbieter verwendet den Sicherheitskontext der Verbindung, um jede Daten- oder Metadatenanforderung zu authentifizieren. Außerdem signiert es jedes Paket digital, um zu bestätigen, dass sich die Nutzlast nicht geändert hat. Wenn die Authentifizierung fehlschlägt, trennt das AdomdConnection Objekt die Verbindung mit der multidimensionalen Datenquelle und löst eine Ausnahme aus. |
| Pkt Privacy oder PktPrivacy | Yes | Gibt eine verschlüsselte Verbindung an. Durch Weglassen der ProtectionLevel-Eigenschaft aus dem Verbindungszeichenfolge wird auch eine verschlüsselte Verbindung angegeben. Ein TCP-Stream wird vom Anbieter angefordert, und dann authentifiziert der Anbieter den Sicherheitskontext des Benutzers, der den Datenstrom anfordert: Wenn die Authentifizierung erfolgreich verläuft, schließt das AdomdConnection Objekt den vorhandenen TCP-Datenstrom und öffnet einen verschlüsselten TCP-Datenstrom, um alle Anforderungen zu verarbeiten. Jede Anforderung für Daten oder Metadaten wird mithilfe des Sicherheitskontexts authentifiziert, der zum Öffnen der Verbindung verwendet wurde. Darüber hinaus wird die Nutzlast jedes TCP-Pakets mit der höchsten Verschlüsselungsmethode verschlüsselt, die sowohl vom Anbieter als auch von der multidimensionalen Datenquelle unterstützt wird. Wenn die Authentifizierung fehlschlägt, trennt das AdomdConnection Objekt die Verbindung mit der multidimensionalen Datenquelle und löst eine Ausnahme aus. |
Verwenden Sie für die Verbindung die integrierte Windows-Sicherheit.
Windows Integrierte Sicherheit ist die sicherste Möglichkeit, eine Verbindung mit einer Azure Analysis Services Instanz herzustellen und zu schützen. Während der Authentifizierung werden keine Anmeldeinformationen angezeigt, z. B. ein Benutzername oder ein Kennwort. Stattdessen wird der Sicherheitsbezeichner des aktuellen Prozesses verwendet, um die Identität festzustellen. Bei den meisten Clientanwendungen stellt dieser Sicherheitsbezeichner die Identität des aktuell angemeldeten Benutzers dar.
Für die Verwendung der integrierten Windows-Sicherheit erfordert die Verbindungszeichenfolge die folgenden Einstellungen:
Legen Sie für die Integrated Security-Eigenschaft diese Eigenschaft nicht fest, oder legen Sie diese Eigenschaft auf SSPI fest.
Hinweis
Windows Integrierte Sicherheit unterstützt nur TCP-Verbindungen. Legen Sie für HTTP-Verbindungen "Integrated Security " auf "Basic" fest.
Legen Sie die ProtectionLevel-Eigenschaft auf "Connect", "Pkt Integrity" oder "Pkt Privacy" fest.
Schützen von HTTP-Verbindungen
Verwenden Sie HTTPS und Secure Sockets Layer (SSL), um die HTTP-Kommunikation mit einer analytischen Datenquelle zu sichern.
Da ein XMLA-Anbieter nur sicheres HTTP verwendet, signieren Sie jede ADOMD.NET HTTP-Verbindung wie in der folgenden Tabelle dargestellt.
| ProtectionLevel-Wert | Mit HTTP oder HTTPS verwenden |
|---|---|
| None | Nein |
| Herstellen einer Verbindung | HTTP |
| Pkt Integrity oder PktIntegrity | Nein |
| Pkt Privacy oder PktPrivacy | HTTPS |
Öffnen einer sicheren HTTP-Verbindung
In diesem Beispiel wird ADOMD.NET verwendet, um eine HTTP-Verbindung mit der AdventureWorksAS Analysis Services-Beispieldatenbank zu öffnen:
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;"
' The connection string doesn't include a username or password.
' ADOMD.NET uses the current security context 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