I just figured this out minutes ago.
The necessary permissions are not visible in the UI, so they can only be added by editing the XML.
Add the following to the security role's XML:
<RolePrivilege name="prvAppendSharePointData" level="Global" />
<RolePrivilege name="prvAppendSharePointDocument" level="Global" />
<RolePrivilege name="prvAppendToSharePointData" level="Global" />
<RolePrivilege name="prvAppendToSharePointDocument" level="Global" />
<RolePrivilege name="prvAssignSharePointDocument" level="Global" />
<RolePrivilege name="prvCreateSharePointData" level="Global" />
<RolePrivilege name="prvCreateSharePointDocument" level="Global" />
<RolePrivilege name="prvReadSharePointData" level="Global" />
<RolePrivilege name="prvReadSharePointDocument" level="Global" />
<RolePrivilege name="prvWriteSharePointData" level="Global" />
<RolePrivilege name="prvWriteSharePointDocument" level="Global" />
I'm not sure if those permissions can be reduced, but this level made everything work again.
Please mark this as the answer if it works!
-James