Доступ к роли «роль познания» запрещен - PullRequest
0 голосов
/ 23 октября 2018

Я получаю эту странную ошибку. Доступ к роли «роль познания» запрещен.

при создании стека формирования облаков здесь находится мой файл формирования облака в формате yaml.

I 'Я, в основном, создаю корзину s3 и идентификацию cognito для облегчения доступа клиента к моей корзине, все работает нормально, кроме этой ошибки Доступ к роли 'phototest-cognitoRole-1AMKUVXUXAJ5H' запрещен.(Сервис: AmazonCognitoIdentity; Код состояния: 400; Код ошибки: NotAuthorizedException

AWSTemplateFormatVersion: 2010-09-09

Ресурсы:

photoBucket:
    Type: AWS::S3::Bucket 
    Properties:
        BucketName: it-academy-photos-bucket 
        CorsConfiguration: 
            CorsRules:
                - AllowedHeaders: ['*']
                  AllowedMethods: [GET,POST,PUT]
                  AllowedOrigins: ['*']
                  Id: myrules   


cognitoRole:
    Type: AWS::IAM::Role
    Properties:
         AssumeRolePolicyDocument: 
            Version: "2012-10-17"
            Statement:
                - 
                    Effect: Allow
                    Principal:
                     Federated:
                       - "cognito-identity.amazonaws.com"

                    Action:
                       - sts:AssumeRoleWithWebIdentity 


         Policies:
            -
                PolicyName: "photo_client_policy"
                PolicyDocument:
                    Version: '2012-10-17'
                    Statement:

                        - 
                         Sid: VisualEditor1
                         Effect: Allow
                         Action:
                           - s3:PutObject
                           - s3:GetObjectAcl
                           - s3:GetObject
                           - s3:GetObjectTorrent
                           - s3:GetObjectVersionAcl
                           - s3:PutObjectVersionTagging
                           - s3:GetObjectTagging
                           - s3:PutObjectTagging
                           - s3:PutBucketCORS
                           - s3:PutObjectAcl
                           - s3:GetObjectVersion
                         Resource: "*"


cognitoIdentityPool:
    Type: AWS::Cognito::IdentityPool
    Properties:
        IdentityPoolName: "photo_bucket"
        AllowUnauthenticatedIdentities: true

cognitoIdentityPoolRoleAttachment:
    Type: AWS::Cognito::IdentityPoolRoleAttachment
    Properties:
        IdentityPoolId: !Ref cognitoIdentityPool
        Roles:
            unauthenticated: !Ref cognitoRole                               

1 Ответ

0 голосов
/ 11 января 2019

У меня возникла та же проблема, и я понял, что для неаутентифицированной роли нужен Арн, а не логический идентификатор.Это должно решить проблему:

cognitoIdentityPoolRoleAttachment:
    Type: AWS::Cognito::IdentityPoolRoleAttachment
    Properties:
        IdentityPoolId: !Ref cognitoIdentityPool
        Roles:
            unauthenticated: !GetAtt cognitoRole.Arn
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...