다음을 통해 공유


일괄 처리 대화 내용 기록을 위한 오디오 파일 찾기

일괄 대화 내용 기록은 저장소에 있는 많은 양의 오디오 대화 내용을 기록하는 데 사용됩니다. 일괄 처리 기록은 Azure 내부 또는 외부에서 오디오 파일에 액세스할 수 있습니다.

원본 오디오 파일이 Azure 외부에 저장되면 공용 URI(예: "https://crbn.us/hello.wav")를 통해 액세스할 수 있습니다. 파일에 직접 액세스할 수 있어야 합니다. 인증이 필요하거나 파일에 액세스하기 전에 대화형 스크립트를 호출하는 URI는 지원되지 않습니다.

Azure Blob Storage에 저장된 오디오 파일은 다음 두 가지 방법 중 하나를 통해 액세스할 수 있습니다.

기록을 만들 때 하나 이상의 오디오 파일을 지정할 수 있습니다. 요청당 여러 파일을 제공하거나 기록할 오디오 파일이 있는 Azure Blob Storage 컨테이너를 가리키는 것이 좋습니다. 일괄 처리 대화 내용 기록 서비스는 제출된 많은 대화 내용 기록을 처리할 수 있습니다. 이 서비스는 파일을 동시에 필사하여 처리 시간을 줄입니다.

지원되는 오디오 형식 및 코덱

일괄 처리 대화 내용 기록 API는 다음과 같이 다양한 형식과 코덱을 지원합니다.

  • WAV
  • MP3
  • OPUS/OGG
  • FLAC
  • WMA
  • AAC
  • WAV 컨테이너의 ALAW
  • WAV 컨테이너의 MULAW
  • AMR
  • .webm
  • M4A
  • SPEEX

참고 항목

일괄 처리 대화 내용 기록 서비스는 GStreamer를 통합하며 오류를 반환하지 않고 다양한 형식과 코덱을 허용할 수 있지만, WAV(PCM 인코딩) 및 FLAC 같은 무손실 형식을 사용하여 최상의 대화 내용 기록 품질을 보장하는 것이 좋습니다.

Azure Blob Storage 업로드

오디오 파일이 Azure Blob Storage 계정에 있는 경우 개별 오디오 파일 또는 전체 Azure Blob Storage 컨테이너의 텍스트 변환을 요청할 수 있습니다. Blob 컨테이너에 기록 결과를 기록할 수도 있습니다.

참고 항목

Blob 및 컨테이너 제한은 일괄 처리 기록 할당량 및 제한을 참조하세요.

다음 단계에 따라 스토리지 계정을 만들고 로컬 디렉터리에서 새 컨테이너로 wav 파일을 업로드합니다.

  1. Azure Portal로 이동하여 Azure 계정에 로그인합니다.
  2. Azure Portal에서 스토리지 계정 리소스를 만듭니다. Speech 리소스와 동일한 구독 및 리소스 그룹을 사용합니다.
  3. 스토리지 계정을 선택합니다.
  4. 왼쪽 창의 데이터 스토리지 그룹에서 컨테이너를 선택합니다.
  5. +컨테이너를 선택합니다.
  6. 새 컨테이너의 이름을 입력하고 만들기를 선택합니다.
  7. 새 컨테이너를 선택합니다.
  8. 업로드를 선택합니다.
  9. 업로드할 파일을 선택하고 업로드를 선택합니다.

신뢰할 수 있는 Azure 서비스 보안 메커니즘

이 섹션에서는 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하여 Azure Storage 계정에서 일괄 처리 기록 원본 오디오 파일에 대한 액세스를 설정하고 제한하는 방법을 설명합니다.

참고 항목

신뢰할 수 있는 Azure 서비스 보안 메커니즘을 사용하면 Azure Blob Storage를 사용하여 오디오 파일을 저장해야 합니다. Azure 파일의 사용량은 지원되지 않습니다.

이 섹션의 모든 작업을 수행하면 스토리지 계정이 다음과 같이 구성됩니다.

  • 모든 외부 네트워크 트래픽에 대한 액세스는 금지됩니다.
  • 스토리지 계정 키를 사용하여 스토리지 계정에 액세스할 수 없습니다.
  • SAS(공유 액세스 서명)를 사용하여 스토리지 계정 Blob Storage에 대한 액세스는 금지됩니다.
  • 선택한 Speech 리소스에 대한 액세스는 시스템 할당 관리 ID 리소스를 사용하여 허용됩니다.

따라서 실제로 스토리지 계정은 완전히 "잠김" 상태가 되며 새 구성이 적용될 때 이미 존재했던 오디오 파일을 기록하는 것 외에는 어떤 시나리오에서도 사용할 수 없습니다. 오디오 데이터의 보안에 관한 한 이 구성을 모델로 간주하고 필요에 따라 사용자 지정해야 합니다.

예를 들어 선택한 공용 IP 주소와 Azure 가상 네트워크의 트래픽을 허용할 수 있습니다. 또한 프라이빗 엔드포인트를 사용하여 스토리지 계정에 대한 액세스를 설정(이 자습서도 참조)하고, 스토리지 계정 키를 사용하여 액세스를 다시 사용하며, 신뢰할 수 있는 다른 Azure 서비스 등에 액세스하도록 허용할 수 있습니다.

참고 항목

스토리지 계정을 보호하기 위해 Speech용 프라이빗 엔드포인트를 사용할 필요가 없습니다. 프라이빗 엔드포인트를 일괄 처리 기록 API 요청에 사용하는 동시에 안전한 스토리지 계정에서 원본 오디오 파일에 별도로 액세스하거나 다른 방법으로 액세스할 수 있습니다.

아래 단계에 따라 스토리지 계정에 대한 액세스를 엄격하게 제한합니다. 그런 다음, Speech 리소스 관리 ID에 필요한 최소 권한을 할당하여 스토리지 계정에 액세스합니다.

Speech 리소스에 대해 시스템이 할당한 관리 ID 사용

일괄 처리 대화 내용 기록에서 사용하는 Speech 리소스에 대해 시스템이 할당한 관리 ID를 사용하려면 다음 단계를 따릅니다.

  1. Azure Portal로 이동하여 Azure 계정에 로그인합니다.

  2. Speech 리소스를 선택합니다.

  3. 왼쪽 창의 리소스 관리 그룹에서 ID를 선택합니다.

  4. 시스템 할당 탭에서 상태에 켜기를 선택합니다.

    Important

    사용자가 할당한 관리 ID는 일괄 처리 기록 스토리지 계정 시나리오에 대한 요구 사항을 충족하지 않습니다. 시스템이 할당한 관리 ID를 사용하도록 설정해야 합니다.

  5. 저장을 선택합니다.

이제 Speech 리소스의 관리 ID에 스토리지 계정에 대한 액세스 권한을 부여할 수 있습니다.

스토리지 계정에 대한 액세스 제한

스토리지 계정에 대한 액세스를 제한하려면 다음 단계를 수행합니다.

Important

스토리지 계정 액세스를 잠그기 전에 Blob 컨테이너에 오디오 파일을 업로드합니다.

  1. Azure Portal로 이동하여 Azure 계정에 로그인합니다.
  2. 스토리지 계정을 선택합니다.
  3. 왼쪽 창의 설정 그룹에서 구성을 선택합니다.
  4. Blob 공용 액세스에 대해 사용 안 함을 선택합니다.
  5. 스토리지 계정 키 액세스 허용에 대해 사용 안 함을 선택합니다.
  6. 저장을 선택합니다.

자세한 내용은 컨테이너 및 Blob에 대한 익명 공용 읽기 액세스 방지Azure Storage 계정에 대한 공유 키 권한 부여 방지를 참조하세요.

Azure Storage 방화벽 구성

스토리지 계정에 대한 액세스가 제한되어 있으면 특정 관리 ID에 대한 액세스 권한을 부여해야 합니다. 다음 단계에 따라 Speech 리소스에 대한 액세스를 추가합니다.

  1. Azure Portal로 이동하여 Azure 계정에 로그인합니다.

  2. 스토리지 계정을 선택합니다.

  3. 왼쪽 창의 보안 + 네트워킹 그룹에서 네트워킹을 선택합니다.

  4. 방화벽 및 가상 네트워크 탭에서 선택한 가상 네트워크 및 IP 주소에서 사용을 선택합니다.

  5. 모든 확인란을 선택 취소합니다.

  6. Microsoft 네트워크 라우팅이 선택되어 있는지 확인합니다.

  7. 리소스 인스턴스 섹션에서 Microsoft.CognitiveServices/accounts를 리소스 종류로 선택하고 Speech 리소스를 인스턴스 이름으로 선택합니다.

  8. 저장을 선택합니다.

    참고 항목

    네트워크 변경 내용이 전파되는 데 최대 5분이 걸릴 수 있습니다.

이제 네트워크 액세스가 허용되지만 Speech 리소스는 아직 스토리지 계정의 데이터에 액세스할 수 없습니다. Speech 리소스 관리 ID에 대한 특정 액세스 역할을 할당해야 합니다.

리소스 액세스 역할 할당

다음 단계에 따라 Storage Blob 데이터 읽기 권한자 역할을 Speech 리소스의 관리 ID에 할당합니다.

Important

다음 단계에서 작업을 수행하려면 스토리지 계정의 소유자 역할 또는 더 높은 범위(예: 구독)를 할당받아야 합니다. 소유자 역할만 다른 사용자에게 역할을 할당할 수 있기 때문입니다. 자세한 내용은 여기를 참조하세요.

  1. Azure Portal로 이동하여 Azure 계정에 로그인합니다.

  2. 스토리지 계정을 선택합니다.

  3. 왼쪽 창에서 액세스 제어(IAM) 메뉴를 선택합니다.

  4. 이 리소스에 대한 액세스 권한 부여 타일에서 역할 할당 추가를 선택합니다.

  5. 역할에서 Storage Blob 데이터 읽기 권한자를 선택한 후 다음을 선택합니다.

  6. 구성원>액세스 할당에서 관리 ID를 선택합니다.

  7. Speech 리소스의 관리 ID를 할당한 다음, 검토 + 할당을 선택합니다.

    Screenshot of the managed role assignment review.

  8. 설정을 확인한 후 검토 + 할당을 선택합니다.

이제 Speech 리소스 관리 ID는 스토리지 계정에 대한 액세스 권한이 있으며 일괄 처리 기록을 위해 오디오 파일에 액세스할 수 있습니다.

시스템이 할당한 관리 ID를 사용하는 경우 일괄 처리 대화 내용 기록 요청을 만들 때 일반 스토리지 계정 URL(SAS 또는 기타 추가 항목 없음)을 사용합니다. 예시:

{
    "contentContainerUrl": "https://<storage_account_name>.blob.core.windows.net/<container_name>"
}

그렇지 않으면 컨테이너에 개별 파일을 지정할 수 있습니다. 예시:

{
    "contentUrls": [
        "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_1>",
        "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_2>"
    ]
}

일괄 처리 기록의 SAS URL

SAS(공유 액세스 서명)는 Azure Storage 컨테이너에 대한 제한된 액세스 권한을 부여하는 URI입니다. 스토리지 계정 키를 공유하지 않고 특정 시간 범위의 일괄 처리 기록 파일에 대한 액세스 권한을 부여하려는 경우에 사용합니다.

일괄 처리 기록 원본 파일이 있는 컨테이너는 Speech 리소스에서만 액세스해야 하는 경우 신뢰할 수 있는 Azure 서비스 보안 메커니즘을 대신 사용합니다.

일괄 처리 기록에 사용할 수 있는 SAS URL을 생성하려면 다음 단계를 수행합니다.

  1. Azure Blob Storage 업로드의 단계를 완료하여 스토리지 계정을 만들고 오디오 파일을 새 컨테이너에 업로드합니다.

  2. 새 컨테이너를 선택합니다.

  3. 왼쪽 창의 설정 그룹에서 공유 액세스 토큰을 선택합니다.

  4. +컨테이너를 선택합니다.

  5. 권한에 대해 읽기목록을 선택합니다.

    Screenshot of the container SAS URI permissions.

  6. SAS URI의 시작 및 만료 시간을 입력하거나 기본값을 그대로 유지합니다.

  7. SAS 토큰 및 URL 생성을 선택합니다.

일괄 처리 대화 내용 기록 요청을 만들 때 SAS URL을 사용합니다. 예시:

{
    "contentContainerUrl": "https://<storage_account_name>.blob.core.windows.net/<container_name>?SAS_TOKEN"
}

그렇지 않으면 컨테이너에 개별 파일을 지정할 수 있습니다. 각 파일에 대한 읽기(r) 권한이 있는 다른 SAS URL을 생성하고 사용해야 합니다. 예시:

{
    "contentUrls": [
        "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_1>?SAS_TOKEN_1",
        "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_2>?SAS_TOKEN_2"
    ]
}

다음 단계