[PYTHON] MalformedPolicyDocumentException ist bei put_role_policy aufgetreten

Als ich die Richtlinie von Role in Python festlegte und verwendete, trat der folgende Fehler auf und ich war eine Stunde lang davon abhängig.

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

Das verwendete Programm ist wie folgt.

# 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
)

Ursache

Anscheinend war die Ursache, dass die erste Zeile des hier gezeigten Dokuments einen Zeilenumbruch hatte. Nachdem Sie die Richtlinieneinstellungszeile wie unten gezeigt geändert haben, kann sie normal eingestellt werden.

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

Recommended Posts

MalformedPolicyDocumentException ist bei put_role_policy aufgetreten
Probleme bei der Einführung von rpy2