Amazon Redshift ne prendra plus en charge l'utilisation des UDF Python après le 30 juin 2026. Nous allons commencer à l'appliquer par étapes. Pour plus d'informations sur les options de fin de vie et de migration de Python, consultez le billet de blog
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Sécurité et autorisations des fonctions définies par l’utilisateur
Pour créer une fonction définie par l’utilisateur, vous devez avoir l’autorisation pour USAGE ON LANGUAGE pour SQL ou plpythonu (Python). Par défaut, USAGE ON LANGUAGE SQL est accordé à PUBLIC, mais vous devez accorder explicitement USAGE ON LANGUAGE PLPYTHONU à des utilisateurs ou des groupes spécifiques.
Pour révoquer le privilège USAGE pour SQL, révoquez d’abord USAGE de PUBLIC. Ensuite, accordez le privilège USAGE pour SQL uniquement aux utilisateurs ou groupes spécifiques autorisés à créer des fonctions SQL définies par l’utilisateur. L'exemple suivant révoque le privilège USAGE pour SQL de PUBLIC. Ensuite, il accorde le privilège USAGE au groupe d’utilisateurs udf_devs.
revoke usage on language sql from PUBLIC; grant usage on language sql to group udf_devs;
Pour exécuter une fonction UDF, vous devez disposer de l'autorisation d'exécution pour chaque fonction. Par défaut, l'autorisation d'exécution pour les nouvelles fonctions UDF est accordée à PUBLIC. Pour limiter l'utilisation, révoquez cette autorisation de PUBLIC pour la fonction. Ensuite, accordez le privilège à des individus ou à des groupes spécifiques.
L'exemple suivant révoque le privilège d'exécution de la fonction f_py_greater de PUBLIC. Ensuite, il accorde le privilège USAGE au groupe d’utilisateurs 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;
Les super-utilisateurs ont tous les privilèges par défaut.
Pour plus d’informations, consultez GRANT et REVOKE.