google-cloud-sql - 如何将 ip 地址添加到 cloud sql 访问列表以提供对

我试过了

gcloud sql instances patch YOUR_INSTANCE_NAME --authorized-networks my-ip

但此命令会从访问控制列表中删除所有 IP 地址并仅添加我的 IP 地址。如何添加我的 IP 地址,同时保留以前的 IP 地址?

最佳答案

正如 James 所提到的,使用 Developers Console 可以轻松完成。使用命令行是可行的,尽管有点棘手。搜索 'Cloud SDK'表明似乎没有办法简单地检索授权网络。

但是您可以使用 describe命令将返回 Cloud SQL 实例的所有设置。从这里开始,可以使用一些相当脆弱的命令系列来获得您要查找的内容。开始了:

首先,获取完整的 Cloud SQL 实例描述:

gcloud sql instances describe <instance-name>

其次,通过 grep 管道结果来检索显示在 - 之后的授权网络的 IP 地址。如果您愿意,可以在别处找到其他 IP 地址正则表达式。

| grep -E "\-\s[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"

第三,通过cut 将结果管道化以在- 上拆分每一行并保留后半部分。

| cut -d '-' -f 2

第四,再次通过cut 管道结果以在空白处拆分每一行以删除第一个空格

| cut -d ' ' -f 2

然后,通过 tr 管道结果以用逗号替换新行

| tr '\n' ','

最后,通过 head 管道结果以删除结尾的逗号

| head -c -1

你的结果命令应该是这样的:

gcloud sql instances describe <instance-name> | grep -E "\-\s[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" | cut -d '-' -f 2 | cut -d ' ' -f 2 | tr '\n' ',' | head -c -1

这是一个非常脆弱的解决方法。此外,它公开了证书 key ,并且上面的特定正则表达式不匹配 IPv6 地址或使用 CDR 表示法匹配子网。这个简单的操作绝对值得一个功能请求。我强烈建议在 Google App Engine public issue tracker 上提交一份.

关于google-cloud-sql - 如何将 ip 地址添加到 cloud sql 访问列表以提供对 Google Cloud SQL 的访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31677653/

相关文章:

xml - Odoo:如何继承菜单项(使菜单项不可见)

php - Laravel 5.1 如何检查目录中是否存在文件?

webrtc - 我们怎么知道 webRTC 何时已经完成收集 ICE 候选人

git - 为什么 git clone 有时创建一个 .git 目录,有时不创建?

sql - 如何用 SQL 删除 Oracle 数据库中的所有数据?

php - 学说 : Set CURRENT_TIMESTAMP as default value

sql-server-2008 - sql server 2008如何计算一年中的天数

cordova - 地理位置总是在 cordova 应用程序中超时

Java - 编译器错误地解析 unicode 源文件

macos - 尝试安装 pytaglib 1.0.3 但遇到 fatal error