Das folgende Beispiel für das Verdecken von Datensätzen bezieht sich auf ein Unternehmen mit drei Kunden: Logic Equipment, Widgets Inc. und Modern Software. Sie wollen die Datensätze vom Typ "Defect" so konfigurieren, dass diese Kunden auf Ihre Produktionsdatenbank zugreifen können, um die folgenden Tasks auszuführen:
Wenn Modern Software sich bei Ihrer Datenbank anmeldet, soll dieser Kunde keinen Zugriff auf Fehler erhalten, die von Widgets Inc., Logic Equipment oder von Ihrem eigenen Team gemeldet wurden. Wenn ein Modern-Software-Kunde eine Abfrage in Rational ClearQuest Client erstellt, kann er in der Ergebnisliste nur die Informationen zu den von anderen Modern-Software-Kunden übergebenen Fehlern einsehen.
Dieses Beispiel erläutert die folgenden Prozeduren:
Für diese Prozeduren sind verschiedene Benutzerzugriffsberechtigungen erforderlich. Sie müssen über die Berechtigung "super user" verfügen, um die in diesem Beispiel aufgeführten Prozeduren auszuführen.
In diesem Beispiel wird ein Schema verwendet, das auf dem vordefinierten Schema "DefectTracking" basiert, das die Satztypen "Defect" und "Customer" enthält. In diesem Beispiel wird vorausgesetzt, dass das Schema ausgecheckt ist.
In diesem Beispiel soll der Zugriff auf Fehlerdatensätze gesteuert werden. Dazu erstellen Sie ein Sicherheitskontextfeld in einem Satztyp "Defect", das auf den Datensatz "Customer" verweist. Sie erstellen dieses Feld im Raster "Fields", fügen das Feld zum Satzformular hinzu und wenden anschließend die Schemaänderungen an.
Ein Sicherheitskontextfeld muss dem Feldtyp "Reference" angehören. Sie können mehrere Sicherheitskontextfelder hinzufügen. Wenn Sie das tun, müssen Sie Mitglied mindestens einer der Benutzergruppen sein, die Datensätze dieses Typs einsehen können.
So erstellen Sie ein Sicherheitskontextfeld im Satztyp "Defect":
Durch Klicken auf den Satztyp "Customer" in der Liste "Reference To" wird das Markierungsfeld "Security Context" ausgewählt.
Eine Seite mit dem Namen "Ratl_Security" zu den Formularen "Submit" und "Default" des Sicherheitskontextsatztyps ("Customer") hinzugefügt. Über diese Seite können Sie in Rational ClearQuest Client die Gruppen auswählen, die diesen Datensatz einsehen können. Sie können den Namen der Seite "Ratl_Security" ändern. Weitere Informationen finden Sie im Abschnitt Seitennamen ändern.
Beispielsweise können Sie, um mehrere Sicherheitskontextfelder zu einem Satztyp hinzuzufügen, wie folgt vorgehen: Sie fügen ein Sicherheitskontextfeld hinzu, das auf den Satztyp "Customer" verweist, und ein anderes, das auf auf den Satztyp "Quality_Assurance" verweist. Wenn Sie Kunden zum Satztyp "Customer" und Mitglieder Ihres Qualitätssicherungsteams zum Satztyp "Quality_Assurance" hinzufügen, können Benutzer aus jeder Gruppenliste für diese beiden Satztypen auf die der Sicherheitssteuerung unterliegenden Datensätze zugreifen.
Sie können auch einen Hook angeben, der dieses Feld automatisch füllt, je nachdem, welcher Benutzer sich anmeldet. Dadurch wird sichergestellt, dass das Feld einen gültigen Wert enthält. Sie können auch unterbinden, dass Benutzer bestimmte Aktionen ausführen. Beispielsweise können Sie nur internen Benutzern erlauben, einen Fehler zu schließen, und generell verhindern, dass Ihre Kunden Datensätze löschen. Weitere Informationen hierzu finden Sie im Abschnitt Andere Sicherheitsfunktionen von Rational ClearQuest verwenden.
Nachdem Sie das Feld "customer_defects" erstellt haben, müssen Sie es dem Satzformular "Defect" hinzufügen.
So fügen Sie das neue Feld "customer_defects" dem Satzformular "Defect" hinzu:
Nach dem Hinzufügen eines neuen Felds müssen Sie das Schema wieder einchecken und die Schemaänderungen auf die Benutzerdatenbank anwenden. Sobald diese Schritte ausgeführt sind, können die Änderungen nicht mehr rückgängig gemacht werden. Weitere Informationen hierzu finden Sie im Abschnitt Schema anpassen.
Als Nächstes erstellen Sie die Gruppen, die dem Sicherheitskontextsatz "Customer" zugeordnet werden sollen, fügen Benutzer zu den Gruppen hinzu und aktualisieren die Benutzerdatenbank mit den neuen Benutzerinformationen. In diesem Beispiel erstellen Sie Benutzergruppen für Widgets Inc., Modern Software und Logic Equipment und fügen anschließend Benutzer zu diesen Gruppen hinzu.
In Ihrem eigenen Sicherheitssystem können Sie auch vorhandene Gruppen verwenden. Möglicherweise wollen Sie weitere Gruppen erstellen, z. B. eine Gruppe, die alle von internen Benutzern übergebenen Datensätze einsehen kann, eine Gruppe, die sämtliche von allen Unternehmen übergebenen Datensätze einsehen kann, oder eine Gruppe, die alle Datensätze einsehen kann, unabhängig davon, von wem sie übergeben wurden.
Informationen zum Erstellen von Gruppen finden Sie in den Abschnitten Benutzergruppe erstellen und Benutzer einer Gruppe hinzufügen.
Als Nächstes übergeben Sie einen Datensatz "Customer" für jedes Unternehmen, dem Sie Zugriff auf Ihre Datenbank gewähren möchten: Widgets Inc., Modern Software und Logic Equipment.
So übergeben Sie die Sicherheitskontextsätze:
Sie können auch Gruppen erstellen, die alle Datensätze einsehen dürfen. Wenn Sie eine Gruppe erstellen, die alle Datensätze einsehen darf, fügen Sie diese Gruppe jedem Kundendatensatz hinzu.
Als Nächstes müssen Sie jedem Sicherheitskontextsatz bestimmte Gruppen zuordnen. In diesem Beispiel wählen Sie die Benutzergruppen aus, die den für Widgets Inc., Logic Equipment und Modern Software übergebenen Kundendatensätzen zugeordnet werden sollen. Diese Gruppen enthalten die Benutzer, denen Sie Berechtigungen zum Anzeigen und Ändern von Datensätzen erteilen wollen.
So ordnen Sie die Gruppen den Datensätzen "Customer" zu:
Als Nächstes bearbeiten Sie jeden Fehlerdatensatz, auf den Kunden Zugriff haben sollen, und ordnen dem Feld "customer_defects" einen Kunden zu. Auf diese Weise erhalten die Gruppen "Logic", "Widgets" und "Modern" Zugriff auf den Datensatz. In diesem Schritt wird der Wert des Sicherheitskontextsatzes dem Sicherheitskontextfeld zugeordnet.
Führen Sie im Rational ClearQuest Client Folgendes aus:
Die zum Verdecken von Datensätzen erforderlichen Schritte sind jetzt abgeschlossen.
In diesem Beispiel kann sich der Kunde "Widgets Inc." an Ihrer Datenbank anmelden und folgende Tasks ausführen: