log_bin_trust_function_creatorsとは?
RDSに設定できるオプションのひとつ
MySQL DB インスタンスの関数、プロシージャ、トリガーの実行を行えるようになります。
このパラメーターを設定しないと動きません。
ref: https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-mysql-functions/
Super権限は設定しなくてもいいの?
SYS アクセス (SUPER 権限) は提供されていません。MySQL DB インスタンスでバイナリログが有効になっている場合は、DB インスタンス用に作成するカスタム DB パラメータグループで log_bin_trust_function_creators パラメータを true に設定します。
AWSのRDSにおいてはそもそもSUPER権限を使ったアクセスができないそうで、パラメータ変更のみでいいみたいです。
リスクはないのか?
このオプション自体には特に問題はない
が、Triggerやストアドファンクションを安易に使うことのリスクは存在する
Triggerのリスク
DBに設定するという特性上アプリケーションコード上に表示されていないが、
特定のDB操作を行うと処理が発生するという副作用が場合によっては負債となる場合がある
その場しのぎ的に使い長期的には、アプリケーションコードで表現する方が安全性は高いので消すのを忘れないようにすること大事