我有 20 多个静态 IP,我希望同一用户有权访问它们。我使用的是 Aurora-MySQL 8,我想知道是否有一种方法可以在不指定每个 IP 的情况下向该用户授予权限。
例如,我有这些行:
grant select on *.* to debezium@<first_ip>;
grant select on *.* to debezium@<second_ip>;
这些 IP 是 AWS 特定的 IP,我在其中没有看到任何模式。我可以使用一些技巧来避免因为有 20 个不同的 IP 而编写 20 个授权 SQL 吗?
您可以使用谓词中通常使用的通配符
LIKE
,即%
和_
。但这些通配符非常有限。例如,它们不如正则表达式灵活。但是,如果 IP 地址如此不同以至于没有模式,那么您就无法使用这些通配符在一条语句中指定一组固定的 20 个 IP 地址
GRANT
。你可以这样做:
这将允许来自任何远程 IP 地址的客户端进行连接。即允许通过 AWS 防火墙的任何远程 IP 地址。
也许这对你来说是最好的选择。使用规则定义 AWS 安全组以允许特定 IP 地址的列表。