To answer my own question:
The example policy granted PutObject access, but I also had to grant PutObjectAcl access.
I had to change
"s3:PutObject", "s3:GetObject", "s3:DeleteObject"
from the example to:
"s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:GetObjectAcl", "s3:DeleteObject"
You also need to make sure your bucket is configured for clients to set a public-accessible ACL by unticking these two boxes:
Related Posts:
- How long before an s3 bucket can be created with same name after deletion?
- are there dictionaries in javascript like python?
- TypeError: only integer scalar arrays can be converted to a scalar index with 1D numpy indices array
- How to find Google’s IP address?
- What is a CSRF token? What is its importance and how does it work?
- ssh connect Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
- UML Sequence diagram auto-numbering in Visual Paradigm
- How to get Twitch watchtime (like streamelements)
- What is the difference between functional and non-functional requirements?
- Mealy v/s. Moore
- Error 6 (net::ERR_FILE_NOT_FOUND): The files c or directory could not be found
- C compiler for Windows?
- what is gitpod: what does it actually do?
- What is JNDI? What is its basic use? When is it used?
- ngrok: tcp forwarding to 25565 (minecraft server)
- Inkscape– convert text to object, dynamic offset. Shift+Ctrl+C failed?
- How does CheatEngine’s speed hack work?
- How do I use the yfinance API in Python to get today’s DJI open?
- Floating div positioning
- Eclipse CDT project built but “Launch Failed. Binary Not Found”
- Context Deadline Exceeded – prometheus
- When do I use the PHP constant “PHP_EOL”?
- Using $this when not in object context in PHP
- Difference between SIP and SIPS URI?
- ‘str’ object has no attribute ‘decode’. Python 3 error?
- Scroll to the top of the page using JavaScript?
- Generate pdf from HTML in div using Javascript
- new types may not be defined in a return type – C++
- What is the point of LRPC? Why would anyone want to make Remote Procedure Calls to the same machine?
- PHP password_hash(), password_verify()
- Uncaught TypeError: Cannot read property ‘style’ of null – JS error
- WinSCP: Permission denied. Error code: 3 Error message from server: Permission denied
- Can you use if/else conditions in CSS?
- How to record Android device’s screen on Android version below 4.4 (KitKat)
- Jenkins: 403 No valid crumb was included in the request
- class << self idiom in Ruby
- Standardize data columns in R
- jQuery preventDefault() not triggered
- IE11 prevents ActiveX from running
- How to execute AngularJS controller function on page load?
- ReactJS giving error Uncaught TypeError: Super expression must either be null or a function, not undefined
- What is O(1) space complexity?
- Windows Scheduled task succeeds but returns result 0x1
- Has the nativescript sidekick discontinue?
- How can I get a web site’s favicon?
- Why does the number of rows change during AIC in R? How to ensure that this doesn’t happen?
- decision tree in R error:fit is not a tree,just a root
- Different meanings of brackets in Python
- repaint() Method in Java
- Downgrade npm to an older version
- Mongoose.js: remove collection or DB
- slideToggle JQuery right to left
- Valgrind Invalid free() / delete / delete[] / realloc() in C
- Exception in thread “main” java.lang.reflect.InvocationTargetException
- “webxml attribute is required” error in Maven
- How can I change the color of my prompt in zsh (different from normal text)?
- mkdir c++ function
- C’s printf and fprintf(stdout,) are not printing
- What’s the difference between SoftReference and WeakReference in Java?
- Identity matrix in Julia
- Letsencrypt renewal fails: Could not bind to IPv4 or IPv6.. Skipping
- Devise lockable – How to unlock account using unlock_in
- How to bind multiple values to a single WPF TextBlock?
- reversing list in Lisp
- How to disable Windows Update Medic Service?
- Systrace for Windows
- Good way to encapsulate Integer.parseInt()
- TCP/IP packets and datagrams
- ArrayList of int array in java
- What are the differences between Mustache.js and Handlebars.js?
- Vim Opening File E325 Attention Error
- Terminating app due to uncaught exception ‘NSUnknownKeyException’
- 2CHECKOUT ERROR CODE:PE102
- Android Debugging Failing With “Couldn’t connect to logcat, GetProcessId returned: 0” FFImageLoading.Platform.dll.so Not Found
- PHP – Indirect modification of overloaded property
- Rewrite the base-url for single posts
- How to parse wordpress options json
- use wp_get_theme() to get theme author name
- Displaying a message when plug-in is deactivated
- A post has a js redirection script. How to not redirect its category?
- get_previous_post in same categories
- Cannot understand WordPress error message
- Add column(s) to post edit page
- How can i hide and display elements automatically?
- How to change the paginated posts link class?
- How use custom image size + ACF + background image
- Pass AJAX variable to PHP functions WordPress plugin
- Add query args if website open in mobile
- A little stumped – first WordPress theme
- Display shortcode based on user meta
- Woocommerce Image Categorie Page
- Hide image on homepage [closed]
- How to start/stop/restart launchd services from the command line?
- Why is DNS failover not recommended?
- How bad is IPv4 address exhaustion really?
- Is it possible to generate RSA key without pass phrase?
- Find the location of a systemd unit file service
- What does Apache’s “Require all granted” really do?
- Engineers are using explosives to remove hard rock outside our office building. What countermeasures should we take?
- How do you increase a KVM guest’s disk space?