zrok/docs/concepts/sharing-private.md

29 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

2023-02-02 03:38:42 +01:00
---
sidebar_position: 0
---
2023-06-26 18:06:33 +02:00
# Private Shares
2023-02-02 03:38:42 +01:00
2023-06-26 17:45:00 +02:00
`zrok` was built to share and access digital resources. A `private` share allows a resource to be
accessed on another user's system as if it were local to them. Privately shared resources can only be accessed by another `zrok` user who has the details of your unique share. You are in control of who can access your `private` shares by sharing the the share token.
2023-06-23 22:09:06 +02:00
2023-06-23 22:13:43 +02:00
Peer-to-peer private resource sharing is one of the things that makes `zrok` unique.
2023-06-23 22:09:06 +02:00
2023-06-26 17:45:00 +02:00
`zrok` also provides `public` sharing of resources with non-`zrok` users. Public resource sharing is limited to only resources that can be accessed over `HTTP` or `HTTPS`. `private` sharing works with all of the resources types that `zrok` supports.
2023-06-23 22:09:06 +02:00
Here's how private sharing works:
2023-02-02 03:38:42 +01:00
# Peer to Peer
2023-02-02 03:38:42 +01:00
![zrok_public_share](../images/zrok_private_share.png)
2023-06-26 17:45:00 +02:00
`private` shares are accessed using the `zrok access` command, and require the accessing user to have a `zrok enable`-d account on the same service instance where the share was created.
2023-06-23 22:09:06 +02:00
2023-06-26 17:45:00 +02:00
The `private` share is identified by a _share token_. The accessing user will use the share token, along with the `zrok access` command to create a local endpoint on their system, which lets them use the shared resource as if it were local to their system.
2023-02-02 03:38:42 +01:00
2023-06-26 17:45:00 +02:00
`zrok` does not require you to open any firewall ports or otherwise compromise the security of your local system; there is never an attack surface open to the public internet. As soon as you terminate the `zrok share` process, you immediately terminate any possible access to your shared resource.
2023-02-02 03:38:42 +01:00
2023-06-26 17:45:00 +02:00
The shared resource can be a development web server to share with friends and colleagues, a webhook from a server running in the cloud which has `zrok` running and has been instructed to `access` the private resource. `zrok` can also share files, websites, and low-level TCP and UDP network connections using the `tunnel` backend. What matters is that the access to the shared resource is not done in a public way, and can only be accessed by other `zrok` users that have access to your share token.
2023-02-02 03:38:42 +01:00
2023-06-23 22:09:06 +02:00
The peer-to-peer capabilities of `zrok` are an important property of the underlying [OpenZiti](https://docs.openziti.io/docs/learn/introduction/) network that `zrok` uses to provide connectivity between users and resources.
2023-02-02 03:38:42 +01:00
2023-06-26 17:45:00 +02:00
Creating `private` shares is easy and is accomplished using the `zrok share private` command. Run `zrok share private` to see the usage output and to further learn how to use the command.