Пулы удостоверений Cognito дают исключение AccessDeniedException - PullRequest
0 голосов
/ 28 апреля 2020

Перво-наперво, мне нужен «гостевой» пользователь в моем приложении. Так что я сделал создание пула идентичности. Я поместил сгенерированный код в мой делегат приложения:

let credentialsProvider = AWSCognitoCredentialsProvider(regionType:.USEast1,
   identityPoolId:"us-east-1:my-code")

let configuration = AWSServiceConfiguration(region:.USEast1, credentialsProvider:credentialsProvider)

AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration 

И в более поздний момент я вызываю следующий код:

// Kinesis Video Client Configuration
let configuration = AWSServiceConfiguration(region: self.awsRegionType, credentialsProvider: AWSMobileClient.default())
AWSKinesisVideo.register(with: configuration!, forKey: awsKinesisVideoKey)
retrieveChannelARN(channelName: self.channelName.text!)

Со следующей функцией:

func retrieveChannelARN(channelName: String) {
        print(channelName)
        if !channelName.isEmpty {
            let describeInput = AWSKinesisVideoDescribeSignalingChannelInput()
            describeInput?.channelName = channelName
            let kvsClient = AWSKinesisVideo(forKey: awsKinesisVideoKey)
            kvsClient.describeSignalingChannel(describeInput!).continueWith(block: { (task) -> Void in
                if let error = task.error {
                    print("Error describing channel: \(error)")
                } else {
                    self.channelARN = task.result?.channelInfo?.channelARN
                    print("Channel ARN : ", task.result!.channelInfo!.channelARN ?? "Channel ARN empty.")
                }
            }).waitUntilFinished()
        } else {
            let alertController = UIAlertController(title: "Channel Name is Empty",
                                                    message: "Valid Channel Name is required.",
                                                    preferredStyle: .alert)
            let okAction = UIAlertAction(title: "Ok", style: .default, handler: nil)
            alertController.addAction(okAction)
            present(alertController, animated: true, completion: nil)
            return
        }
    }

Но я получаю следующую ошибку при вызове kvsClient.describesignalingChannel:

Error describing channel: Error Domain=com.amazonaws.AWSKinesisVideoErrorDomain Code=1 "null" UserInfo={NSLocalizedDescription=null, NSLocalizedFailureReason=AccessDeniedException:http://internal.amazon.com/coral/com.amazon.coral.service/}

Я действительно добавил политику AmazonKinesisFullAccess в сгенерированную роль из пула удостоверений. Кто-нибудь знает, откуда эта проблема?

...