次の方法で共有


Bring Your Own Storage (BYOS) Speech リソースを設定する

Bring Your Own Storage (BYOS) は、データのセキュリティとプライバシーに関する要件が高い顧客向けの Azure AI テクノロジです。 このテクノロジの中核となるのは、ユーザーが所有し完全に制御する Azure Storage アカウントを Speech リソースと関連付ける機能です。 Speech リソースはこのストレージ アカウントを使用して、ユーザー データ処理に関連するさまざまな成果物を格納します。通常のケースで行われるように、Speech サービスのプレミス内の同じ成果物を格納することはしません。 このアプローチでは、カスタマー マネージド キーを使用したデータの暗号化、プライベート エンドポイントを使用したデータへのアクセスなど、Azure Storage アカウントのすべてのセキュリティ機能を使用できます。

BYOS シナリオでは、Speech リソースとストレージ アカウント間のすべてのトラフィックは Azure のグローバル ネットワークを使用して維持されます。つまり、すべての通信はプライベート ネットワークを使用して実行され、パブリック インターネットは完全にバイパスされます。 BYOS シナリオの Speech リソースでは、 Azure の信頼されたサービスのメカニズムを使用してストレージ アカウントにアクセスし、認証方法として システム割り当てマネージド ID、また承認方法として ロールベースのアクセス制御 (RBAC) に依存しています。

例外が 1 つあります。テキスト読み上げを使用していて、Speech リソースと関連するストレージ アカウントが別々の Azure リージョンにある場合、操作にはパブリック インターネットが使われます。これには ユーザー委任 SAS 使用されます。 このセクションの詳細を参照してください。

BYOS は、複数の Azure AI サービスで使用できます。 Azure Cognitive Service for Speech では、以下のシナリオで使用できます。

音声テキスト変換

テキスト読み上げ

Speech リソース – ストレージ アカウントの 1 つの組み合わせについて、4 つのシナリオすべてをすべての組み合わせで同時に使用できます。

この記事では、前述のすべてのシナリオに適用可能な BYOS 対応 Speech リソースを作成し管理する方法について説明します。 シナリオ固有の情報については、対応する記事を参照してください。

BYOS 対応 Speech リソース: 基本的な規則

BYOS 対応 Speech リソースの構成を計画するときは、次の規則を考慮してください。

  • Speech リソースは、作成時にのみ BYOS 対応にすることができます。 既存の Speech リソースを BYOS 対応に変換することはできません。 BYOS 対応 Speech リソースを "従来" の (BYOS でない) リソースに変換することはできません。
  • Speech リソースに関連付けられるストレージ アカウントは、Speech リソースの作成時に宣言されます。 後で変更することはできません。 つまり、既存の BYOS 対応 Speech リソースに関連付けられているストレージ アカウントを変更することはできません。 別のストレージ アカウントを使用するには、別の BYOS 対応 Speech リソースを作成する必要があります。
  • BYOS 対応 Speech リソースを作成する場合は、既存のストレージ アカウントを使用するか、Speech リソースのプロビジョニング中に自動的に作成できます (後者は、Azure portal を使用する場合にのみ有効です)。
  • 1 つのストレージ アカウントを多数の Speech リソースに関連付けることができます。 1 つの Speech リソースごとに 1 つのストレージ アカウントを使用することをお勧めします。
  • ストレージ アカウントと関連する BYOS 対応 Speech リソースは、同じ Azure リージョンに配置することも、別々の Azure リージョンに配置することもできます。 待機時間を最小限に抑えるために、同じリージョンを使用することをお勧めします。 同じ理由から、マルチリージョンでの構成に、遠く離れたリージョンを選択することはお勧めしません。 (たとえば、ストレージ アカウントを米国東部に配置し、関連する Speech リソースを西ヨーロッパに配置することはお勧めしません)。

BYOS 対応 Speech リソースを作成して構成する

このセクションでは、BYOS 対応 Speech リソースを作成する方法について説明します。

Azure サブスクリプションの BYOS へのアクセスを要求する

使用予定の Azure サブスクリプションごとに BYOS 機能へのアクセスを要求する必要があります。 アクセスを要求するには、Cognitive Services & Applied AI カスタマー マネージド キーおよび Bring Your Own Storage アクセス要求フォームに入力して送信します。 要求が承認されるまでお待ちください。

(省略可能) Azure サブスクリプションが BYOS にアクセスできるかどうかを確認する

Azure サブスクリプションが BYOS にアクセスできるかどうかは簡単に確認できます。 このチェックでは、Azure のプレビュー機能を使用します。

この機能は、Azure portal では使用できません。

Note

こちらの記事で説明されているように、特定の Azure サブスクリプションのプレビュー機能の一覧を表示できますが、BYOS を含むすべてのプレビュー機能がこのように表示されるわけではないことに注意してください。

ストレージ アカウントの計画と準備

Azure portal を使用して BYOS 対応 Speech リソースを作成すると、関連付けられたストレージ アカウントを自動的に作成できます。 他のすべてのプロビジョニング方法 (Azure CLI、PowerShell、REST API 要求) では、既存のストレージ アカウントを使用する必要があります。

既存のストレージ アカウントを使用しタイト考えていて、かつ BYOS 対応 Speech リソースのプロビジョニングに Azure portal メソッドを使用しない場合は、このストレージ アカウントに関して次の点に注意してください。

  • ストレージ アカウントの完全な Azure リソース ID が必要です。 これを取得するには、Azure portal の [ストレージ アカウント] に移動し、[設定] グループから [エンドポイント] メニューを選択します。 [ストレージ アカウントのリソース ID] フィールドの値をコピーして保存します。
  • BYOS を完全に構成するには、選択したストレージ アカウントに対して "リソース所有者" 以上の権限が必要です。

Note

BYOS 対応 Speech リソースを使用するためには、ストレージ アカウントの "リソース所有者" 以上の権限は必要ありません。 ただし、BYOS シナリオで使用するためのストレージ アカウントの初期構成を行う際に 1 度だけ必要です。 このセクションの詳細を参照してください。

BYOS 対応 Speech リソースを作成する

Speech リソースの作成を試みる前に、Azure サブスクリプションで BYOS の使用が有効になっていることを確認します。 このセクションをご覧ください。

BYOS 対応 Speech リソースを作成するには、次の 2 つの方法があります。

  • Azure Portal を使用する方法。
  • Cognitive Services API (PowerShell、Azure CLI、REST 要求) を使用する方法。

Azure portal オプションには、より厳しい要件があります。

  • BYOS 対応 Speech リソース プロビジョニングに使用されるアカウントには、"サブスクリプション所有者" の権限が必要です。
  • BYOS に関連付けられたストレージ アカウントは、Speech リソースと同じリージョンにのみ配置されている必要があります。

これらの追加要件のいずれかがシナリオに適合しない場合は、Cognitive Services API オプション (PowerShell、Azure CLI、REST 要求) を使用します。

上記のいずれかの方法を使用するには、"共同作成者" など、サブスクリプションにリソースを作成できるロールが割り当てられている Azure アカウントが必要です。

Note

Azure portal を使用して BYOS 対応 Speech リソースを作成する場合は、新しいストレージ アカウントを作成するオプションを選択することをお勧めします。

Azure portal を使用して BYOS 対応 Speech リソースを作成するには、一部のポータル プレビュー機能にアクセスする必要があります。 次の手順を実行します:

  1. このリンクを使用して [音声の作成] ページに移動します。
  2. ページ下部にある [ストレージ アカウント] を確認します。
  3. [ストレージ持ち込み] オプションで [はい] を選択します。
  4. 必要な [ストレージ アカウント] 設定を構成し、Speech リソースの作成に進みます。

BYOS 対応の Speech リソースを作成するために Azure portal を使用した場合は、これで使用する準備がすべて整いました。 他の方法を使用した場合は、関連付けられているストレージ アカウントのスコープ内で Speech リソースのマネージド ID のロール割り当てを実行する必要があります。 いずれの場合も、データ セキュリティに関連するさまざまなストレージ アカウント設定を確認する必要があります。 このセクションをご覧ください。

(省略可能) Speech リソース BYOS の構成を確認する

特定の Speech リソースが BYOS 対応であるかどうか、およびどのストレージ アカウントが関連付けられているかを常に確認できます。 これを行うには、Azure portal または Cognitive Services API を使用します。

Azure portal を使用して Speech リソースの BYOS 構成をチェックするには、一部のポータル プレビュー機能にアクセスする必要があります。 次の手順を実行します:

  1. このリンクを使用して [音声の作成] ページに移動します。
  2. 右上隅の "X" を押して、[音声の作成] 画面を閉じます。
  3. 未保存の変更を破棄するというメッセージが表示された場合は、それに同意します。
  4. 確認したい Speech リソースに移動します。
  5. [リソース管理] グループの [ストレージ] メニューを選択します。
  6. 以下を確認します。
    1. [アタッチされたストレージ] フィールドに、BYOS に関連付けられているストレージ アカウントの Azure リソース ID が表示されている。
    2. [ID の種類] に [システム割り当て済み] が選択されている。

[リソース管理] グループに [ストレージ] メニュー項目がない場合、選択した Speech リソースは BYOS 対応ではありません。

BYOS に関連付けられたストレージ アカウントを構成する

データの高度なセキュリティとプライバシーを実現するには、BYOS に関連付けられているストレージ アカウントの設定を適切に構成する必要があります。 Azure portal を使用して BYOS 対応 Speech リソースを作成しなかった場合は、必須の手順であるロールの割り当ても実行する必要があります。

リソースにアクセス ロールを割り当てる

Azure portal を使用して BYOS 対応 Speech リソースを作成しなかった場合、この手順は必ず行う必要があります

BYOS では、ストレージ アカウントの BLOB ストレージが使用されます。 このため、BYOS 対応 Speech リソースのマネージド ID には、BYOS に関連付けられたストレージ アカウントのスコープ内で "ストレージ BLOB データ共同作成者" ロールの割り当てが必要です。

注意事項

カスタム役割の割り当てを組み込みの "ストレージ BLOB データ共同作成者" ロールの代わりに使用しないでください。

そうしなければ、BYOS に関連付けられているストレージ アカウントへのアクセスに関連するサービス エラーや問題のデバッグが困難になる可能性があります。

Azure portal を使用して BYOS 対応 Speech リソースを作成した場合は、このサブセクションの残りの部分をスキップできます。 ロールの割り当ては既に完了しています。 それ以外の場合は、次の手順に従います。

重要

次の手順の操作を実行するには、ストレージ アカウントの所有者ロール以上のスコープ (サブスクリプションなど) が割り当てられている必要があります。 これは、所有者ロールのみが他のユーザーにロールを割り当てることができるためです。 詳細については、こちらを参照してください。

  1. Azure portal に移動し、ご自分の Azure アカウントにサインインします。
  2. ストレージ アカウントを選択します。
  3. 左側のペインの [アクセス制御 (IAM)] を選択します。
  4. [このリソースへのアクセス権の付与] タイルの [ロールの割り当てを追加] を選択します。
  5. [ロール] で [ストレージ BLOB データ閲覧者] を選択し、[次へ] を選択します。
  6. [メンバー]>[アクセスの割り当て先][マネージド ID] を選択します。
  7. ご使用の Speech リソースのマネージド ID を割り当て、[レビューと割り当て] を選択します。
  8. 設定を確認したら、[レビューと割り当て] を選択します。

音声テキスト変換のストレージ アカウントのセキュリティ設定を構成する

このセクションでは、音声テキスト変換シナリオのみに BYOS に関連付けられたストレージ アカウントを使用する場合に、ストレージ アカウントのセキュリティ設定を設定する方法について説明します。 テキスト読み上げ、または音声テキスト変換とテキスト読み上げの両方の組み合わせに BYOS に関連付けられたストレージ アカウントを使用する場合は、こちらのセクションを使用します。

音声テキスト変換 BYOS では、信頼された Azure サービスのセキュリティ メカニズムを使用してストレージ アカウントと通信しています。 このメカニズムを使用すると、ストレージ アカウントのデータへのアクセスを制限する規則を設定できます。

このセクションのすべてのアクションを実行すると、ストレージ アカウントの構成は次のようになります。

  • すべての外部ネットワーク トラフィックへのアクセスが禁止されます。
  • ストレージ アカウント キーを使用したストレージ アカウントへのアクセスが禁止されます。
  • Shared Access Signature (SAS) を使用したストレージ アカウント BLOB ストレージへのアクセスが禁止されます。 (ユーザー委任 SAS を除く)
  • 選択した Speech リソースへのアクセスは、リソースのシステム割り当てマネージド ID を使用して許可されます。

そのため、実際には、ストレージ アカウントは完全に "ロック" され、Speech リソースのみがアクセスできます。これにより、次のことが可能になります。

  • 音声データ処理の成果物を書き込む (対応する記事の詳細を参照)、
  • 新しい構成が適用された時点までに既に存在していたファイルを読み取る。 たとえば、バッチ文字起こし用のソース オーディオ ファイルや、カスタム モデルのトレーニングとテスト用のデータセット ファイルなどです。

データのセキュリティに関する限り、この構成をモデルとして検討し、ニーズに応じてカスタマイズする必要があります。

たとえば、選択したパブリック IP アドレスと Azure 仮想ネットワークからのトラフィックを許可できます。 また、プライベート エンドポイントを使用したストレージ アカウントへのアクセスの設定 (こちらのチュートリアルも参照)、ストレージ アカウント キーを使用したアクセスの再有効化、他の Azure の信頼されたサービスへのアクセスの許可などを行うこともできます。

Note

ストレージ アカウントをセキュリティで保護するために Speech 用のプライベート エンドポイントを使用する必要はありません。 Speech 用のプライベート エンドポイントは、Speech API 要求のチャネルをセキュリティで保護し、ソリューションの追加コンポーネントとして使用できます。

ストレージ アカウントへのアクセスを制限する

  1. Azure portal に移動し、ご自分の Azure アカウントにサインインします。
  2. ストレージ アカウントを選択します。
  3. 左側のペインの [設定] グループで、[構成] を選択します。
  4. [Allow Blob public access] (BLOB パブリック アクセスを許可する)[無効] を選択します。
  5. [ストレージ アカウント キーへのアクセスを許可する][無効] に設定します。
  6. [保存] を選択します。

詳細については、「コンテナーと BLOB への匿名パブリック読み取りアクセスを防ぐ」および「Azure Storage アカウントの共有キーによる承認を禁止する」を参照してください。

Azure Storage ファイアウォールを構成する

ストレージ アカウントへのアクセスが制限した場合は、Speech リソースのマネージド ID へのアクセスを許可する必要があります。 次の手順に従って、Speech リソースへのアクセスを追加します。

  1. Azure portal に移動し、ご自分の Azure アカウントにサインインします。

  2. ストレージ アカウントを選択します。

  3. 左側のペインの [セキュリティとネットワーク] グループで、[ネットワーク] を選択します。

  4. [ファイアウォールと仮想ネットワーク] タブで、[選択した仮想ネットワークと IP アドレスから有効] を選択します。

  5. すべてのチェック ボックスの選択を解除します。

  6. [Microsoft ネットワーク ルーティング] が選択されていることを確認します。

  7. [リソース インスタンス] セクションで、リソースの種類として Microsoft.CognitiveServices/accounts を選択し、インスタンス名としてご使用の Speech リソースを選択します。

  8. [保存] を選択します。

    Note

    ネットワークの変更が反映されるまでに最大 5 分かかる場合があります。

テキスト読み上げ用にストレージ アカウントのセキュリティ設定を構成する

このセクションでは、BYOS に関連付けられたストレージ アカウントをテキスト読み上げに使用する場合、または音声テキスト変換とテキスト読み上げの両方を組み合わせて使用する場合に、ストレージ アカウントのセキュリティ設定を設定する方法について説明します。 BYOS に関連付けられたストレージ アカウントを音声テキスト変換のみに使用する場合は、こちらのセクションを使用します。

Note

テキスト読み上げでは、音声テキスト変換と比較して、より緩いストレージ アカウントのファイアウォールの設定が必要です。 音声テキスト変換とテキスト読み上げの両方を使用し、データを保護するためにストレージ アカウントのセキュリティ設定を最大限に制限する必要がある場合は、音声テキスト変換タスクとテキスト読み上げタスクに、別々のストレージ アカウントとそれに対応する Speech リソースの使用を検討してください。

このセクションのすべてのアクションを実行すると、ストレージ アカウントの構成は次のようになります。

これらは、テキスト読み上げシナリオで可能な最も制限の厳しいセキュリティ設定です。 必要に応じて、さらにカスタマイズできます。

ストレージ アカウントへのアクセスを制限する

  1. Azure portal に移動し、ご自分の Azure アカウントにサインインします。
  2. ストレージ アカウントを選択します。
  3. 左側のペインの [設定] グループで、[構成] を選択します。
  4. [Allow Blob public access] (BLOB パブリック アクセスを許可する)[無効] を選択します。
  5. [ストレージ アカウント キーへのアクセスを許可する][無効] に設定します。
  6. [保存] を選択します。

詳細については、「コンテナーと BLOB への匿名パブリック読み取りアクセスを防ぐ」および「Azure Storage アカウントの共有キーによる承認を禁止する」を参照してください。

Azure Storage ファイアウォールを構成する

カスタム ニューラル音声では、ユーザー委任 SAS を使用して、カスタム ニューラル音声のモデル トレーニング用のデータを読み取ります。 これには、外部ネットワーク トラフィックからストレージ アカウントへのアクセスを許可する必要があります。

  1. Azure portal に移動し、ご自分の Azure アカウントにサインインします。
  2. ストレージ アカウントを選択します。
  3. 左側のペインの [セキュリティとネットワーク] グループで、[ネットワーク] を選択します。
  4. [ファイアウォールと仮想ネットワーク] タブで、[すべてのネットワークから有効] を選択します。
  5. [保存] を選択します。

Speech Studio で使用する BYOS に関連付けられたストレージ アカウントを構成する

データセットのアップロード、カスタム モデルのトレーニングやテストなどの Speech Studio 操作の多くは、BYOS 対応 Speech リソースの特別な構成を必要としません。

ただし、Speech Studio Web インターフェイスを使用して、BYOS に関連付けられたストレージ アカウントに格納されたデータを読み取る必要がある場合は、BYOS に関連付けられたストレージ アカウントの追加設定を構成する必要があります。 たとえば、データセットの内容を表示できる必要があります。

クロスオリジン リソース共有 (CORS) の構成

Speech Studio は、BYOS に関連付けられたストレージ アカウントの Blob Storage に対して要求を行うアクセス許可を必要とします。 このようなアクセス許可を付与するには、クロスオリジン リソース共有 (CORS) を使用します。 以下の手順に従ってください。

  1. Azure portal に移動し、ご自分の Azure アカウントにサインインします。
  2. ストレージ アカウントを選択します。
  3. 左側のウィンドウの [設定] グループで、[リソース共有 (CORS)] を選択します。
  4. [BLOB ストレージ] タブが選択されていることを確認します。
  5. 以下のレコードを構成します。
    • 許可されたオリジン: https://speech.microsoft.com
    • 許可されたメソッド: GETOPTIONS
    • 許可されたヘッダー: *
    • 公開されるヘッダー: *
    • 最長有効期間: 1000
  6. [保存] を選択します。

警告

[許可される配信元] フィールドには、末尾のスラッシュのない URL を含める必要があります。 つまり、https://speech.microsoft.com/ ではなく、https://speech.microsoft.com であることが必要です。 末尾にスラッシュを追加すると、Speech Studio でデータセットとモデル テストの詳細が表示されません。

Azure Storage ファイアウォールを構成する

Speech Studio を使用してブラウザーを実行するコンピューターへのアクセスを許可する必要があります。 ストレージ アカウントのファイアウォール設定で、すべてのネットワークからのパブリック アクセスが許可されている場合は、このサブセクションをスキップできます。 それ以外の場合は、次の手順に従います。

  1. Azure portal に移動し、ご自分の Azure アカウントにサインインします。
  2. ストレージ アカウントを選択します。
  3. 左側のペインの [セキュリティとネットワーク] グループで、[ネットワーク] を選択します。
  4. [ファイアウォール] セクションには、Web ブラウザーを実行するコンピューターの IP アドレス、またはコンピューターの IP アドレスが属する IP サブネットを入力します。
  5. [保存] を選択します。

次のステップ