Handbuch für Sicherheit > Berechtigungen > SQL-Datendienst-Berechtigungen
  

SQL-Datendienst-Berechtigungen

Endbenutzer können über eine JDBC- oder ODBC-Client-Tool eine Verbindung zu einem SQL-Datendienst herstellen. Nach dem Verbindungsaufbau können die Benutzer SQL-Abfragen für virtuelle Tabellen in einem SQL-Datendienst ausführen oder eine virtuelle gespeicherte Prozedur in einem SQL-Datendienst ausführen. Berechtigungen steuern die Zugriffsebene eines Benutzers auf einen SQL-Datendienst.
Berechtigungen lassen sich Benutzern und Gruppen für folgende SQL-Datendienstobjekte zuweisen:
Wenn Sie einem SQL-Datendienst-Objekt eine Berechtigung zuweisen, erbt der Benutzer oder die Gruppe dieselben Berechtigungen für alle Objekte, die zu diesem SQL-Datendienst-Objekt gehören. Zum Beispiel: Sie weisen einem Benutzer eine Auswahlberechtigung für einen SQL-Datendienst zu. Der Benutzer erbt seine Auswahlberechtigung auf allen virtuellen Tabellen im SQL-Datendienst.
Sie können Berechtigungen für Benutzer und Gruppen für einige SQL-Datendienst-Objekte verweigern. Wenn Sie Berechtigungen verweigern, konfigurieren Sie Ausnahmen für die Berechtigungen, die Benutzer und Gruppen bereits haben. Beispielsweise können Sie keine Berechtigungen für eine Spalte in einer virtuellen Tabelle zuweisen, aber Sie können einem Benutzer verweigern, eine SQL-SELECT-Anweisung auszuführen, die diese Spalte enthält.

Arten von SQL-Datendienst-Berechtigungen

Sie können die folgenden Berechtigungen für Benutzer und Gruppen zuordnen:
Einige Berechtigungen sind nicht für alle SQL-Datendienstobjekte anwendbar.
Die folgende Tabelle beschreibt die Berechtigungen für jedes SQL-Datendienstobjekt:
Objekt
Berechtigung gewähren
Ausführungsberechtigung
Auswahlberechtigung
SQL-Datendienst
Erteilen und entziehen von Berechtigung auf dem SQL-Datendienst und allen Objekten innerhalb des SQL-Datendienstes.
Alle virtuellen gespeicherten Prozeduren im SQL-Datendienst ausführen.
SQL-SELECT-Anweisungen auf allen virtuellen Tabellen im SQL-Datendienst ausführen.
Virtuelle Tabelle
Erteilen und entziehen der Berechtigung für die virtuelle Tabelle.
-
Ausführen von SQL-SELECT-Anweisungen für die virtuelle Tabelle.
Virtuelle gespeicherte Prozedur
Erteilen und entziehen der Berechtigung auf der virtuellen gespeicherten Prozedur.
Virtuelle gespeicherte Prozedur ausführen.
-

Berechtigungen für den SQL-Datendienst zuweisen

Wenn Sie Berechtigungen für ein SQL-Datendienstobjekt zuweisen, bestimmen Sie die Zugriffsebene des Benutzers oder der Gruppe zu dem Objekt.
    1Wählen Sie auf der Registerkarte „Verwalten“ die Ansicht Dienste und Knoten aus.
    2Wählen Sie im Navigator einen Datenintegrationsdienst.
    3In der Inhaltsübersicht wählen Sie die Ansicht Anwendungen.
    4Wählen Sie das SQL-Datendienstobjekt.
    5Wählen Sie im Fenster Details die Ansicht Gruppenberechtigungen oder Benutzerberechtigungen.
    6Klicken Sie auf die Schaltfläche Berechtigung zuweisen.
    Im Dialogfeld Berechtigungen zuweisen stehen alle Benutzer oder Gruppen, die keine Berechtigung für das SQL-Datendienstobjekt haben.
    7Geben Sie die Filterbedingungen zum Suchen nach Benutzern und Gruppen ein und klicken Sie auf die Schaltfläche Filtern.
    8Wählen Sie einen Benutzer oder eine Gruppe aus und klicken Sie auf Weiter.
    9Für jeden Berechtigungstyp, den Sie zuweisen möchten, wählen Sie Zulassen.
    10Klicken Sie auf Fertig stellen.

Berechtigungsdetails zu einem SQL-Datendienst anzeigen

Beim Anzeigen von Berechtigungsdetails können Sie die Herkunft effektiver Berechtigungen anzeigen.
    1Wählen Sie auf der Registerkarte „Verwalten“ die Ansicht Dienste und Knoten aus.
    2Wählen Sie im Navigator einen Datenintegrationsdienst.
    3In der Inhaltsübersicht wählen Sie die Ansicht Anwendungen.
    4Wählen Sie das SQL-Datendienstobjekt.
    5Wählen Sie im Fenster Details die Ansicht Gruppenberechtigungen oder Benutzerberechtigungen.
    6Geben Sie die Filterbedingungen zum Suchen nach Benutzern und Gruppen ein und klicken Sie auf die Schaltfläche Filtern.
    7Wählen Sie einen Benutzer oder eine Gruppe aus und klicken Sie auf die Schaltfläche Berechtigungsdetails anzeigen.
    Das Dialogfeld Berechtigungsdetails anzeigen erscheint. Es enthält alle direkt einem Benutzer oder einer Gruppe zugewiesenen Berechtigungen und alle direkten Berechtigungen, die einer übergeordneten Gruppe zugewiesen wurden, sowie Berechtigungen, die von übergeordneten Objekten geerbt wurden. Zusätzlich wird bei den Berechtigungsdetails angezeigt, ob dem Benutzer oder der Gruppe die Administratorrolle zugewiesen ist, wodurch die Prüfung von Berechtigungen übergangen wird.
    8Klicken Sie auf Schließen
    9Oder klicken Sie auf Berechtigungen bearbeiten, um die Berechtigungen sofort zu ändern.

Bearbeiten von Berechtigungen für den SQL-Datendienst.

Sie können die direkten Berechtigungen für einen SQL-Datendienst für einen Benutzer oder eine Gruppe bearbeiten. Geerbte Berechtigungen oder Ihre eigenen Berechtigungen können Sie nicht widerrufen.
HINWEIS: Wenn Sie direkte Berechtigungen für ein Objekt widerrufen, kann der Benutzer oder die Gruppe trotzdem Berechtigungen von einer übergeordneten Gruppe oder einem solchen Objekt erben.
    1Wählen Sie auf der Registerkarte „Verwalten“ die Ansicht Dienste und Knoten aus.
    2Wählen Sie im Navigator einen Datenintegrationsdienst.
    3In der Inhaltsübersicht wählen Sie die Ansicht Anwendungen.
    4Wählen Sie das SQL-Datendienstobjekt.
    5Wählen Sie im Fenster Details die Ansicht Gruppenberechtigungen oder Benutzerberechtigungen.
    6Geben Sie die Filterbedingungen zum Suchen nach Benutzern und Gruppen ein und klicken Sie auf die Schaltfläche Filtern.
    7Wählen Sie einen Benutzer oder eine Gruppe und klicken Sie auf die Schaltfläche Direkte Berechtigungen bearbeiten.
    Das Dialogfeld Direkte Berechtigungen bearbeiten wird geöffnet.
    8Wählen Sie, ob Sie Berechtigungen erteilen oder widerrufen möchten.
    Indem Sie auf Berechtigungsdetails anzeigen klicken, können Sie überprüfen, ob die Berechtigung direkt zugeordnet oder geerbt wurde.
    9Klicken Sie auf OK.

Verweigern von Berechtigungen für einen SQL-Datendienst.

Bei einigen SQL-Datendienstobjekten können Sie Berechtigungen ausdrücklich verweigern. Wenn Sie eine Berechtigung für ein Objekt in einem SQL-Datendienst verweigern, wenden Sie eine Ausnahme der effektiven Berechtigung an.
Verwenden Sie zum Verweigern von Berechtigungen einen der folgenden infacmd-Befehle:
Jeder Befehl hat Optionen zum Anwenden (-ap) und Verweigern von Berechtigungen (-dp). Der Befehl SetColumnPermissions enthält keine Option zum Anwenden der Berechtigungen.
HINWEIS: Berechtigungen vom Administrator Tool können Sie nicht verweigern.
Der Data Integration Service überprüft die Berechtigungen, bevor er SQL-Abfragen und gespeicherte Prozeduren gegen die virtuelle Datenbank startet. Der Data Integration Service validiert die Berechtigungen für Benutzer oder Gruppen beginnend auf der SQL-Datendienstebene. Wenn Berechtigungen für ein übergeordnetes Objekt in einem SQL-Datendienst gelten, erben die Kind-Objekte die Berechtigung. Der Data Integration Service nimmt eine Prüfung auf verweigerte Berechtigungen auf Spaltenebene durch.

Sicherheit auf Spaltenebene

Ein Administrator kann den Zugriff auf Spalten in einer virtuellen Tabelle eines SQL-Datenobjekts verweigern. Der Administrator kann das Verhalten des Data Integration Services für Abfragen einer Spalte mit begrenztem Zugriff konfigurieren.
Wenn der Benutzer eine Spalte abfragt, für die er keine Berechtigung hat, sind folgende Ergebnisse möglich:
Weitere Informationen zum Konfigurieren der Sicherheit für SQL-Datendienste finden Sie im Artikel „Sicherheitskonfiguration für SQL-Datendienste“ der Informatica-Produktverwendung: https://kb.informatica.com/h2l/HowTo%20Library/1/0266_ConfiguringSecurityForSQLDataServices.pdf.

Eingeschränkte Spalten

Beim Konfigurieren der Sicherheit auf Spaltenebene legen Sie mit einer Option fest, was geschehen soll, wenn ein Benutzer die eingeschränkte Spalte in einer Abfrage auswählt. Sie können die eingeschränkten Daten durch einen Standardwert ersetzen. Alternativ können Sie die Abfrage fehlschlagen lassen, wenn ein Benutzer die eingeschränkte Spalte auswählt.
Zum Beispiel: Ein Administrator verweigert einem Benutzer den Zugriff auf die Spalte Gehalt in der Tabelle Mitarbeiter. Der Administrator konfiguriert einen Ersatzwert von 100.000 für die Spalte Gehalt. Wenn der Benutzer die Spalte Gehalt in einer SQL-Abfrage wählt, gibt der Data Integration Service in jeder Zeile 100.000 als Gehalt an.
Führen Sie den Befehl infacmd sql UpdateColumnOptions aus, um die Spaltenoptionen zu konfigurieren. Es ist nicht möglich, die Spaltenoptionen im Administrator Tool festzulegen
Wenn Sie den Befehl infacmd sql UpdateColumnOptions ausführen, geben Sie die folgenden Optionen an:
ColumnOptions.DenyWith=option
Gibt an, ob der Wert der eingeschränkten Spalte ersetzt werden oder die Abfrage fehlschlagen soll. Wenn Sie den Spaltenwert ersetzen, können Sie zwischen NULL oder einem konstanten Wert wählen. Geben Sie eine der folgenden Optionen an:
ColumnOptions.InsufficientPermissionValue=value
Ersetzt den Wert der eingeschränkten Spalte durch einen konstanten Wert. Standard ist ein leerer String. Wenn der Data Integration Service die Spalte durch einen leeren String ersetzt, die Spalte aber ist eine Zahl oder ein Datum ist, gibt die Abfrage einen Fehler zurück. Wenn Sie einen Wert für die Option DenyWith konfigurieren, ignoriert der Data Integration Service die Option InsufficientPermissionValue.
Um einen Ersatzwert für eine Spalte zu konfigurieren, geben Sie den Befehl mit folgender Syntax ein:
infacmd sql UpdateColumnOptions -dn empDomain -sn DISService -un Administrator -pd Adminpass -sqlds employee_APP.employees_SQL -t Employee -c Salary -o ColumnOptions.DenyWith=VALUE ColumnOptions.InsufficientPermissionValue=100000
Wenn Sie keine der Optionen für eine eingeschränktes Spalte konfigurieren, schlagt die Abfrage standardmäßig nicht fehl. Die Abfrage wird ausgeführt und der Data Integration Service ersetzt den Wert der Spalte durch NULL.

Stufenweise Spaltensicherheit hinzufügen

Sie können mit dem Befehl infacmd sql SetColumnPermissions eine stufenweise Spaltensicherheit einrichten. Es ist nicht möglich, die stufenweise Spaltensicherheit im Administrator Tool einzurichten
Zum Beispiel: Eine Angestelltentabelle enthält Spalten für Vorname, Nachname, Abteilung und Gehalt. Sie können dem Benutzer einen Zugriff auf die Tabelle einrichten, der nur den Zugang auf die Spalte Gehalt verhindert.
Um den Benutzer vom Zugriff auf diese Spalte auszunehmen, deaktivieren Sie den Data Integration Service und geben den Befehl infacmd ähnlich dem nachstehenden ein:
infacmd sql SetColumnPermissions -dn empDomain -sn DISService -un Administrator -pd Adminpass -sqlds employee_APP.employees -t Employee -c Salary gun -Tom -dp SQL_Select
Die nachstehenden SQL-Anweisungen geben in der Spalte Gehalt NULL zurück:
Select * from Employee
Select LastName, Salary from Employee
Das Standardverhalten ist das Zurückgeben von Nullwerten.