如果您使用的是 Amazon Lex V2,請改參閱 Amazon Lex V2 指南。
如果您使用的是 Amazon Lex V1,建議您將機器人升級至 Amazon Lex V2。我們不再將新功能新增至 V1,強烈建議所有新機器人都使用 V2。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
槽混淆
使用 Amazon Lex,您可以混淆或隱藏槽內容,以便看不見內容。若要保護捕獲為槽值的敏感資料,您可以啟用槽混淆以遮罩對話日誌中的這些值。
當您選擇混淆槽值時,Amazon Lex 會將槽值取代為對話日誌中的槽名稱。對於稱為 full_name
的槽,槽值將被混淆,如下所示:
Before obfuscation:
My name is John Stiles
After obfuscation:
My name is {full_name}
如果表達用語包含括號字元 ({}),則 Amazon Lex 會使用兩條反斜線 (\\\) 逸出括號字元。例如,文字 {John Stiles}
會被混淆,如下所示:
Before obfuscation:
My name is {John Stiles}
After obfuscation:
My name is \\{{full_name}\\}
對話日誌中的槽值會被混淆。插槽值仍然可用於來自PostContent
和PostText
操作,而且槽值可供您的驗證和履行 Lambda 函數使用。如果您是在提示或回應中使用槽值,則這些槽值不會在對話日誌中混淆。
在對話的第一回合中,Amazon Lex 果辨識出表達用語中的槽和槽值,則它會混淆槽值。如果未辨識出任何槽值,Amazon Lex 不會混淆表達用語。
在第二回合和後續回合中,Amazon Lex 知道要引出的槽,以及槽值是否應該混淆。如果 Amazon Lex 辨識出槽值,則會混淆該值。如果 Amazon Lex 無法辨識出一個值,則會混淆整個表達用語。遺漏表達用語中的任何槽值都不會被混淆。
也 Amazon Lex 會混淆您存放在請求或工作階段屬性中的槽值。如果您是儲存應該當作屬性混淆的槽值,則必須加密或以其他方式混淆該值。
Amazon Lex 不會混淆音訊中的槽值。它的確會混淆音訊記錄中的槽值。
您不需要混淆機器人中的所有槽。您可以使用主控台或使用 Amazon Lex API 來選擇要混淆哪些槽。在主控台中,於槽設定中選擇 Slot obfuscation (槽混淆)。如果您是使用 API,則在呼叫 PutIntent 操作時,將槽的 obfuscationSetting
欄位設定為 DEFAULT_OBFUSCATION
。