使用 JSON - Amazon Kendra

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

使用 JSON

下列範例顯示如何在建立索引時使用 JSON 進行使用者存取控制。

警告

JSON 令牌是未經驗證的有效負載。只有當請求來自受信任的服務器而不是 Amazon Kendra 來自瀏覽器時,才應使用此功能。

Console
  1. 選擇 [建立索引] 以開始建立新索引。

  2. 在 [指定索引詳細資訊] 頁面上,為索引提供名稱和說明。

  3. 對於IAM 角色,請選取角色或選取建立新角色,然後指定角色名稱以建立新角色。該 IAM 角色的前綴為「AmazonKendra-」。

  4. 將所有其他欄位保留為預設值。選擇下一步

  5. 在 [設定使用者存取控制] 頁面的 [存取控制設定] 下,選擇 [] 以使用權杖進行存取控制。

  6. 在權杖組態下,選取 JSON 作為權杖類型

  7. 指定 ACL 檢查中要使用的使用者名稱

  8. 指定一個或多個要在 ACL 檢查中使用的群組

  9. 選擇下一步

  10. 佈建詳細資料頁面中,選擇開發人員版本

  11. 選擇 [建立] 以建立索引。

  12. 等待您的索引創建。 Amazon Kendra 為索引佈建硬體。此操作可能需要一些時間。

CLI

若要 AWS CLI 使用 JSON 輸入檔案建立索引,請先使用您想要的參數建立 JSON 檔案:

{ "Name": "user-context", "Edition": "ENTERPRISE_EDITION", "RoleArn": "arn:aws:iam::account-id:role:/my-role", "UserTokenConfigurations": [ { "JsonTokenTypeConfiguration": { "UserNameAttributeField": "user", "GroupAttributeField": "group" } } ], "UserContextPolicy": "USER_TOKEN" }

接下來,create-index使用輸入文件調用。例如,如果 JSON 文件的名稱是create-index-openid.json,則可以使用以下命令:

aws kendra create-index --cli-input-json file://create-index-openid.json

如果您沒有使用 Open ID AWS IAM Identity Center,您可以以 JSON 格式向我們發送令牌。如果這樣做,您必須指定 JSON Token 中的哪個欄位包含使用者名稱,以及哪個欄位包含群組。群組欄位值必須是 JSON 字串陣列。例如,如果您正在使用 SAML,則您的令牌將類似於以下內容:

{ "username" : "user1", "groups": [ "group1", "group2" ] }

TokenConfiguration會指定使用者名稱和群組欄位名稱:

{ "UserNameAttributeField":"username", "GroupAttributeField":"groups" }
Python
response = kendra.create_index( Name='user-context', Edition='ENTERPRISE_EDITION', RoleArn='arn:aws:iam::account-id:role:/my-role', UserTokenConfigurations=[ { "JwtTokenTypeConfiguration": { "UserNameAttributeField": "user", "GroupAttributeField": "group", } } ], UserContextPolicy='USER_TOKEN' )