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