Dialogflow Messenger 访问控制

Dialogflow Messenger access control

我正在通过集成使用 dialogflow Messenger,它运行良好。现在我想知道是否有办法允许从特定 IP 地址访问我的 dialogflow 代理。 我针对我公司的服务台构建了代理,所以我不希望任何人从外部访问。

可以从特定 IP 地址访问 Dialogflow 代理。

要使用特定 IP 地址访问您的 Dialogflow 代理,您可以设置 VPC connection and add Firewall 规则。

您可以根据需要将VPC设置为自动模式或自定义模式。

您必须创建入口防火墙规则,您需要在其中指定访问此 Dialogflow 代理的源 IP 地址并提供必要的端口号。

您需要将 Dialogflow Agent 集成到网站中并通过 Compute Engine 实例进行部署。要在 Compute Engine 实例中部署,您可以按照下面提到的步骤进行操作。

  1. 在您创建的 VPC 中创建一个 Compute Engine 实例。
  2. 使用以下命令在 VM 上安装 Apache 服务器:$ sudo apt update && sudo apt -y install apache2
  3. 创建一个 index.html 文件并在正文标记内添加 Dialogflow Messenger 脚本并将其托管在 VM 内。
echo '<!doctype html><html><body>
<script src="https://www.gstatic.com/dialogflow-console/fast/messenger/bootstrap.js?v=1"></script>
<df-messenger
  chat-title="messenger"
  agent-id=”your agent id"
  language-code="en"
></df-messenger>
</body></html>' | sudo tee /var/www/html/index.html

由于我们使用的是 VPC 并设置了防火墙规则,因此只有 IP 地址在 Ingress 防火墙规则中指定的 VM 才能访问 Messenger。其他网络的其他人将无法使用它。

很遗憾,我们无法使用 IAM 角色限制 IP 地址。但是,使用 IAM,我们可以 add roles to IAM policies for granting and changing 访问 VM 上的用户。