Using svn+ssh to connect to a subversion repository simply uses the standard unix file permissions on the files in the repository as the user has, effectively, connected to the remote server via ssh and is simply running the svn command locally on said server.
If user x has read/write permission to those file, then user x can commit changes to that repository. If user y does NOT have permission to read/write to those files, then user y cannot commit changes or, if they do not have read access either, even view (check out) the contents of the repository.
In the simplest mode, use chown and chmod to set the ownership and permissions on a repository for each user:
$chown user:group /wherever/svn/private
$chmod 770 /wherever/svn/private
and so on.
For more complicated permissions, one must use the svn through an http server and use the access controls for the http server to access specific paths within a repository.
NOTE: If a user has read/write access to a specific repository, they can damage it. So, as long as you're using svn+ssh, you are granting considerable access to those users. Now, even in more restricted situations, as long as a user can commit changes to a repo, they can do damage.... though usually that damage can be rolled back.
Give me a minute and I'll link to the relevant chapter in the SVN documentation.
Here's the section on svn+ssh configuration
Here's the section on HTTP configuration
The take-away from the book is that svn+ssh is simple and secure but limited, and http is much more capable, but more complex. I pretty much just use the HTTP method to provide pretty read only access to those I want to, and everyone else gets access through svn+ssh and I severely limit who those people are and backup alot. I've never even tried the svnserve method so far as I can recall.