amazon-web-services - AWS API Gateway - 您可以混合私有访问和公共身份验证访问吗?
问题描述
我们有 2 个 AWS 账户
A有一个面向公众的 Cognito 认证 API 网关
B有一些 EC2 盒子,其中包含也需要调用 API 的各种应用程序
有没有办法配置身份验证,以便来自帐户 B 的内部请求不需要身份验证 - 就像私有 API 一样?- 同时仍然允许公共授权访问?
我创建了一个具有资源策略的私有 API,以允许来自账户 B 账户的 VPC 端点调用它,这有效,但随后该 API 不再是公共的。
使用公共 API,我可以使用以下资源策略将其锁定到帐户 B 中分配给 EC2 框的角色
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{ACCOUNT_B_ID}:role/role-name"
},
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:eu-west-1:{ACCOUNT_A_ID}:{API_ID}/*/*/*"
}
]
}
但是我们没有公共访问权限(正如预期的那样),而且我们获得{"message":"Forbidden"}
了内部访问权限!
两者可以混用吗?
解决方案
推荐阅读
- here-api - 这里地图自动完成地理编码在语言翻译方面有一些奇怪的问题
- twilio - Twilio Node.js - 使用 statusCallback 创建会议参与者
- python - 用 non_atomic_requests 替换 django 装饰器 commit_manually
- c# - 更改文本值
- java - 尽管配置正确,但找不到 404 页面
- flutter - 导航器始终以路线“/”开头
- php - 如何在 cakephp 的输入错误中添加类“is-invalid”?
- python - 如何将虚拟变量从 1 更改为值?
- sql - 数据库设计:非常分层的数据;用于处理的服务器外子集缓存;小到中等大小;(完全初学者)
- scrapy - scrapy超时不控制扭曲超时