指定存取閘道目標的授權類型和憑證
在 CreateGatewayTarget 請求內文中,您可以在credentialProviderConfigurations陣列中指定登入資料提供者組態。組態取決於您設定的傳出授權類型。如需登入資料提供者組態 API 結構的參考資訊,請參閱 CredentialProviderConfiguration。如需傳出授權的詳細資訊,請參閱設定閘道的傳出授權。
若要進一步了解登入資料提供者組態,請選取主題:
AgentCore Gateway 服務角色 (IAM) 授權
如果您透過目標的 AgentCore Gateway 服務角色使用 IAM 授權,請將 指定credentialProviderType為 GATEWAY_IAM_ROLE 。組態取決於您的目標類型。
對於 Lambda、API Gateway、Smithy 和 Connector 目標
不需要iamCredentialProvider組態,因為 AgentCore Gateway 服務已經知道目標服務名稱。僅使用 credentialProviderType組態,如下列範例所示:
{ "credentialProviderType": "GATEWAY_IAM_ROLE" }
對於 MCP 伺服器和 OpenAPI 目標
對於 MCP 伺服器和 OpenAPI 目標,您還必須提供用於AWS 簽署第 4 版 (Sig V4) 簽署iamCredentialProvider的服務名稱。service 欄位是必要的。region 欄位為選用,預設為閘道的區域。
{ "credentialProviderType": "GATEWAY_IAM_ROLE", "credentialProvider": { "iamCredentialProvider": { "service": "execute-api", "region": "us-west-2" } } }
下表說明 iamCredentialProvider 物件中的欄位:
| 欄位 | 必要 | 描述 |
|---|---|---|
|
|
是 |
用於 SigV4 簽署 AWS 的服務名稱。此值必須符合目標在驗證 SigV4 簽章時預期的服務名稱。以下是常見的值:
|
|
|
否 |
SigV4 簽署 AWS 的區域。如果省略, 會預設為閘道的區域。 |
OAuth 授權
如果您使用 OAuth 授權,請將 指定credentialProviderType為 OAUTH 。在 credentialProvider 欄位映射的 物件中,將oauthCredentialProvider欄位名稱映射至 OAuthCredentialProvider 物件,並根據您的傳出授權設定提供值。
OAuthCredentialProvider 的結構會根據您設定的身分驗證模式類型而有所不同。若要進一步了解不同的身分驗證模式,請參閱支援的身分驗證模式。
-
如果您設定machine-to-machine身分驗證,也稱為用戶端憑證授予或 2 段式 OAuth (2LO),請遵循用戶端憑證索引標籤中的結構。
-
如果您設定使用者委派的存取權,也稱為授權碼授予或 3 邊 OAuth (3LO),請遵循授權碼索引標籤中的結構。
-
如果您設定on-behalf-of權杖交換,將已驗證的使用者身分傳播到下游服務,或取得具有演員內容的存取權杖,請遵循權杖交換 On-behalf-of索引標籤中的結構。
選取下列其中一種方法:
範例
API 金鑰授權
如果您設定 API 金鑰授權,您可以將 指定credentialProviderType為 API_KEY 。在 credentialProvider 欄位映射的 物件中,將apiKeyCredentialProvider欄位名稱映射至 ApiKeyCredentialProvider 物件,並根據您的傳出授權設定提供值。下列 JSON 顯示 結構:
{ "credentialProviderType": "API_KEY", "credentialProvider": { "apiKeyCredentialProvider": { "providerArn": "string", "credentialLocation": "HEADER" | "QUERY_PARAMETER", "credentialParameterName": "string", "credentialPrefix": "string" } } }
來電者 IAM 憑證授權
如果您希望閘道使用發起人的 IAM 身分和許可來簽署下游目標的請求,請將 指定credentialProviderType為 CALLER_IAM_CREDENTIALS。使用此授權類型時,閘道會代表閘道呼叫者使用 SigV4 向下游目標提出請求。這可讓下游目標根據最初呼叫閘道的人員來套用 IAM 政策。
注意
CALLER_IAM_CREDENTIALS 僅適用於具有 AWS_IAM或 AUTHENTICATE_ONLY 作為授權方類型的閘道。
{ "credentialProviderType": "CALLER_IAM_CREDENTIALS" }
JWT 傳遞授權
如果您希望閘道將承載字符從傳入的請求直接傳遞到下游目標,而不進行任何修改,請將 指定credentialProviderType為 JWT_PASSTHROUGH。閘道會驗證傳入字符,然後將其轉送至傳出請求中的目標。當目標服務使用原始呼叫者的字符處理自己的授權時,這很有用。
注意
JWT_PASSTHROUGH 僅適用於 HTTP 目標 (傳遞和 AgentCore 執行期)。
{ "credentialProviderType": "JWT_PASSTHROUGH" }