機密情報フィルターを使用して会話から PII を削除する - Amazon Bedrock

機密情報フィルターを使用して会話から PII を削除する

Amazon Bedrock ガードレールを使用すると、入力プロンプトやモデルのレスポンスで標準形式の個人を特定できる情報 (PII) などの機密情報を検出することができます。また、ユースケースや組織に固有の機密情報を設定し、正規表現 (regex) で定義しておくこともできます。

ガードレールで検出された機密情報の取り扱い方として、次のモードを設定できます。

  • ブロック - 機密情報フィルターポリシーで、機密情報をを含むリクエストまたはレスポンスをブロックできます。該当するアプリケーションの例として、公文書に基づく一般的な質疑応答アプリケーションなどが挙げられます。プロンプトまたはレスポンスで機密情報が検出された場合、すべてのコンテンツがブロックされ、事前に設定されているメッセージが返されます。

  • マスク - 機密情報フィルターポリシーで、モデルのリクエストまたはレスポンスの情報をマスク処理 (匿名化) または編集できます。例えば、ユーザーとカスタマーサービスエージェント間の会話の要約を生成する際に、ガードレールは PII をマスク処理します。モデルのリクエストまたはレスポンスで機密情報が検出された場合、ガードレールはそれをマスク処理して PII タイプ ({NAME}{EMAIL} など) に置き換えます。

Amazon Bedrock ガードレールは、次の PII についてブロックまたはマスク処理します。

  • 全般

    • ADDRESS

      「100 Main Street, Anytown, USA」や「Suite #12, Building 123」などの住所。住所には、通り、建物、場所、市、州、国、郡、郵便番号、地区、近隣などの情報を含めることができます。

    • AGE

      個人の年齢 (時間の数値や単位を含む)。例えば、「私は 40 歳です」というフレーズの場合、Amazon Bedrock ガードレールは「40 歳」を年齢として認識します。

    • NAME

      個人の氏名。このエンティティタイプには、Dr.、Mr.、Miss などの敬称は含まれません。Amazon Bedrock ガードレールでは、組織または住所の一部である名前には、このエンティティタイプは適用されません。例えば、「John Doe Organization」は組織として認識され、「Jane Doe Street」は住所として認識されます。

    • EMAIL

      E メールアドレス (marymajor@email.com など)。

    • PHONE

      電話番号 このエンティティタイプには、ファックス番号とポケットベル番号も含まれます。

    • USERNAME

      ログイン名、スクリーンネーム、ニックネーム、ハンドル名など、アカウントを識別するユーザー名。

    • PASSWORD

      パスワードとして使用される英数字の文字列 (「*very20special#pass*」など)。

    • DRIVER_ID

      運転免許証に割り当てられる番号。運転免許証は、個人が公道で1台または複数の自動車を運転することを許可する公式文書です。運転免許証番号は英数字です。

    • LICENSE_PLATE

      車両のナンバープレートは、車両が登録されている州または国によって発行されます。乗用車の形式は通常 5 ~ 8 桁で、大文字と数字で構成されます。形式は発行国または国の所在地によって異なります。

    • VEHICLE_IDENTIFICATION_NUMBER

      車両識別番号 (VIN) は、車両を一意に識別します。VIN の内容と形式は ISO 3779 仕様で定義されています。VIN のコードと形式は国ごとに異なります。

  • 財務

    • CREDIT_DEBIT_CARD_CVV

      VISA、MasterCard、ディスカバーのクレジットカードとデビットカードに記載されている 3 桁のカード認証コード (CVV)。アメリカンエキスプレスのクレジットカードやデビットカードの場合、CVV は 4 桁の数字コードです。

    • CREDIT_DEBIT_CARD_EXPIRY

      クレジットカードまたはデビットカードの有効期限日 この数字は通常 4 桁で、多くの場合、月/年または MM/YY という形式です。Amazon Bedrock ガードレールでは、01/2101/2021Jan 2021 などの有効期限が認識されます。

    • CREDIT_DEBIT_CARD_NUMBER

      クレジットカードまたはデビットカードの番号。これらの番号は 13 桁から 16 桁までさまざまです。ただし、Amazon Bedrock は、最後の 4 桁しかない場合でもクレジットカード番号またはデビットカード番号を認識します。

    • PIN

      銀行口座にアクセスするための 4 桁の個人識別番号 (PIN)。

    • INTERNATIONAL_BANK_ACCOUNT_NUMBER

      国際銀行口座番号の形式は国によって異なります。詳細については、www.iban.com/structure を参照してください。

    • SWIFT_CODE

      SWIFT コードは、特定の銀行または支店を指定するために使用する銀行識別コード (BIC) の標準形式です。銀行は、これらのコードを国際電信送金などの送金に使用します。

      SWIFT コードは 8 文字または 11 文字で構成されています。11 桁のコードは特定の支店を指し、8 桁のコード (または「XXX」で終わる 11 桁のコード) は本社または本店を表します。

  • IT

    • IP_ADDRESS

      IPv4 アドレス (198.51.100.0 など)。

    • MAC_ADDRESS

      メディアアクセスコントロール (MAC) アドレスは、ネットワークインターフェイスコントローラー (NIC) に割り当てられる一意の識別子です。

    • の URL

      ウェブアドレス (www.example.com など)。

    • AWS_ACCESS_KEY

      シークレットアクセスキーに関連付けられている一意の識別子。アクセスキー ID とシークレットアクセスキーの両方が、プログラムによる AWS リクエストを暗号化して署名するために使用されます。

    • AWS_SECRET_KEY

      アクセスキーに関連付けられた一意の識別子。プログラムによる AWS リクエストに署名するには、アクセスキー ID とシークレットアクセスキーを使用します。

  • 米国固有

    • US_BANK_ACCOUNT_NUMBER

      米国の銀行口座番号。通常は 10 ~ 12 桁です。

    • US_BANK_ROUTING_NUMBER

      米国の銀行口座の支店コード 通常 9 桁です。

    • US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER

      米国の個人納税者識別番号 (ITIN) は、「9」で始まり、4 桁目に「7」または「8」が含まれる 9 桁の番号です。ITIN の形式は、3 桁目と 4 桁目の後にスペースまたはダッシュを付けます。

    • US_PASSPORT_NUMBER

      米国パスポート番号。パスポート番号は 6 文字から 9 文字の英数字です。

    • US_SOCIAL_SECURITY_NUMBER

      米国社会保障番号 (SSN) は、米国市民、永住者、および臨時就労者に発行される 9 桁の番号です。

  • カナダ固有

    • CA_HEALTH_NUMBER

      カナダの医療保健番号で、個人が医療給付を受けるために必要な 10 桁の固有識別番号です。

    • CA_SOCIAL_INSURANCE_NUMBER

      カナダの社会保険番号 (SIN) は 9 桁の固有の識別子で、個人が政府のプログラムや特典を利用する際に必要です。

      SIN の形式は、「123-456-789」のように、3 桁数字の 3 セットになっています。SIN は Luhn アルゴリズムと呼ばれる単純な数字チェックプロセスによって検証できます。

  • 英国固有

    • UK_NATIONAL_HEALTH_SERVICE_NUMBER

      英国の国民医療保健番号は、485 777 3456などの10〜17桁の番号です。現行システムの形式は、10 桁の番号を 3 桁目と 6 桁目の後にスペースが入ります。最後の桁はエラー検出チェックサムです。

    • UK_NATIONAL_INSURANCE_NUMBER

      英国の国民保険番号(NINO)により、個人は国民保険(社会保障)の給付を受けることができます。また、英国の税制ではいくつかの目的にも使用されています。

      数字は 9 桁で、2 文字で始まり、6 つの数字と 1 つの文字が続きます。NINO の形式は、2 文字の後と 2 桁、4 桁、6 桁目の後にスペースまたはダッシュを入れます。

    • UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER

      英国固有納税者番号 (UTR) は、納税者または事業者を識別する 10 桁の番号です。

  • カスタム

    • 正規表現フィルター

      正規表現を使用して、シリアル番号、予約 ID など、ガードレールが認識して処理するためのパターンを定義できます。

注記

PII モデルに十分なコンテキストが提供されると、より効果的に動作します。精度を高めるには、より多くのコンテキスト情報を含め、モデルに単一の単語や短いフレーズを送信しないようにします。PII はコンテキストに依存する可能性があるため (例えば、数字の文字列は周囲の情報に応じて AWS KMS key またはユーザー ID を表す場合がある)、正確な識別には包括的なコンテキストを提供することが重要です。

注記

機密情報フィルターのカスタム正規表現フィルターは、正規表現のルックアラウンドマッチングをサポートしていません。

ガードレールの機密情報ポリシーを設定する

AWS マネジメントコンソール または Amazon Bedrock API を使用して、ガードレールの機密情報ポリシーを設定できます。

Console
  1. Amazon Bedrock コンソールを使用するためのアクセス許可を持つ IAM ID を使用して、AWS マネジメントコンソールにサインインします。Amazon Bedrock コンソール (https://console.aws.amazon.com/bedrock) を開きます。

  2. 左側のナビゲーションペインで [ガードレール] を選択し、次に [ガードレールを作成] を選択します。

  3. [ガードレールの詳細を提供] ページで、次の操作を行います。

    1. [ガードレールの詳細] セクションで、ガードレールの [名前] とオプションの [説明] に入力します。

    2. [ブロックされたプロンプトのメッセージ] に、ガードレールが適用されたときに表示されるメッセージを入力します。[応答に同じブロックメッセージを適用します] チェックボックスをオンにして、応答でガードレールが適用されたときに同じメッセージを使用します。

    3. (オプション) ガードレールのクロスリージョン推論を有効にするには、[クロスリージョン推論] を展開し、[ガードレールのクロスリージョン推論を有効にする] を選択します。ガードレール推論リクエストをルーティングできる送信先 AWS リージョンを定義するガードレールプロファイルを選択します。

    4. (オプション) デフォルトでは、ガードレールは AWS マネージドキーで暗号化されます。独自のカスタマーマネージド KMS キーを使用するには、[KMS キーの選択] を展開して、[暗号化設定をカスタマイズ (詳細)] チェックボックスをオンにします。

      既存の AWS KMS キーを選択するか、[AWS KMS キーを作成] を選択して新しいキーを作成できます。

    5. (オプション) ガードレールにタグを追加するには、[タグ] を展開し、定義するタグごとに [新しいタグを追加] を選択します。

      詳細については、「Amazon Bedrock リソースにタグ付け」を参照してください。

    6. [Next] (次へ) を選択します。

  4. 機密情報フィルターを追加」ページで、次の操作を行い、機密情報をブロックまたはマスク処理するフィルターを設定します。

    1. [PII タイプ] セクションで、個人を特定できる情報 (PII) カテゴリをブロックまたはマスク処理するか、アクションを実行しない (検出モード) ように設定します。次のオプションがあります。

      • すべての PII タイプを追加するには、[PII タイプを追加] の横にあるドロップダウン矢印を選択します。次に、ガードレールの動作を選択して適用します。

        警告

        動作を指定すると、PII タイプに設定した既存の動作は上書きされます。

      • PII タイプを削除するには、ごみ箱アイコン ( Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family. ) を選択します。

      • エラーが含まれている行を削除するには、[すべて削除] を選択して、[エラーのあるすべての行を削除] を選択します。

      • すべての行を削除するには、[すべて削除] を選択して、[すべての行を削除] を選択します。

      • 行を検索するには、検索バーに式を入力します。

      • エラーが含まれている行のみを表示するには、[すべて表示] というラベルが付いたドロップダウンメニューを選択し、[エラーのみ表示] を選択します。

      • テーブル内の各ページのサイズまたはテーブル内の列表示を設定するには、設定アイコン ( Gear icon representing settings or configuration options. ) を選択します。設定を行い、[確認] を選択します。

    2. [正規表現パターン] セクションで、正規表現を使用して、ガードレールがフィルタリングするパターンを定義します。次のオプションがあります。

      • パターンを追加するには、[正規表現パターンを追加] を選択します。以下のフィールドを設定します。

        フィールド 説明
        名前 パターンの名前
        正規表現パターン パターンを定義する正規表現。
        Input パターンを含むコンテンツをブロックするか、識別子によってマスク処理するかを選択します。アクションを実行しない場合は、[検出 (アクションなし)] を選択します。
        Output
        説明を追加します。 (オプション) パターンの説明を記述する
      • パターンを編集するには、[アクション] 列のトピックと同じ行にある 3 つのドットアイコンを選択します。次に、[編集] を選択します。編集が完了したら、[確認] を選択します。

      • パターン (複数可) を削除するには、削除するパターンのチェックボックスをオンにします。[削除]]、[選択されたものを削除] の順に選択します。

      • すべてのパターンを削除するには、[削除][すべてを削除] を選択します。

      • パターンを検索するには、検索バーに式を入力します。

      • テーブル内の各ページのサイズまたはテーブル内の列表示を設定するには、設定アイコン ( Gear icon representing settings or configuration options. ) を選択します。設定を行い、[確認] を選択します。

    3. 機密情報フィルターの設定が完了したら、[次へ] または [スキップして確認および作成] を選択します。

API

機密情報ポリシーを使用してガードレールを作成するには、CreateGuardrail リクエストを送信します。リクエストの形式は次のとおりです。

POST /guardrails HTTP/1.1 Content-type: application/json { "blockedInputMessaging": "string", "blockedOutputsMessaging": "string", "sensitiveInformationPolicyConfig": { "piiEntitiesConfig": [{ "type": "ADDRESS | EMAIL | PHONE | NAME | SSN | ...", "action": "BLOCK | ANONYMIZE | NONE", "inputAction": "BLOCK | ANONYMIZE | NONE", "inputEnabled": true, "outputAction": "BLOCK | ANONYMIZE | NONE", "outputEnabled": true }], "regexesConfig": [{ "name": "string", "pattern": "string", "action": "BLOCK | ANONYMIZE | NONE", "description": "string", "inputAction": "BLOCK | ANONYMIZE | NONE", "inputEnabled": true, "outputAction": "BLOCK | ANONYMIZE | NONE", "outputEnabled": true }] }, "description": "string", "kmsKeyId": "string", "name": "string", "tags": [{ "key": "string", "value": "string" }], "crossRegionConfig": { "guardrailProfileIdentifier": "string" } }
  • ガードレールの namedescription を指定します。

  • blockedInputMessaging および blockedOutputsMessaging フィールドでプロンプトまたはモデルレスポンスをガードレールが正常にブロックしたときのメッセージを指定します。

  • sensitiveInformationPolicyConfig オブジェクトで機密情報ポリシーを設定します。

    • piiEntitiesConfig 配列を使用して、事前定義された PII エンティティタイプを設定します。

      • type フィールドで PII エンティティタイプを指定します。有効な値には、ADDRESSEMAILPHONENAMEUS_SOCIAL_SECURITY_NUMBER などがあります。

      • PII エンティティが action フィールドで検出されたときに実行するアクションを指定します。BLOCK でコンテンツをブロックするか、ANONYMIZE でコンテンツをマスクするか、NONE でアクションを実行せずに検出情報を返すかを選択します。

      • (オプション) inputActioninputEnabledoutputActionoutputEnabled を使用して、プロンプトとレスポンスにさまざまな動作を設定します。

    • regexesConfig 配列を使用して、検出するカスタムパターンを定義します。

      • 正規表現パターンの name を指定します (1~100 文字)。

      • 検出する正規表現 pattern を定義します (1~500 文字)。

      • パターンが検出されたときに実行する action を指定します。BLOCK でコンテンツをブロックするか、ANONYMIZE でコンテンツをマスクするか、NONE でアクションを実行せずに検出情報を返すかを選択します。

      • (オプション) 正規表現パターンの description を指定します (1~1000 文字)。

      • (オプション) inputActioninputEnabledoutputActionoutputEnabled を使用して、プロンプトとレスポンスにさまざまな動作を設定します。

  • (オプション) ガードレールにタグをアタッチします。詳細については、「Amazon Bedrock リソースにタグ付け」を参照してください。

  • (オプション) セキュリティのために、kmsKeyId フィールドに KMS キーの ARN を含めます。

  • (オプション) クロスリージョン推論を有効にするには、crossRegionConfig オブジェクトでガードレールプロファイルを指定します。

レスポンスの形式は次のとおりです。

HTTP/1.1 202 Content-type: application/json { "createdAt": "string", "guardrailArn": "string", "guardrailId": "string", "version": "string" }