次の方法で共有


Azure Cognitive Service for Speech リソースのロールベースのアクセス制御

Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、Azure Cognitive Service for Speech リソースへのアクセスとアクセス許可を管理できます。 割り当てられるロールは、Azure Cognitive Service for Speech リソースによって異なる場合があります。

たとえば、カスタム音声モデルのトレーニングにのみ使用する必要がある AI Speech リソースにロールを割り当てることができます。 オーディオ ファイルの文字起こしに使用される AI Speech リソースに別のロールを割り当てることができます。

各 Azure Cognitive Service for Speech リソースにアクセスできるユーザーに応じて、アプリケーションまたはユーザーごとに異なるレベルのアクセスを効果的に設定できます。 Azure RBAC の詳細については、「Azure RBAC のドキュメント」を参照してください。

この記事では、AI Speech リソースのアクセス ロールを割り当てる方法について説明します。 Azure AI Foundry リソースのアクセス ロールを割り当てる方法については、 Azure AI Foundry のドキュメントを参照してください

Azure Cognitive Service for Speech リソースのロール

ロールの定義はアクセス許可のコレクションです。 AI Speech リソースは、複数のロールを継承または割り当てることができます。 このリソースへの最終レベルのアクセス権は、すべてのロールのアクセス許可の組み合わせです。 AI Speech リソースを作成すると、次の表の組み込みロールを割り当てることができます。

ロール リソース キーを一覧表示できます カスタム プロジェクトのデータ、モデル、エンドポイントへのアクセス 音声の文字起こしと合成 API へのアクセス
所有者 はい なし いいえ
投稿者 はい なし いいえ
Cognitive Services 共同作成者 はい なし いいえ
Cognitive Services ユーザー はい 表示、作成、編集、削除 はい
Cognitive Services Speech 共同作成者 いいえ 表示、作成、編集、削除 はい
Cognitive Services Speech ユーザー いいえ 表示のみ はい
Cognitive Services データ閲覧者 (プレビュー) いいえ 表示のみ はい

Azure Cognitive Service for Speech リソースがプロジェクトへの完全な読み取りおよび書き込みアクセス許可を持つ場合は、組み込みのロールを保持します。

より詳細なリソース アクセスの制御を行うには、Azure portal を使用してロールを追加または削除できます。 たとえば、Custom Speech データセットをアップロードするアクセス許可は持つが、エンドポイントに Custom Speech モデルを配置するアクセス許可は持たないカスタム ロールを作成できます。

Speech リソースに関する特別な考慮事項

重要

Azure Cognitive Service for Speech サービスのアーキテクチャは、Azure コントロール プレーンとデータ プレーンの使用方法が他の Azure AI サービスとは異なります。

Azure Cognitive Service for Speech サービスは他の Azure AI サービスと比較してデータ プレーンを広範囲に使用しているため、ロールに対して異なる設定が必要です。 このため、一部の一般的な "Cognitive Services" ロールには、Speech Services シナリオで使用した場合に名前と完全に一致しない実際のアクセス権セットがあります。

たとえば、"Cognitive Services ユーザー" は実質的に共同作成者権限を提供しますが、"Cognitive Services 共同作成者" はアクセスをまったく提供しません。 汎用の "所有者" ロールと "共同作成者" ロールにも同じことが当てはまります。共同作成者ロールは、データ プレーン権限がなく、その結果、Azure Cognitive Service for Speech リソースへのアクセスを提供しません。

一貫性を維持するために、名前に Speech を含むロールを使用することをお勧めします。 これらのロールは、"Cognitive Services Speech ユーザー" および "Cognitive Services Speech 共同作成者" です。 これらのロールのアクセス権セットは、Azure Cognitive Service for Speech サービス専用に設計されています。

キーとトークンを使用した認証

ロールは、ユーザーが持つアクセス許可を定義します。 Azure Cognitive Service for Speech リソースを使用するには認証が必要です。

Azure Cognitive Service for Speech リソース キーを使用して認証するために必要なのは、キーとリージョンだけです。 Microsoft Entra トークンを使用して認証するには、Azure Cognitive Service for Speech リソースにカスタム サブドメインが必要です。

カスタム サブドメインを使用して新しい Speech リソースを作成する方法を次に示します。 既存のリソースを使用することもできますが、カスタム サブドメインが必要です。 カスタム サブドメインの作成の詳細については、「カスタム ドメイン名の作成」を参照してください。

resourceGroupName=my-speech-rg
location=eastus
AIServicesResourceName=my-aiservices-$location

# create an AIServices resource for Speech and other AI services
az cognitiveservices account create --name $AIServicesResourceName --resource-group $resourceGroupName --kind AIServices --sku S0 --location $location --custom-domain $AIServicesResourceName

# get the resource id
speechResourceId=$(az cognitiveservices account show --name $AIServicesResourceName --resource-group $resourceGroupName --query id -o tsv)
# assign Cognitive Services User role to the app id
appId=$(az ad signed-in-user show --query id -o tsv)
az role assignment create --role "Cognitive Services User" --assignee $appId --scope $speechResourceId
# assign Cognitive Services Speech User role to the app id
az role assignment create --role "Cognitive Services Speech User" --assignee $appId --scope $speechResourceId

# get an access token
accessToken=$(az account get-access-token --scope "https://cognitiveservices.azure.com/.default" --query accessToken -o tsv)
echo $accessToken

返される accessToken は、API キーなしで認証するために使用できる Microsoft Entra トークンです。 トークンの有効期間は 限られています

これで、 accessToken を使用して AI Foundry リソースで認証できるようになりました。 たとえば、 高速文字起こし REST API を使用してトークンを使用できます。

uri="https://$AIServicesResourceName.cognitiveservices.azure.com/speechtotext/transcriptions:transcribe?api-version=2024-11-15"

curl -v "$uri" \
    --header 'Content-Type: multipart/form-data' \
    --form 'definition={"locales": ["en-US"]}' \
    --form 'audio=@Call1_separated_16k_health_insurance.wav' \
    --header "Authorization: Bearer $accessToken" 

Speech SDK 認証

SDK の場合は、API キーと Microsoft Entra トークンのどちらで認証するかを構成します。 詳細については、「Speech SDK を使用した Microsoft Entra 認証」を参照してください。 |

次のステップ