{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "IAMRoleManagement",
            "Effect": "Allow",
            "Action": [
                "iam:CreateRole",
                "iam:GetRole",
                "iam:AttachRolePolicy",
                "iam:DetachRolePolicy",
                "iam:PutRolePolicy",
                "iam:GetRolePolicy",
                "iam:DeleteRolePolicy",
                "iam:ListAttachedRolePolicies",
                "iam:ListRolePolicies",
                "iam:PassRole",
                "iam:TagRole",
                "iam:UntagRole",
                "iam:ListRoleTags"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "iam:RoleName": "mlknife-*"
                }
            }
        },
        {
            "Sid": "IAMGroupManagement",
            "Effect": "Allow",
            "Action": [
                "iam:CreateGroup",
                "iam:GetGroup",
                "iam:AttachGroupPolicy",
                "iam:DetachGroupPolicy",
                "iam:AddUserToGroup",
                "iam:RemoveUserFromGroup",
                "iam:ListGroupsForUser"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "iam:GroupName": "mlknife-*"
                }
            }
        },
        {
            "Sid": "IAMPolicyManagement",
            "Effect": "Allow",
            "Action": [
                "iam:CreatePolicy",
                "iam:GetPolicy",
                "iam:GetPolicyVersion",
                "iam:CreatePolicyVersion",
                "iam:DeletePolicy",
                "iam:DeletePolicyVersion",
                "iam:SetDefaultPolicyVersion"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "iam:PolicyName": "MLKnife*"
                }
            }
        },
        {
            "Sid": "IAMReadOnlyOperations",
            "Effect": "Allow",
            "Action": [
                "iam:GetUser",
                "iam:GetAccountSummary",
                "iam:ListUsers",
                "iam:ListGroups",
                "iam:ListPolicies",
                "iam:ListRoles"
            ],
            "Resource": "*"
        },
        {
            "Sid": "STSOperations",
            "Effect": "Allow",
            "Action": [
                "sts:GetCallerIdentity"
            ],
            "Resource": "*"
        }
    ]
}