

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 CLI AWS 建立同意入口網站
<a name="identity-create-consent-portal"></a>

您可以使用 `create-consent-portal`命令建立同意入口網站。建立入口網站後，請輪詢其狀態，直到它變成`ACTIVE`擷取 為止`portalUrl`。開始之前，請先完成[同意入口網站先決條件](identity-consent-portal-prerequisites.md)中的步驟。若要改為使用主控台建立同意入口網站，請參閱[使用主控台建立同意入口網站](identity-create-consent-portal-console.md)。

## 建立同意入口網站
<a name="create-consent-portal-cli"></a>

`create-consent-portal` 命令需要下列參數：
+  `executionRoleArn` – 同意入口網站擔任之 IAM 角色的 ARN。
+  `idpConfig` – 身分提供者組態。它包含必要的 `credentialProviderArn`（先前為 JWT 發行的 OIDC 身分提供者建立的 OAuth2 登入資料提供者的 ARN)，以及選用的 `scopes`和 `audience`。
+  `name` – 同意入口網站的名稱 (1-50 個字元）。
+  `sources` – 類型 的確切來源`agentcore-gateway`。

您也可以提供選用的 `description`、 `tags`和 `clientToken` 參數。

**注意**  
此`idpConfig.credentialProviderArn`值必須是您在呼叫 之前建立的 OAuth2 登入資料提供者的 ARN`create-consent-portal`。首先為您的 JWT 發行 OIDC 身分提供者建立 OAuth2 憑證提供者，然後在此處傳遞其 ARN。如需詳細資訊，請參閱[同意入口網站先決條件](identity-consent-portal-prerequisites.md)和[使用 AgentCore Identity 管理登入資料提供者](identity-outbound-credential-provider.md)。

**注意**  
除了您在 中設定`openid`的範圍之外，同意入口網站也會請求範圍`idpConfig.scopes`。`openid`必須在 IdP 上定義和允許每個設定的範圍，否則授權會失敗並顯示`invalid_scope`錯誤。`openid` 包含在`scopes`清單中。

下列命令會建立同意入口網站。將{{反白顯示}}的值取代為您自己的值。

```
aws bedrock-agentcore-control create-consent-portal \
    --name "my-consent-portal" \
    --execution-role-arn "arn:aws:iam::<account-id>:role/<execution-role-name>" \
    --idp-config '{
        "credentialProviderArn": "arn:aws:bedrock-agentcore:<region>:<account-id>:token-vault/default/oauth2credentialprovider/<credential-provider-id>",
        "scopes": ["openid", "email", "profile"],
        "audience": "<audience>"
    }' \
    --sources '[{
        "identifier": "<gateway-id>",
        "type": "agentcore-gateway"
    }]'
```

回應包含 `consentPortalId`、 `consentPortalArn`和 入口網站 `status`。當入口網站處於 `CREATING` 狀態時， `portalUrl`和 `statusReason` 欄位可能是 null。

## 入口網站 URL 的輪詢
<a name="get-consent-portal-cli"></a>

在您建立同意入口網站之後，它會從 `CREATING` 狀態開始。使用 `get-consent-portal` 輪詢入口網站，直到其狀態為 `ACTIVE`，此時 `portalUrl` 可供使用。您可以傳遞同意入口網站 ID 或其完整的 ARN 做為 `--consent-portal-identifier`。

下列命令會擷取同意入口網站。將 {{<consent-portal-id>}} 取代為您的值。

```
aws bedrock-agentcore-control get-consent-portal \
    --consent-portal-identifier "<consent-portal-id>"
```

當傳回的 `status`為 時`ACTIVE`，`portalUrl`請從回應擷取 ，並完成[完成同意入口網站](#complete-consent-portal-setup)設定中的設定步驟。如果狀態為 `FAILED`，請檢查 `statusReason` 欄位以診斷問題。

## 完成同意入口網站設定
<a name="complete-consent-portal-setup"></a>

在入口網站為 `ACTIVE`且您擁有其 之後`portalUrl`，請完成下列步驟，以便最終使用者可以登入入口網站。這些步驟會設定**主要 IdP**：您在 中傳遞的登入資料提供者`idpConfig`，這是使用者登入的身分。若要新增使用者可以授予代理程式存取許可的資源，請參閱[設定同意入口網站目標](identity-configure-consent-portal-target.md)。

1.  **在主要 IdP 上註冊入口網站回呼 URL。**在支援您在 中傳遞的登入資料提供者的 IdP 應用程式中`idpConfig`，將 新增`<portalUrl>/callback`為授權的重新導向 （回呼） URI。準確輸入值，沒有尾斜線 - 尾斜線會導致 IdP 在身分驗證期間拒絕未註冊的回呼。不同的 IdPs會以不同的方式標記此設定；例如，Amazon Cognito 會呼叫**允許回呼 URLs**而 Okta 會**呼叫它 登入重新導向 URIs**。

1.  **確認作用中的 IdP 使用者存在。**請確定主要 IdP 至少有一個作用中的使用者，您可以將其登入。對於某些 IdPs，使用者也必須指派給應用程式；例如，在 Okta 中，使用者必須在應用程式的**指派**下指派。

1.  **登入入口網站。**在瀏覽器`portalUrl`中開啟 ，並使用現有 IdP 使用者的登入資料登入。成功登入會帶您前往同意入口網站頁面，並確認主要 IdP、登入資料提供者和入口網站回呼 URL 已正確設定。

如果入口網站的閘道未設定目標，則同意入口網站頁面會顯示空白，因為沒有資源可授予同意。若要新增目標讓連線出現在頁面上，請參閱[設定同意入口網站目標](identity-configure-consent-portal-target.md)。