Amazon Web Services ブログ

Amazon Connect 添付ファイルスキャンによる保護とレピュテーションリスク低減

顧客とエージェントのチャット対話中にファイルを共有できる機能は、全体的な顧客体験を大幅に向上させる重要な利点があります。顧客がチャットセッション中に文書、画像、スクリーンショットなどのファイルを共有できるようにすることで、より明確なコミュニケーションが可能になり、顧客の問題をより包括的に理解できます。これにより、問題の解決が早まり、より顧客にパーソナライズした対応ができます。エージェントは添付ファイルを使用して、製品ガイド、トラブルシューティングの手順、または必要な情報を共有することで、提供するサポートをより充実させることができます。さらに、関連する視覚情報を送信できることで、複雑な概念の説明が容易になり、誤解を減らし、顧客満足度を高めることができます。例えば、エージェントが最近のホテルの請求書のコピーを送信したり、顧客が破損した製品の写真を共有したりできます。

添付ファイルの送受信機能を有効にすることは対話の強化に重要ですが、同時にマルウェア、ウイルス、ランサムウェア、トロイの木馬に感染したファイルや不適切な画像など、悪意のあるファイルに晒されるリスクを高めることになります。悪意のあるファイルは、顧客とエージェントの両方のデータを危険にさらす重大な脅威となる可能性があります。これは受信者のシステムにのみ影響を与えるだけでなく、企業の評判に対してもリスクがあり、企業が顧客と収益を失う原因にもなります。

Amazon Connect では、顧客とエージェントがチャットでファイルを共有したり、エージェントが Amazon Connect Cases を使用してケースにファイルをアップロードすることができます。チャットのシナリオでは、添付ファイルがチャット記録に含まれるため、コンタクトが別のエージェントに転送された場合でも、その会話の完全な文脈を理解することができます。ファイルはAmazon Simple Storage Service (S3) バケットに保存されるため、顧客関係管理 (CRM) システムやケース管理システムなど、他のシステムからもアクセスできます。

ソリューションの概要

このソリューションでは、Amazon Rekognition のコンテンツモデレーションを使用して、一般的または業界固有の基準やプラクティスに基づき、画像内の不適切、不要、または攻撃的なコンテンツを特定します。例えば、Amazon Rekognition ベースのスキャナーは機械学習を使用して露骨なコンテンツを検出します。これにより、安全なユーザー体験を推進し、顧客にブランドの安全性を保証し、地域およびグローバルな規制に準拠することができます。

AWS Lambda 関数 “ConnectAttachmentScanner” を作成し、指定された JPEG または PNG 形式の画像に露骨な内容がないかを検出する Amazon Rekognition DetectModerationLabels API を呼び出します。この Lambda 関数は、スキャンが必要な画像の場所に関する情報を渡す役割を担います。Lambda 関数から返される応答には、画像スキャンプロセスの承認ステータスが含まれます。この例では、Lambda 関数の応答に 1 つ以上のラベルカテゴリが存在する場合に、画像が拒否されます。

Amazon Connect との添付ファイルスキャナー統合をセットアップするには、CreateIntegrationAssociation API を使用して AWS Lambda の Amazon リソースネーム (ARN) を指定し、integration type パラメーターを “FILE_SCANNER” に設定します。

アーキテクチャ

アーキテクチャ図

  1. お客様が Amazon Connect によってホストされているコミュニケーションウィジェットを使ってウェブサイトからチャットを開始するか、Amazon Connect Chat SDK を使ってモバイルアプリケーションからチャットを開始します
  2. チャットの対話が、Amazon Connect のフロー設定に基づいて、応対可能なエージェントにルーティングされます
  3. お客様またはエージェントがチャットで添付ファイルを送信すると、そのファイルが Amazon S3 バケットにアップロードされます
  4. Amazon Connect インスタンスが、ファイルのスキャンを処理する添付ファイルスキャナーである AWS Lambda 関数を呼び出します
  5. スキャナー Lambda 関数が S3 バケットからファイルを取得します
  6. スキャナー Lambda 関数が Amazon Rekognition DetectModetationLabel API を呼び出します
  7. Amazon Connect は、Lambda の応答ステータスに基づいて、添付ファイルを APPROVED または REJECTED にマークします。結果が REJECTED の場合、S3 内の添付ファイルは、一時的な保存場所と最終的な保存場所の両方から自動的に削除されます

手順

この手順では、AWS Serverless Application Model (SAM) を使用して、画像ファイルのスキャナーを作成する方法を示します。SAM アプリケーションをデプロイし、スキャナーを実装するために必要なインフラストラクチャを構築します。次に、デプロイされた画像ファイルスキャナーを Amazon Connect インスタンスに統合し、Amazon Connect コンソール内で利用可能なテストチャットユーティリティを使用してソリューションをテストし、最後にデプロイしたソリューションをクリーンアップします。

前提条件

この手順を実施するには、以下の前提条件を満たす必要があります:

ステップ 1: IAM ユーザーアカウントにアクセス許可を割り当て

AWS Management Console を使用して、ID (ユーザー、ユーザーグループ、ロール) にアクセス許可を追加できます。これを行うには、アクセス許可を制御する管理ポリシーを割り当てるか、アクセス許可境界として機能するポリシーを指定します。インラインポリシーを埋め込むこともできます。

ユーザーまたはロールにインラインポリシーを埋め込むには (コンソール)

  1. AWS Management Console にサインインし、 IAM コンソール (https://console.aws.amazon.com/iam/) を開きます
  2. ナビゲーションペインでユーザーを選択します
  3. リストから、ポリシーを埋め込むユーザーの名前を選択します
  4. 許可タブを選択します
  5. 許可を追加ドロップダウンからインラインポリシーを作成を選択します
  6. ポリシーエディターセクションでJSONオプションを選択し、以下のポリシーを貼り付けます
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "0",
                "Effect": "Allow",
                "Action": [
                    "iam:GetRole",
                    "iam:PassRole",
                    "iam:DetachRolePolicy",
                    "iam:CreateRole",
                    "iam:DeleteRole",
                    "iam:AttachRolePolicy",
                    "iam:PutRolePolicy",
                    "iam:DeleteRolePolicy"
                ],
                "Resource": "arn:aws:iam::111122223333:role/sam-app-LambdaRole-*"
            },
            {
                "Sid": "1",
                "Effect": "Allow",
                "Action": [
                    "connect:CreateIntegrationAssociation"
                ],
                "Resource": "arn:aws:connect:aa-example-1:111122223333:instance/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa/integration-association/*"
                
            },
            {
                "Sid": "2",
                "Effect": "Allow",
                "Action": [
                    "lambda:AddPermission",
                    "lambda:RemovePermission",
                    "lambda:CreateFunction",
                    "lambda:TagResource",
                    "lambda:GetFunction",
                    "lambda:DeleteFunction",
                    "lambda:PutFunctionConcurrency"
                ],
                "Resource": "arn:aws:lambda:aa-example-1:111122223333:function:sam-app-ConnectAttachmentScanner-*"
                
            }
        ]
    }
  7. 貼り付けたポリシー内を以下の通り変更します:
    • aa-example-1を AWS リージョンに置き換えます
    • 111122223333 を使用する AWS アカウント ID に置き換えます
    • a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa を Amazon Connect インスタンス ID に置き換えます。Amazon Connect のインスタンス ID/ARN を見つける方法については、Amazon Connect 管理者ガイドをご覧ください
  8. ポリシー名を入力し、ポリシーの作成をクリックします

ステップ 2: SAM アプリケーションのビルド・デプロイ

このステップでは、Amazon Rekognition による画像ファイルスキャナーのサーバーレスアプリケーションを作成する SAM アプリケーションをデプロイします。AWS SAM CLI の使用に慣れていない場合は、AWS Serverless Application Model 開発者ガイドの「AWS SAM の使用方法」に移動して、AWS SAM CLI のインストールとセットアップ方法を確認してください。

  1. Git を使用して、GitHub からリポジトリをクローンします
    git clone https://github.com/aws-samples/safeguard-your-environment-and-reduce-reputational-risk-using-amazon-connect-attachment-scanning
  2. リポジトリがダウンロードされたディレクトリに移動します
    cd safeguard-your-environment-and-reduce-reputational-risk-using-amazon-connect-attachment-scanning
  3. SAM でソリューションをビルドします
    sam build
  4. ソリューションをデプロイします。対話型のフローでは、AWS SAM CLI がアプリケーションのデプロイ設定を構成するためのオプションを求めます。S3BucketName を Amazon Connect チャット添付ファイル S3 バケットに置き換えてください
    sam deploy –-guided
    
    
    
    Configuring SAM deploy
    ======================
    
            Looking for config file [samconfig.toml] :  Found
            Reading default arguments  :  Success
    
            Setting default arguments for 'sam deploy'
            =========================================
            Stack Name [sam-app]: ENTER
            AWS Region [eu-west-2]: ENTER or provide the desired region
    	Parameter ConnectBucketName []: S3BucketName
            #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
            Confirm changes before deploy [Y/n]: ENTER
            #SAM needs permission to be able to create roles to connect to the resources in your template
            Allow SAM CLI IAM role creation [Y/n]: ENTER
            #Preserves the state of previously provisioned resources when an operation fails
            Disable rollback [y/N]: ENTER
            Save arguments to configuration file [Y/n]: ENTER
            SAM configuration file [samconfig.toml]: ENTER
            SAM configuration environment [default]: ENTER
    
    Previewing CloudFormation changeset before deployment
    ======================================================
    Deploy this changeset? [y/N]: y   
    
    Successfully created/updated stack - sam-app in aa-example-1

ステップ 3: デプロイされたアプリケーションの表示・確認

デプロイされたアプリケーションを表示するには、以下の手順を実行します。

  1. URL https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソールを直接開きます
  2. スタックを選択します
  3. アプリケーション名でスタックを特定し、選択してリソースを表示します
  4. sam-app-ConnectAttatchmentScanner-021345abcdef6789 のような名称の Lambda 関数をクリックし移動します
    CloudFormation Console
  5. Lambda 関数の ARN をコピーします。この情報は次のステップで必要になります
    Lambda Console

ステップ4: Amazon Connect インスタンスを添付ファイルスキャナーと統合

AWS CLI を使用して、次のようにコマンドを実行します。

aws connect create-integration-association \
--instance-id a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa \
--integration-type FILE_SCANNER \
--integration-arn arn:aws:lambda:aa-example-1:111122223333:function:sam-app-ConnectAttachmentScanner-021345abcdef6789
Successful response:
{
"IntegrationAssociationId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
"IntegrationAssociationArn": "arn:aws:connect:aa-example-1:111122223333:instance/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa/integration-association/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}

前述のコマンドを実行する際は、以下の操作を行います。

  • a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa を Amazon Connect インスタンス ID に置き換えます
  • arn:aws:lambda:aa-example-1:111122223333:function:sam-app-ConnectAttachmentScanner-021345abcdef6789 を添付ファイルスキャナーの AWS Lambda 関数の ARN に置き換えます

ソリューションのテスト

このセクションでは、Amazon Connect でホストされたコミュニケーションである、チャットウィジェットを使用して、添付ファイルスキャナーソリューションをテストします。Amazon Connect 管理ウェブサイト内で利用可能なテストチャットユーティリティを使用して、添付ファイルスキャナーの機能を検証することもできます。

シナリオ

マリア ガルシアは AnyCompany 社の顧客です。2 日前、フィットネスの目標をトラックするため、新しいスマートウォッチを受け取りました。ウォッチを開封した後、マリアは血中酸素濃度を測定する機能がないことに気づきました。そこで、返品を要求するため AnyCompany アカウントにログインし、Web アプリケーションを介してチャットを開始しました。

AnyCompany の経験豊富なエージェント、ジョン スタイルズがチャット対応を受け付けました。ジョンはマリアに挨拶をし、返品要求に関する支援を申し出ました。ジョンは、マリアに返品したいスマートウォッチの購入証明書のアップロードを求めました。マリアはクリップのアイコンを選択して必要な文書を添付しようとしましたが、誤って写真フォルダに保存されていた処方薬の写真をアップロードしてしまいました。薬物関連のコンテンツをブロックするよう設定されたスキャナーによって、その処方薬の画像は拒否されました。

顧客体験

顧客が誤ったファイルをアップロードした様子その後マリアは新しいスマートウォッチの購入証明書をアップロードしました。添付ファイルスキャナーがファイルを受け入れ、ジョンに表示されました。

エージェント体験エージェント側でのファイル受信の様子

ジョンは返金リクエストのガイドラインに従い、AnyCompany Retail の返品ポリシーをマリアと共有します。このドキュメントで、マリアはリクエストの予想される処理時間などの有用な情報を知ることができます。彼女はまた、印刷して荷物に貼り付けることができる発送ラベルも受け取りました。

エージェント体験

エージェントからのファイル添付

顧客体験

顧客にファイルが共有された様子クリーンアップ

継続的な課金を避けるためには、プロジェクトのルートフォルダに移動し、次のコマンドを実行してください:

sam delete 
Are you sure you want to delete the stack sam-app in the region aa-example-1  ? [y/N]: y 
Are you sure you want to delete the folder sam-app in S3 which contains the artifacts? [y/N]: y

これにより、Amazon S3 にパッケージングおよび展開されたアーティファクトを含む AWS CloudFormation スタックが削除され、AWS SAM アプリケーションが削除されます。 Amazon Connect インスタンスから添付ファイルスキャナーの関連付けを削除するには、次のコマンドを実行します:

aws connect delete-integration-association \
--instance-id a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa\
--integration-association-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

前述のコマンドを実行する際は、ステップ 3 から取得した値を使用して以下を行ってください:

  • a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa を Amazon Connect インスタンス ID に置き換えます。
  • a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 を添付ファイルスキャナー統合関連付け ID に置き換えます。

結論

この投稿では、添付ファイルスキャナーソリューションと Amazon Connect を統合する方法について説明しました。この機能を使用すると、以下のことができます。

  • 既存の脅威スキャンソリューションを Amazon Connect と連携する
  • お客様を悪意のある活動から保護し、安全な環境を運用する
  • 評判リスクを軽減し、顧客体験を向上させる

Amazon Connect と添付ファイルスキャンのセットアップの詳細については、Amazon Connect 管理者ガイドをご覧ください。 Amazon Connect で顧客サービス体験を変革する準備はできましたか ? ぜひ お問い合わせください。


Marwan BassyouniMarwan Bassyouni は、AWS WWSO Applications のカスタマーエクスペリエンススペシャリストソリューションアーキテクトAmazon Connect に特化し、様々な業界の組織がカスタマーエクスペリエンスソリューション (CX) とデジタルトランスフォーメーションを通じてビジネス目標を達成できるよう支援しています。プライベートでは、家族と一緒にビーチに行って良い時間を過ごしたり、ジムで限界に挑戦したりしています。熱心なマンチェスターユナイテッドのサポーターでもあり、最新の試合や移籍のニュースについて議論する準備が常にできています。

翻訳はテクニカルアカウントマネージャー高橋が担当しました。原文はこちらです。