AWS attach-policy-role возвращает 400 из-за недопустимого arn - PullRequest
0 голосов
/ 31 августа 2018

Я пытался перенести свой код на AWS с CodeDeploy. Для этого мне нужно было создать роль, в которой я сейчас застрял. Я настроил политику так:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "codedeploy.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

и сохранил файл как service-role.json. Затем я использовал команду:

aws iam create-role --role-name MyServiceRole --assume-role-policy-document file://service-role.json

который я должен запустить ... в конце концов. Это вернуло немного JSON:

{                                                                               
    "Role": {                                                                   
        "Path": "/",                                                            
        "RoleName": "MyServiceRole",                                
        "RoleId": "SOMESTRINGOFRANDOMALPHANUMERICS",                                      
        "Arn": "arn:aws:iam::1123445569:role/MyServiceRole",      
        "CreateDate": "2018-08-31T03:18:24Z",                                   
        "AssumeRolePolicyDocument": {                                           
            "Version": "2012-10-17",                                            
            "Statement": [                                                      
                {                                                               
                    "Sid": "",                                                  
                    "Effect": "Allow",                                          
                    "Principal": {                                              
                        "Service": [                                            
                            "codedeploy.amazonaws.com"                          
                        ]                                                       
                    },                                                          
                    "Action": "sts:AssumeRole"                                  
                }                                                               
            ]
        }
    }
}

Это все выглядело правильно, поэтому я попытался запустить:

aws iam attach-role-policy --role-name MyServiceRole --policy-arn arn:aws:iam::1123445569:role/MyServiceRole

и ... я получил ответ

An error occurred (InvalidInput) when calling the AttachRolePolicy operation: ARN arn:aws:iam::1123445569:role/MyServiceRole is not valid.

Я прочесал Интернет в поисках решения этой проблемы, поскольку, похоже, я сделал именно то, что этот дал мне, но я все еще не получил результатов. Кто-нибудь знает, что я делаю не так?

1 Ответ

0 голосов
/ 31 августа 2018

Вместо того, чтобы прикреплять политику предполагаемой роли, которую вы создали (и которая уже была присоединена к MyServiceRole во время создания), присоедините одну из ролей привилегий AWS, которые описаны в упомянутом учебном пособии (шаг 3), так:

aws iam attach-role-policy --role-name MyServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole

или

aws iam attach-role-policy --role-name MyServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSCodeDeployRoleForLambda
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...