Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
我想从另一个 AWS 账户访问 Amazon API Gateway API。
您可以直接从 API 阶段 URL 访问 API Gateway 公共端点(区域型或边缘优化型)。例如,https://0123456789.execute-api.{region}.amazonaws.com/{stage-name}。
您也可以使用公共托管区中的自定义域名来访问 API Gateway 公共端点。
有关详细信息,请参阅如何为 API Gateway API 设置自定义域名?
您可以使用接口 VPC 端点从 Amazon Virtual Private Cloud (Amazon VPC) 访问私有 REST API 端点。
要访问位于另一个账户中的私有 REST API,请编辑资源策略以授予跨账户权限。您也可以使用私有自定义域名将您的 VPC 端点关联到另一个账户。
有关详细信息,请参阅如何使用接口 VPC 端点访问另一个账户中的 API Gateway 私有 REST API?
要访问使用 AWS Identity and Access Management (IAM) 身份验证的具有跨账户访问权限的 API Gateway API,需要进行额外的配置。确保使用者账户中的 IAM 实体有权通过基于身份的策略调用 API。
必须在资源策略中允许源账户的 IAM 角色进行显式访问,如下所示:
REST API
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::CONSUMER-ACCOUNT-ID:user/USERNAME", "CONSUMER-ACCOUNT-ID" ] }, "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:YOUR-REGION:API-OWNER-ACCOUNT-ID:API-ID///*" ] } ] }
**注意:**请将 CONSUMER-ACCOUNT-ID、USERNAME、YOUR-REGION、API-OWNER-ACCOUNT-ID 和 API-ID 替换为您的变量。
有关详细信息,请参阅如何为 API Gateway REST API 激活 IAM 身份验证?
HTTP API
使用资源策略为跨账户提供 IAM 身份验证的选项不适用于 API Gateway HTTP API。
您可以使用 sts:AssumeRole API 操作来为 HTTP API 账户代入角色。代入的角色提供临时安全凭证,您可以使用该凭证在另一个账户中调用 HTTP API。
有关详细信息,请参阅如何为 API Gateway HTTP API 提供跨账户 IAM 授权?
API Gateway 中的私有 REST API
示例: 允许另一个 AWS 账户中的角色使用 API