Skip to content

Commit 01e3bb6

Browse files
mattgreggitbook-bot
authored andcommitted
GITBOOK-1455: change request with no subject merged in GitBook
1 parent 423d95f commit 01e3bb6

File tree

21 files changed

+162
-103
lines changed

21 files changed

+162
-103
lines changed

README (1).md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
layout:
3+
title:
4+
visible: true
5+
description:
6+
visible: false
7+
tableOfContents:
8+
visible: true
9+
outline:
10+
visible: true
11+
pagination:
12+
visible: true
13+
---
14+
15+
# Ockam's core concepts
16+
17+
Ockam empowers you to build secure-by-design apps that can trust data-in-motion.
18+
19+
You can use Ockam to create end-to-end encrypted and mutually authenticated channels. Ockam secure channels authenticate using cryptographic identities and credentials. They give your apps granular control over all trust and access decisions. This control makes it easy to enforce fine-grained, attribute-based authorization policies – at scale.
20+
21+
These core capabilities are composed to enable private and secure communication in a wide variety of application architectures. For example, with one simple command, an app in your cloud can create an [<mark style="color:blue;">encrypted portal</mark>](<README (1).md#portals>) to a micro-service in another cloud. The service doesn’t need to be exposed to the Internet. You don’t have to change anything about networks or firewalls.
22+
23+
{% code fullWidth="false" %}
24+
```sh
25+
# Create a TCP Portal Inlet to a Postgres server that is running in
26+
# a remote private VPC in another cloud.
27+
ockam tcp-inlet create --from 15432 --via postgres
28+
29+
# Access the Postgres server on localhost.
30+
psql --host localhost --port 15432
31+
```
32+
{% endcode %}
33+
34+
<figure><img src=".gitbook/assets/postgres (1).png" alt=""><figcaption></figcaption></figure>
35+
36+
Similarly, using another simple command a kafka producer can publish end-to-end encrypted messages for a specific kafka consumer. Kafka brokers in the middle can’t see, manipulate, or accidentally leak sensitive enterprise data. This minimizes risk to sensitive business data and makes it easy to comply with data governance policies.
37+
38+
## Encrypted Portals <a href="#portals" id="portals"></a>
39+
40+
Portals carry various application protocols over end-to-end encrypted Ockam secure channels.
41+
42+
For example: a TCP Portal carries TCP over Ockam, a Kafka Portal carries Kafka Protocol over Ockam, etc. Since portals work with existing application protocols you can use them through companion Ockam Nodes, that run adjacent to your application, without changing any of your application’s code.
43+
44+
A tcp portal makes a remote tcp server **virtually adjacent** to the server’s clients. It has two parts: an inlet and an outlet. The outlet runs adjacent to the tcp server and inlets run adjacent to tcp clients. An inlet and the outlet work together to create a portal that makes the remote tcp server appear <mark style="background-color:yellow;">on localhost</mark> adjacent to a client. This client can then interact with this localhost server exactly like it would with the remote server. All communication between inlets and outlets is end-to-end encrypted.
45+
46+
<figure><img src=".gitbook/assets/Screenshot 2024-02-18 at 7.11.15 AM.png" alt=""><figcaption></figcaption></figure>
47+
48+
You can use Ockam Command to start nodes with one or more inlets or outlets. The underlying [<mark style="color:blue;">protocols</mark>](reference/protocols/) handle the hard parts — NATs are traversed; Keys are stored in vaults; Credentials are short-lived; Messages are authenticated; Data-integrity is guaranteed; Senders are protected from key compromise impersonation; Encryption keys are ratcheted; Nonces are never reused; Strong forward secrecy is ensured; Sessions recover from network failures; and a lot more.
49+
50+
## How Ockam is different from a Network layer connector
51+
52+
{% embed url="https://www.youtube.com/embed/B-4BgY9j9-Q?si=b9hgyBdYWkhQ3OUE" %}

README.md

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,41 +12,45 @@ layout:
1212
visible: true
1313
---
1414

15-
# What is Ockam?
15+
# Intro to Ockam
1616

17-
Ockam empowers you to build secure-by-design apps that can trust data-in-motion.
17+
Ockam empowers you to build secure-by-design apps that can trust data-in-motion.&#x20;
1818

19-
You can use Ockam to create end-to-end encrypted and mutually authenticated channels. Ockam secure channels authenticate using cryptographic identities and credentials. They give your apps granular control over all trust and access decisions. This control makes it easy to enforce fine-grained, attribute-based authorization policies – at scale.
19+
With Ockam:
2020

21-
These core capabilities are composed to enable private and secure communication in a wide variety of application architectures. For example, with one simple command, an app in your cloud can create an [<mark style="color:blue;">encrypted portal</mark>](./#portals) to a micro-service in another cloud. The service doesn’t need to be exposed to the Internet. You don’t have to change anything about networks or firewalls.
21+
**Impossible connections become possible.** Establish secure channels between systems in private networks that previously could not be connected because it is either too difficult or insecure
2222

23-
{% code fullWidth="false" %}
24-
```sh
25-
# Create a TCP Portal Inlet to a Postgres server that is running in
26-
# a remote private VPC in another cloud.
27-
ockam tcp-inlet create --from 15432 --via postgres
23+
**All public endpoints become private.** Connect your applications and databases without exposing anything publicly
2824

29-
# Access the Postgres server on localhost.
30-
psql --host localhost --port 15432
31-
```
32-
{% endcode %}
25+
\
26+
At its core, Ockam is a toolkit for developers to build applications that can create end-to-end encrypted, mutually authenticated, secure communication channels:
3327

34-
<figure><img src=".gitbook/assets/postgres (1).png" alt=""><figcaption></figcaption></figure>
28+
**From anywhere to anywhere:** Ockam works across any network, cloud, or on prem infrastructure
3529

36-
Similarly, using another simple command a kafka producer can publish end-to-end encrypted messages for a specific kafka consumer. Kafka brokers in the middle can’t see, manipulate, or accidentally leak sensitive enterprise data. This minimizes risk to sensitive business data and makes it easy to comply with data governance policies.
30+
**Over any transport topology:** Ockam is compatible with every transport layer including TCP, UDP, Kafka, Bluetooth
3731

38-
## Encrypted Portals <a href="#portals" id="portals"></a>
32+
**Without no infrastructure, network, or application changes:** Ockam works at the application layer, so you don’t need to make complex changes
3933

40-
Portals carry various application protocols over end-to-end encrypted Ockam secure channels.
34+
**While ensuring the risky things are impossible to get wrong:** Ockam’s protocols do the heavy lifting to establish end-to-end encrypted, mutually authenticated secure channels
4135

42-
For example: a TCP Portal carries TCP over Ockam, a Kafka Portal carries Kafka Protocol over Ockam, etc. Since portals work with existing application protocols you can use them through companion Ockam Nodes, that run adjacent to your application, without changing any of your application’s code.
36+
### Why Ockam is a game changer
4337

44-
A tcp portal makes a remote tcp server **virtually adjacent** to the server’s clients. It has two parts: an inlet and an outlet. The outlet runs adjacent to the tcp server and inlets run adjacent to tcp clients. An inlet and the outlet work together to create a portal that makes the remote tcp server appear <mark style="background-color:yellow;">on localhost</mark> adjacent to a client. This client can then interact with this localhost server exactly like it would with the remote server. All communication between inlets and outlets is end-to-end encrypted.
38+
Traditionally, connections made over TCP are secured with TLS. However, the security guarantees of a TLS secure channel only apply for the length of the underlying TCP connection. It is not possible to connect two systems in different private networks over a single TCP connection. Thus, connecting these two systems requires exposing one of them over the Internet, and breaking the security guarantees of TLS.
4539

46-
<figure><img src=".gitbook/assets/Screenshot 2024-02-18 at 7.11.15 AM.png" alt=""><figcaption></figcaption></figure>
40+
Ockam works differently. Our secure channel protocol sits on top of an application layer routing protocol. This routing protocol can hand over messages from one transport layer connection to another. This can be done over any transport protocol, with any number of transport layer hops: TCP to TCP to TCP, TCP to UDP to TCP, UDP to Bluetooth to Kafka, etc.&#x20;
4741

48-
You can use Ockam Command to start nodes with one or more inlets or outlets. The underlying [<mark style="color:blue;">protocols</mark>](reference/protocols/) handle the hard parts — NATs are traversed; Keys are stored in vaults; Credentials are short-lived; Messages are authenticated; Data-integrity is guaranteed; Senders are protected from key compromise impersonation; Encryption keys are ratcheted; Nonces are never reused; Strong forward secrecy is ensured; Sessions recover from network failures; and a lot more.
42+
Over these transport layer connections, Ockam sets up an end-to-end encrypted, mutually authenticated connection. This unlocks the ability to create secure channels between systems that live in entirely private networks, without exposing either end to the Internet.&#x20;
4943

50-
## How Ockam is different from a Network layer connector
44+
Since Ockam’s routing protocol is at the application layer, complex network and infrastructure changes are not required to make these connections. Rather than a months-long infrastructure project, you can connect private systems in minutes while ensuring the risky things are impossible to get wrong. NATs are traversed; Keys are stored in vaults; Credentials are short-lived; Messages are authenticated; Data-integrity is guaranteed; Senders are protected from key compromise impersonation; Encryption keys are ratcheted; Nonces are never reused; Strong forward secrecy is ensured; Sessions recover from network failures; and a lot more.
5145

52-
{% embed url="https://www.youtube.com/embed/B-4BgY9j9-Q?si=b9hgyBdYWkhQ3OUE" %}
46+
### Ockam is easy to use
47+
48+
The magic of Ockam is it's simplicity. All you need to do is subscribe to Ockam Orchestrator, and then deploy one of the following distributions next to the applications you'd like to connect:
49+
50+
* Ockam Programming Libraries (Rust …)
51+
* Ockam Command
52+
* Ockam Docker Images
53+
* Redpanda Connect
54+
* Managed Ockam Nodes from the AWS Marketplace
55+
* Snowflake Native Apps
56+
* Lambda/Serverless Functions

SUMMARY.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# Table of contents
22

3-
* [What is Ockam?](README.md)
4-
* [How does Ockam work?](how-does-ockam-work.md)
3+
* [Intro to Ockam](README.md)
4+
* [Ockam's core concepts](<README (1).md>)
5+
* [Get started demo](how-does-ockam-work.md)
56
* [Quickstarts](quickstarts/README.md)
67
* [Add secure connectivity to your SaaS product](https://www.ockam.io/blog/building-secure-saas-platforms)
78
* [Snowflake federated queries to Postgres](https://www.ockam.io/blog/snowflake-query-postgres)

how-does-ockam-work.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@ layout:
1212
visible: true
1313
---
1414

15-
# How does Ockam work?
16-
17-
Ockam is a stack of[ protocols](https://docs.ockam.io/reference/protocols) to build secure-by-design apps that can trust data-in-motion. We provide a collection of programming libraries, command line tools, deployable components, and cloud services that make it simple for you to use these protocols within your apps.
15+
# Get started demo
1816

1917
Let’s build a simple example together. We will create an encrypted[ Ockam Portal](https://docs.ockam.io/#portals) from a psql microservice in Azure to a Postgres Database in AWS.
2018

portals/databases/README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ layout:
1616

1717
Create an Ockam **Portal** between any application, to any database, in any environment.
1818

19-
In each example, we connect a nodejs app in one private network with a database in another private network.&#x20;
19+
In each example, we connect a nodejs app in one private network with a database in another private network.
2020

2121
Each company’s network is private, isolated, and doesn't expose ports. To learn how end-to-end trust is established, please read: “[<mark style="color:blue;">How does Ockam work?</mark>](../../how-does-ockam-work.md)
2222

@@ -25,9 +25,7 @@ Each company’s network is private, isolated, and doesn't expose ports. To lear
2525
Please select an example to dig in:
2626

2727
{% hint style="info" %}
28-
The examples below use PostgreSQL, MongoDB and InfluxDB. However, the same setup works for any database: _MySQL, ClickHouse, Cassandra, SQL Server, etc._
28+
The examples below use PostgreSQL, MongoDB and InfluxDB. However, the same setup works for any database: _MySQL, ClickHouse, Cassandra, SQL Server, Databricks, Snowflake, Mongo, etc._
2929
{% endhint %}
3030

31-
<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="postgres/"><mark style="color:blue;"><strong>PostgreSQL</strong></mark></a></td><td>We connect a nodejs app in one private network with a PostgreSQL database in another private network.</td><td><a href="postgres/">postgres</a></td></tr><tr><td><a href="mongodb/"><mark style="color:blue;"><strong>MongoDB</strong></mark></a></td><td>We connect a nodejs app in one private network with a MongoDB database in another private network.</td><td><a href="mongodb/">mongodb</a></td></tr><tr><td><a href="influxdb/"><mark style="color:blue;"><strong>InfluxDB</strong></mark></a></td><td>We connect a nodejs app in one private network with a InfluxDB database in another private network.</td><td><a href="influxdb/">influxDB</a></td></tr></tbody></table>
32-
33-
31+
<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="postgres/"><mark style="color:blue;"><strong>PostgreSQL</strong></mark></a></td><td>We connect a nodejs app in one private network with a PostgreSQL database in another private network.</td><td><a href="postgres/">postgres</a></td></tr><tr><td><a href="mongodb/"><mark style="color:blue;"><strong>MongoDB</strong></mark></a></td><td>We connect a nodejs app in one private network with a MongoDB database in another private network.</td><td><a href="mongodb/">mongodb</a></td></tr><tr><td><a href="influxdb/"><mark style="color:blue;"><strong>InfluxDB</strong></mark></a></td><td>We connect a nodejs app in one private network with a InfluxDB database in another private network.</td><td><a href="influxdb/">influxdb</a></td></tr><tr><td><a href="../../quickstarts/"><mark style="color:blue;"><strong>Snowflake</strong></mark></a></td><td>Use one of the Ockam Snowflake connectors to build private connections to Snowflake in minutes.</td><td></td></tr></tbody></table>

portals/databases/influxdb/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ layout:
1414

1515
# InfluxDB
1616

17-
This section contains hands-on examples that use [<mark style="color:blue;">Ockam</mark>](../../../) to create **encrypted portals** to InfluxDB databases running in various environments.
17+
This section contains hands-on examples that use [<mark style="color:blue;">Ockam</mark>](<../../../README (1).md>) to create **encrypted portals** to InfluxDB databases running in various environments.
1818

19-
In each example, we connect a nodejs app in one private network with a InfluxDB database in another private network. To understand how end-to-end trust is established, and how the portal works even though the two networks are isolated with no exposed ports, please read: “[<mark style="color:blue;">How does Ockam work?</mark>](../../../how-does-ockam-work.md)
19+
In each example, we connect a nodejs app in one private network with a InfluxDB database in another private network. To understand how end-to-end trust is established, and how the portal works even though the two networks are isolated with no exposed ports, please read: “[<mark style="color:blue;">How does Ockam work?</mark>](../../../how-does-ockam-work.md)
2020

2121
<figure><img src="../../../.gitbook/assets/influxdb-network.png" alt=""><figcaption></figcaption></figure>
2222

2323
Please select an example to dig in:
2424

25-
<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><a href="timestream.md"><mark style="color:blue;"><strong>InfluxDB - Amazon Timestream</strong></mark></a></td><td>We connect a nodejs app in one Amazon VPC with a InfluxDB database in another Amazon VPC. The example uses AWS CLI to create these VPCs.</td></tr></tbody></table>
25+
<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><a href="timestream.md"><mark style="color:blue;"><strong>InfluxDB - Amazon Timestream</strong></mark></a></td><td>We connect a nodejs app in one Amazon VPC with a InfluxDB database in another Amazon VPC. The example uses AWS CLI to create these VPCs.</td></tr></tbody></table>

0 commit comments

Comments
 (0)