What about getting accessKey and secretKey from environment variables or if they're not given in the constructor?  It's becoming pretty standard to get credentials from env variables these days (for example, op Heroku or Travis).

I don't really like defaulting region blindly...I don't think there's any one region that is assigned by default, so it would just cause a confusing error if the region isn't given.