使用代理将 DataFlow 作业连接到 Cloud MySQL 是否安全(通过 os.system)

Is it safe to connect DataFlow job to Cloud MySQL with proxy (by os.system)

我正在尝试在需要云 SQL 连接的 DataFlow 上创建一个 Python 作业(而且我完全是初学者)。我需要在 ParDo (Apache Beam) 中执行几个 MySQL 查询。我正在使用 PyMySQL 并且在验证时遇到问题,所以我尝试了 答案并且显然它有效:

class MyDoFn(beam.DoFn):
 def setup(self):
    os.system("wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy")
    os.system("chmod +x cloud_sql_proxy")
    os.system(f"./cloud_sql_proxy -instances={self.sql_args['cloud_sql_connection_name']}=tcp:3306 &")

事实是,我发现这更像是一种解决方法。以这种方式进行身份验证安全吗?我将不胜感激任何帮助!提前谢谢你。

是的,这是使用云 SQL 连接的安全方式。 cloud_sql_proxy 使用来自 Compute Engine 实例的身份验证信息来正确验证连接。有关详细信息,请参阅 https://cloud.google.com/sql/docs/mysql/sql-proxy#authentication-options