Ios 亚马逊数据插入

Ios 亚马逊数据插入,ios,iphone,amazon-web-services,amazon-s3,Ios,Iphone,Amazon Web Services,Amazon S3,我正在使用amazon ios sdk与amazon服务一起插入图像、视频和音频数据。 但我们不能这样做。我正在遵循所有步骤,但无法理解我们是如何为用户设置角色的。以下是上载时出现的错误: Error Domain=com.amazonaws.AWSSTSErrorDomain Code=0 "The operation couldn’t be completed. (com.amazonaws.AWSSTSErrorDomain error 0.)" UserInfo=0x175673b0

我正在使用amazon ios sdk与amazon服务一起插入图像、视频和音频数据。

但我们不能这样做。我正在遵循所有步骤,但无法理解我们是如何为用户设置角色的。以下是上载时出现的错误:

Error Domain=com.amazonaws.AWSSTSErrorDomain Code=0 "The operation couldn’t be completed. (com.amazonaws.AWSSTSErrorDomain error 0.)" UserInfo=0x175673b0 {Type=Sender, Message=Not authorized to perform sts:AssumeRoleWithWebIdentity, __text=(
    "\n    ",
    "\n    ",
    "\n    ",
    "\n  "
), Code=AccessDenied}

请提供您的指导。

我认为最简单的方法是使用sts:AssumeRoleWitheBidentity操作并在您的角色中添加“生效”:“允许”。
请看示例。

您的问题中没有足够的细节来帮助您,因此让我们先做一些假设

根据您提供的文档链接,我假设您正在尝试从iOS移动应用程序将文件上载到S3

如何在应用程序中获取凭据?我假设您使用的是Cognito标识()

如果我的两个假设是正确的,那么产生错误消息的一个常见原因是Cognito角色的信任策略中的错误

角色有两部分,第一部分是该角色授予的权限集。第二,信托政策,描述谁(或什么)有权担任这一角色

对于具有已验证用户的Cognito角色,信任策略应如下所示:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Federated": "cognito-identity.amazonaws.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "cognito-identity.amazonaws.com:aud": "us-east-1:12345678-abcd-abcd-abcd-123456790ab"
        },
        "ForAnyValue:StringLike": {
          "cognito-identity.amazonaws.com:amr": "unauthenticated"
        }
      }
    }
  ]
}
有关如何修改现有角色的说明,请检查