Сервис AWS Transcribe выводит файл с отказом в доступе, даже с установленными разрешениями

Я тестирую службу расшифровки AWS для проекта после запуска задания запуска расшифровки.

      var TrsSession *transcribeservice.TranscribeService

func TranscribeTest() (trsOutput *transcribeservice.StartTranscriptionJobOutput, err error) {
    trsOutput, err = TrsSession.StartTranscriptionJob(&transcribeservice.StartTranscriptionJobInput{
        TranscriptionJobName: aws.String("gettysburg_test"),
        IdentifyLanguage:     aws.Bool(true),
        MediaFormat:          aws.String("wav"),
        OutputBucketName:     aws.String(os.Getenv("AWS_BUCKET_NAME")),
        Media: &transcribeservice.Media{
            MediaFileUri: aws.String("s3://" + os.Getenv("AWS_BUCKET_NAME") + "/gettysburg.wav"),
        },
    })

    if err != nil {
        fmt.Println(err)
        return trsOutput, err
    }

    return trsOutput, nil
}

файл выводится правильно с указанным именем .json, но в содержимом отображается ошибка

      <Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied</Message>
  <RequestId>JDP5*****5QQJ</RequestId>
  <HostId>wnd5k6x********************TDwqIpe53S1w=</HostId>
</Error>

Я новичок в aws, я не уверен, в чем проблема

Я новичок в aws, я не уверен, в чем проблема. Я пробовал другое разрешение IAM, но результат все тот же.

1 ответ

Скорее всего, вам нужны политики корзин для ваших корзин S3, чтобы разрешить AWS Transcribe доступ как к корзинам ввода, так и к корзинам вывода, например:

      {
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Allow",
        "Principal": {
          "Service": [
            "transcribe.amazonaws.com"
          ]
        },
        "Action": [
            "s3:GetObject",
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::DOC-EXAMPLE-INPUT-BUCKET",
            "arn:aws:s3:::DOC-EXAMPLE-INPUT-BUCKET/*"
        ]
    }
}

и

      {
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Allow",
        "Principal": {
          "Service": [
            "transcribe.amazonaws.com"
          ]
        },
        "Action": [
            "s3:PutObject"
        ],
        "Resource": [
            "arn:aws:s3:::DOC-EXAMPLE-OUTPUT-BUCKET/*"
        ]
    }
}

как описано здесь

Другие вопросы по тегам