當我叫用 API 並使用跨帳戶 IAM 身分驗證來驗證 API 閘道時,該如何解決「HTTP 403 禁止」錯誤?
上次更新日期:2022 年 9 月 16 日
解決方案
REST API
若要存取 API Gateway REST API,請在 API Gateway 主控台中開啟 API 方法的 IAM 身分驗證。然後,使用 IAM 政策和資源政策為 API 使用者指定許可。
確保跨帳戶 IAM 實體具有叫用 API 的許可,而且資源政策允許存取該實體。
在此範例中,帳戶 A 111111111 的 REST API 已啟用 IAM 身分驗證。使用者 1 會嘗試從帳戶 B 999999999 叫用。帳戶 B 中的使用者 1 附加了下列 IAM 政策:
}
]
}
"Resource": "arn:aws:execute-api:us-east-1:111111111:AB12CDEF34/*/*/*"
],
"execute-api:ManageConnections"
"execute-api:Invoke",
"Action": [
"Effect": "Allow",
{
"Statement": [
"Version": "2012-10-17",
{
若要允許帳戶 A 中的帳戶 B IAM 使用者叫用跨帳戶存取權,請使用類似下列內容的資源政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::999999999:user/User1"
},
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:us-east-1:111111111:AB12CDEF34/stage/*/*"
}
]
}
如需詳細資訊,請參閱如何為 API Gateway REST API 啟用 IAM 身分驗證?
HTTP API
為了存取 API Gateway HTTP API,請使用 sts:AssumeRole API 動作來擔任 HTTP API 帳戶的角色。所擔任角色會提供臨時安全憑證,可用於在另一個帳戶中叫用 HTTP API。
請確保用來叫用 HTTP API 的臨時安全憑證正確且未過期。
如需詳細資訊,請參閱如何為 API Gateway HTTP API 提供跨帳戶 IAM 授權?
此文章是否有幫助?
Precisa de ajuda com faturamento ou suporte técnico?