本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 JSON
下列範例顯示如何在建立索引時使用 JSON 進行使用者存取控制。
警告
JSON 令牌是未經驗證的有效負載。只有當請求來自受信任的服務器而不是 Amazon Kendra 來自瀏覽器時,才應使用此功能。
- Console
-
-
選擇 [建立索引] 以開始建立新索引。
-
在 [指定索引詳細資訊] 頁面上,為索引提供名稱和說明。
-
對於IAM 角色,請選取角色或選取建立新角色,然後指定角色名稱以建立新角色。該 IAM 角色的前綴為「AmazonKendra-」。
-
將所有其他欄位保留為預設值。選擇下一步。
-
在 [設定使用者存取控制] 頁面的 [存取控制設定] 下,選擇 [是] 以使用權杖進行存取控制。
-
在權杖組態下,選取 JSON 作為權杖類型。
-
指定 ACL 檢查中要使用的使用者名稱。
-
指定一個或多個要在 ACL 檢查中使用的群組。
-
選擇下一步。
-
在佈建詳細資料頁面中,選擇開發人員版本。
-
選擇 [建立] 以建立索引。
-
等待您的索引創建。 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' )