Amazon Redshift wird UDFs ab dem 1. November 2025 die Erstellung von neuem Python nicht mehr unterstützen. Wenn Sie Python verwenden möchten UDFs, erstellen Sie das UDFs vor diesem Datum liegende. Bestehendes Python UDFs wird weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie im Blogbeitrag
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
UDF-Sicherheit und Berechtigungen
Zum Erstellen einer UDF müssen Sie eine Berechtigung für die Nutzung in der Sprache für SQL oder plpythonu (Python) besitzen. Standardmäßig wird USAGE ON LANGUAGE SQL für PUBLIC gewährt. Sie müssen jedoch USAGE ON LANGUAGE PLPYTHONU spezifischen Benutzern oder Gruppen explizit gewähren.
Um die Nutzung für SQL zu widerrufen, widerrufen Sie zuerst die Nutzung von PUBLIC. Gewähren Sie dann nur den spezifischen Benutzern oder Gruppen, die SQL erstellen dürfen, die Verwendung von SQL UDFs. Beim folgenden Beispiel wird die Nutzung von SQL durch Benutzer mit Berechtigungen der Gruppe „PUBLIC“ untersagt. Daraufhin wird die Nutzung der Benutzergruppe erlaubt udf_devs
.
revoke usage on language sql from PUBLIC; grant usage on language sql to group udf_devs;
Um eine UDF auszuführen, benötigen Sie für die jeweilige Funktion eine Ausführungsberechtigung. Standardmäßig wird PUBLIC die Berechtigung zum Ausführen von new UDFs erteilt. Um die Nutzung einzuschränken, widerrufen Sie diese Berechtigung für die Funktion von PUBLIC. Gewähren Sie die Berechtigung anschließend den spezifischen Einzelpersonen oder Gruppen.
Beim folgenden Beispiel wird die Ausführung der Funktion f_py_greater
durch Benutzer mit Berechtigungen der Gruppe „PUBLIC“ untersagt. Daraufhin wird die Nutzung der Benutzergruppe erlaubt udf_devs
.
revoke execute on function f_py_greater(a float, b float) from PUBLIC; grant execute on function f_py_greater(a float, b float) to group udf_devs;
Superuser haben standardmäßig alle Berechtigungen.
Weitere Informationen erhalten Sie unter GRANT und REVOKE.