Assuming you're using Azure Web Sites: Unlike Cloud Services (web & worker roles), you cannot deploy to a staging environment - anyone will be able to find your website (or at least can attempt to find it). Having said that: You can now set up Dynamic IP Address Restrictions (DIPR), to block / allow access. This is set up in the <system.webServer>
element. For example:
<system.webServer>
<security>
<ipSecurity allowUnlisted="false" denyAction="NotFound">
<add allowed="true" ipAddress="10.1.2.0" subnetMask="255.255.255.0"/>
</ipSecurity>
</security>
</system.webServer>
Note the allowUnlisted
attribute. Setting it to false will block all IP addresses aside from the ones you specify.
See this blog post by Scott Guthrie for more details.
EDIT June 11, 2014 - Staging slots were added to Web Sites in January 2014. This requires a Standard plan. You'll find the option in the dashboard:

You can then create a separate slot. Here's an example with a guid, for a bit of security-by-obscurity, which is similar to what you have with Cloud Services (web/worker roles):

Now you'll see your primary deployment slot, along with any additional you created. You can then do deployment swaps as well.

You'll now see the Swap button at the bottom, when viewing the Dashboard tab:

You then choose which deployment slot to switch with:
