[PYTHON] MalformedPolicyDocumentException s'est produite lorsque put_role_policy

Lorsque j'ai défini et utilisé la politique de Role en python, l'erreur suivante s'est produite et j'y ai été accro pendant une heure.

botocore.errorfactory.MalformedPolicyDocumentException: An error occurred (MalformedPolicyDocument) when calling the PutRolePolicy operation: The policy failed legacy parsing

Le programme utilisé est le suivant.

# coding:utf-8
# !/usr/bin/python

import boto3
iamClient = boto3.client('iam')
policy = '''
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mobileanalytics:PutEvents",
                "cognito-sync:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
'''
iamClient.put_role_policy(
    RoleName='MyRole',
    PolicyName='Policy_Of_MyRole',
    PolicyDocument=policy
)

Cause

Apparemment, la cause était que la première ligne du document ici avait un saut de ligne. Après avoir modifié la ligne de paramètre de stratégie comme indiqué ci-dessous, elle peut être définie normalement.

policy = '''{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mobileanalytics:PutEvents",
                "cognito-sync:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
'''

Recommended Posts

MalformedPolicyDocumentException s'est produite lorsque put_role_policy
Problèmes survenus lors de l'introduction de rpy2