It's not a private beach. Most of St. John is a national park, and I believe Trunk Bay is part of it. In any case, it is open to the public.
It's pretty easy to get there on your own. You can grab a cab at the pier to Red Hook and then take the ferry from there to Cruz Bay on St. John. You can grab another cab on the ferry dock to take you to Trunk Bay. You can usually arrange a time for the driver to come back and get you. The ferries leave St. John every hour on the hour. The crossing takes about 30 minutes.
To get the most out of the day, try to be amongst the first off the ship in the morning so you can make it to Red Hook in time for the 9:00am ferry. I would shoot for the 2:00pm return trip, since the afternoon traffic tends to get a bit heavy and taking the 3:00 ferry might make it a little dicey getting back the ship on time. You should be able to make it coming off the 3 o'clock ferry, but I like to have a bit of a buffer, just in case.
There's also a ferry from Charlotte Amalie to Red Hook which is a longer boat trip and doesn't run as frequently. I've never taken this myself, but have heard of people taking the Red Hook ferry in the morning and then taking the 1:15 ferry to Charlotte Amalie, leaving them a couple of hours to shop downtown.
Here's a page with some more information on the ferries:
http://www.varlack-ventures.com/vvfiles/4_ferry-schedules.htm
Also, on days that there are many ships in port, Trunk Bay tends to get very crowded. On these days, a nice alternative is Cinnamon Bay, which is just about a mile further down the road from Trunk. I actually like Cinnamon better, but either one is a great beach day.
Hope this helps.