あなたのAlexaダッシュボード 設定

Alexaスキルのセキュリティのテスト

ユーザーデータを保護するため、作成したスキルのクラウドベースのサービスは、Amazonのセキュリティガイドラインの要件を満たしている必要があります。具体的な要件は、AWS Lambdaを使用してホスティングするか、独自のエンドポイントを使用してホスティングするかによって異なります。AWS Lambdaは、Amazon Web Servicesが提供するサービスです。

2.1.Lambda関数としてホスティングされたスキル

Lambda関数は、リクエストが自身のサービスに向けたものであることを確認する必要があります。詳細については、「Alexaから送信されたリクエストを処理する」の「サービスに対するリクエストの妥当性を検証する」セクションを参照してください。

2.2.独自のエンドポイントでウェブサービスとしてホスティングされたスキル

  • ウェブサービスは、接続の確立時に有効な信頼できる証明書を提示する必要があり、また、対応する秘密鍵を持っていなければなりません。AmazonはAmazon認定の証明書認証局によって署名された証明書のみを信頼します。
  • 公開用のスキルには、自己署名証明書は使用できません。
  • サービスは、受け取ったリクエストがAlexaサービスから送信されたものであることを確認する必要があります。この確認は、リクエストの署名を検証することにより可能です。詳細については、「カスタムスキルをウェブサービスとしてホスティングする」の「Alexaから送信されたリクエストを検証する」セクションを参照してください。

    注: Alexa Skills Kitで提供されるJavaライブラリにある、SpeechletServletクラスのdisableRequestSignatureフラグをテストに使用できます。テスト中にこのフラグを使用した場合は、スキルの認定を申請する前に、必ずfalseに戻してください。

  • サービスは、受け取ったリクエストが自身のサービスに向けたものであることを確認する必要があります。詳細については、「Alexaから送信されたリクエストを処理する」の「サービスに対するリクエストの妥当性を検証する」セクションを参照してください。

2.3.アカウントのリンクを使用するスキル

スキルで、エンドユーザーのIDを別のシステムのユーザーと関連付ける(アカウントのリンク)必要がある場合は、このテストを行って、スキルが「Alexaユーザーとあなたのシステムでのユーザーを関連付ける」に定義されているすべての手順に従っていることを確認します。スキルを申請する際は、認定チームがアカウントのリンクと機能のテストを実施できるよう、テスト指示と有効な認証情報を提供するようにしてください。また、スキルは以下のアカウントリンクの基準も満たしている必要があります。

  • スキルは、Alexaアプリでスキルを有効にする際に、Amazonのアカウントリンク機能を使用してユーザーをログインページまたはランディングページにリダイレクトする必要があります。
  • Alexaアプリに表示されるスキルのプライバシーポリシーおよび利用規約が有効なウェブページを開ける必要があります。
  • 認証システムの所有者である場合は、スキルが以下の基準を満たす必要があります。
    • ログインページを表示するドメインの所有者であること。
    • ログインページがHTTPS経由で提供されること。
  • 認証システムの所有者でない場合は、スキルが以下の基準を満たす必要があります。
    • スキルを有効にする際にリダイレクトされるランディングページの所有者であること。ランディングページに、アカウントをスキルにリンクするためにどのサードパーティアカウントが必要かが明記されていること。
    • ランディングページから、OAuthプロバイダーが所有するドメインのログインページにユーザーが移動でき、そのログインページがHTTPS経由で提供されていること。
    • ユーザーに代わって、認証情報を直接処理、保存、転送することはできません。
  • Login with Amazonを使用している場合は、スキルが以下の基準を満たす必要があります。
    • ログインページのURLはamazon.com内にあり、HTTPS経由で提供されること。
    • ログインページに、アカウントをスキルにリンクするためにどのサードパーティアカウントが必要かが明記されていること。
    • スキルで収集して使用するユーザーの情報について明記されていること。ログインページに直接記載するか、プライバシーポリシー内に記載します。

2.4.ロック解除または制限解除が可能なスキル

ユーザーが端末をロック解除または制限解除できるスキルの場合、ロック解除または制限解除のアクションを実行する前に4桁以上のPINを言うように、ユーザーにリクエストする必要があります。PINを有効化したくないユーザーのために限定機能を提供することはできますが、PINの入力を省略することはできません。端末をロックまたは制限する場合には、PINの入力は推奨されますが必須ではありません。

テスト 想定される結果

1.

スキルを有効化し、アカウントのリンクプロセスを完了します。アカウントのリンクフローに、ロック解除機能へのアクセスのためのPIN設定が含まれ、PINがセキュリティ要件を満たしていることを確認します。

  • PINが、4桁以上であること。
  • フローで、ユーザーに60日ごとにPINをリセットするようリマインドすること。

2.

PINが設定されていないときにスキルが限定機能を提供する場合、スキルを無効化するか、Alexaアプリにスキルをまだ有効化していないAlexaユーザーとしてログインします。スキルを有効化し、プロンプトが示されてもPINを設定しないでおきます。ユーザーが端末をロック解除または制限解除できるインテントを呼び出します。

  • ロック解除または制限解除のリクエストが実行されないこと。ユーザーに対して、これらの機能を使用するにはPINを設定するよう指示すること。
  • ロック解除または制限解除以外の機能は、PINなしでも通常通り動作すること。

3.

ユーザーが端末をロック解除または制限解除できるインテントをそれぞれ呼び出します。

端末をロック解除または制限解除する各リクエストが、ユーザーに対してPINを言うようにリクエストすること。

4.

ユーザーが端末をロック解除または制限解除できるインテントをそれぞれ呼び出します。PINを求めるプロントが提示されたら、正しくないPINを言います。正しくないPINを、3回以上言ってください。

  • スキルが正しくないPINを受け付けず、ロック解除または制限解除のリクエストを実行しないこと。
  • 3回連続して正しくないPINを言った後、スキルがユーザーに対してPINをリセットするよう指示すること。4回目以降は、正しいPINがエラーになること。

2.5 予約機能を持つスキル

スキルでホテル、レンタカー、または航空券の予約機能を提供している場合、以下の要件を満たす必要があります。

  • この機能について説明に明記されていること。
  • ユーザーとシステムを接続するために、アカウントのリンクを使用すること。
  • 予約を完了する前に、ユーザーに対して予約の確認をリクエストすること。確認には、「はい」や「OK」などのフレーズを使用できます。
  • 音声、ホームカード、およびEメールで予約完了の確認を提供すること。
テスト 想定される結果

1.

スキルの説明を確認します。

スキルの説明に、ホテル、レンタカー、航空券の予約機能があることが書かれていること。

2.

スキルが、「Alexaユーザーとあなたのシステムでのユーザーを関連付ける」に定義されているすべての指示に従っていることを確認します。

スキルがアカウントのリンクを使用するよう設定され、2.3.で説明されているテストに合格すること。アカウントのリンクを使用するスキル

3.

スキルとの対話を開始し、予約を行います。

  • スキルが予約を完了する前に、ユーザーに確認をリクエストすること。
  • 「はい」、「OK」、「うん」などで始まるフレーズを言ことで、予約が確定されること。

4.

スキルとの対話を開始し、予約を行います。スキルから確定を促されたら、「はい」などの承諾フレーズを言って確定します。

  • スキルが予約を完了すること。
  • 音声による確認を受信すること。
  • Alexaアプリに対して、予約確認のカードが送信されること。
  • 予約確認のEメールをユーザーが受信すること。

2.6 プライバシーの要件

以下のような機能は認められません。

  1. フィッシングやトロイの木馬など悪意のあるハッキングについて言及したり、こうした機能を含むこと。これには、端末のroot化や、Amazonまたは開発者のDRM(デジタル著作権管理)ソフトウェアの迂回なども含まれます。
  2. スキルやスキルのメタデータ内に、悪意あるユーザーのスパイ行為またはトラッキング(ストーカー行為など)へのリンク、そういった機能を含んでいる。
  3. ユーザーの個人を特定できる情報や機密性の高い個人情報を悪用している。
  4. 以下のすべてを実施することなく、エンドユーザーから個人情報を収集すること。(i) スキルの詳細ページでエンドユーザーにデータ収集について通知すること、
    (ii) エンドユーザーの同意を得て情報を使用すること、
    (iii) 情報の収集と使用が、プライバシー声明および適用されるすべての法律を遵守している。

    スキルがエンドユーザーから個人情報を収集する場合は、申請前に、Alexaアプリのスキルの詳細ページに、エンドユーザーに対して表示するプライバシーポリシーを記入する必要があります。

次のステップ