我正在测试一个非常基本的 Pub/Sub 订阅。我将推送端点设置为我通过 App Engine 中的 Python Flex 服务部署的应用程序。该服务位于启用了 Identity-Aware Proxy 的项目中。IAP 被配置为允许通过我们的域进行身份验证的用户。
我没有看到我的应用正在处理任何推送请求。
我关闭了 IAP 保护,然后我看到请求已被处理。我重新打开它,它们不再被处理。
我正在测试一个非常基本的 Pub/Sub 订阅。我将推送端点设置为我通过 App Engine 中的 Python Flex 服务部署的应用程序。该服务位于启用了 Identity-Aware Proxy 的项目中。IAP 被配置为允许通过我们的域进行身份验证的用户。
我没有看到我的应用正在处理任何推送请求。
我关闭了 IAP 保护,然后我看到请求已被处理。我重新打开它,它们不再被处理。
注意:此答案使用 BETA 命令和功能。
要启用已启用 IAP 的 App Engine 访问 Pub/Sub 推送通知:
允许 Pub/Sub 服务(服务代理)代表服务帐户创建身份令牌:
gcloud projects add-iam-policy-binding PROJECT-ID \
--member=serviceAccount:service-PROJECT-NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com \
--role=roles/iam.serviceAccountTokenCreator
创建一个服务帐户,Pub/Sub 将使用它作为 IAP 的身份:
gcloud iam service-accounts create pubsub-invoker \
--display-name "Pub/Sub Invoker Service Account"
使用服务帐户创建推送 Pub/Sub 订阅:
gcloud beta pubsub subscriptions create mySubscription --topic myTopic \
--push-endpoint=SERVICE-URL/ \
--push-auth-service-account=pubsub-invoker@PROJECT-ID.iam.gserviceaccount.com
将服务帐户电子邮件地址添加pubsub-invoker@PROJECT-ID.iam.gserviceaccount.com
到 App Engine 的 IAP。
我不知道此步骤的 CLI 命令。在 Google Cloud Console 中执行此步骤。