Verwendet für
Erstellen einer Zuordnung eines Sicherheitsobjekts
Syntax
CREATE [GLOBAL] MAPPING name
USING
{ PLUGIN plugin_name [IN database]
| ANY PLUGIN [IN database | SERVERWIDE]
| MAPPING [IN database] | '*' [IN database] }
FROM {ANY type | type from_name}
TO {USER | ROLE} [to_name]
Table 1. CREATE MAPPING
-Anweisungsparameter
Parameter |
Beschreibung |
name |
MappingnameDie maximale Länge beträgt 63 Zeichen.Muss unter allen Mapping-Namen im Kontext (lokal oder GLOBAL ) eindeutig sein. |
plugin_name |
Name des Authentifizierungs-Plugins |
database |
Name der Datenbank, gegen die sich authentifiziert wird |
type |
Der Typ des zuzuordnenden Objekts.Mögliche Typen sind pluginspezifisch. |
from_name |
Der Name des zuzuordnenden Objekts |
to_name |
Der Name des Benutzers oder der Rolle, dem bzw. der zugeordnet werden soll |
Die CREATE MAPPING
-Anweisung erstellt eine Zuordnung von Sicherheitsobjekten (z. B. Benutzer, Gruppen, Rollen) eines oder mehrerer Authentifizierungs-Plugins zu internen Sicherheitsobjekten - CURRENT_USER
und CURRENT_ROLE
.
Wenn die GLOBAL
-Klausel vorhanden ist, wird die Zuordnung nicht nur für die aktuelle Datenbank, sondern für alle Datenbanken im selben Cluster, einschließlich Sicherheitsdatenbanken, angewendet.
Warning
|
Es kann globale und lokale Zuordnungen mit demselben Namen geben.Sie sind unterschiedliche Objekte.
|
Note
|
Die globale Zuordnung funktioniert am besten, wenn als Sicherheitsdatenbank eine Firebird 3.0- oder höhere Versionsdatenbank verwendet wird.Wenn Sie zu diesem Zweck eine andere Datenbank verwenden möchten – zum Beispiel mit Ihrem eigenen Provider – sollten Sie darin eine Tabelle namens RDB$MAP erstellen, mit der gleichen Struktur wie RDB$MAP in Firebird 3.0 oder höher und nur mit SYSDBA-Schreibzugriff.
|
Die USING
-Klausel beschreibt die Mapping-Quelle.Es hat eine sehr komplexe Reihe von Optionen:
-
Ein expliziter Plugin-Name (PLUGIN plugin_name
) bedeutet, dass dieser nur für dieses Plugin gilt
-
es kann jedes verfügbare Plugin verwenden (ANY PLUGIN
);allerdings nicht, wenn die Quelle das Produkt einer vorherigen Zuordnung ist
-
es kann nur mit serverweiten Plugins (SERVERWIDE
) zum Laufen gebracht werden
-
es kann nur mit früheren Mapping-Ergebnissen (MAPPING
) funktionieren
-
Sie können die Verwendung einer bestimmten Methode unterlassen, indem Sie das Sternchen-Argument (*
) verwenden
-
es kann den Namen der Datenbank angeben, die das Mapping für das FROM
-Objekt definiert hat (IN database
)
Note
|
Dieses Argument ist für die Zuordnung der serverweiten Authentifizierung nicht gültig.
|
Die FROM
-Klausel beschreibt das abzubildende Objekt.Die FROM
-Klausel hat ein obligatorisches Argument, den type des benannten Objekts.Es hat die folgenden Optionen:
-
Beim Zuordnen von Namen über Plugins wird type vom Plugin definiert
-
Beim Mapping des Produkts eines vorherigen Mappings kann type nur USER
oder ROLE
sein
-
Wenn ein expliziter from_name angegeben wird, wird dieser von diesem Mapping berücksichtigt
-
Verwenden Sie das Schlüsselwort ANY
, um mit einem beliebigen Namen des angegebenen Typs zu arbeiten.
Die TO
-Klausel gibt den Benutzer oder die Rolle an, die das Ergebnis der Zuordnung ist.Der to_name ist optional.Wenn er nicht angegeben wird, wird der ursprüngliche Name des zugeordneten Objekts verwendet.
Bei Rollen wird die durch eine Zuordnungsregel definierte Rolle nur angewendet, wenn der Benutzer beim Verbinden nicht explizit eine Rolle angibt.Die zugeordnete Rolle kann später in der Sitzung mit SET TRUSTED ROLE
übernommen werden, auch wenn die zugeordnete Rolle dem Benutzer nicht explizit gewährt wird.