Skip to content

Commit 52906eb

Browse files
committed
docs: add examples readme
1 parent a818ea5 commit 52906eb

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

examples/README.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# AWS Encryption SDK Examples
2+
3+
Here you can find some examples that show you
4+
how to use the AWS Encryption SDK.
5+
We demonstrate how to use the high-level APIs
6+
as well as how to set up some common configuration patterns.
7+
8+
## APIs
9+
10+
The AWS Encryption SDK provides two high-level APIS:
11+
one-shot APIs that process the entire operation in memory
12+
and streaming APIs.
13+
14+
You can find examples that demonstrate these APIs
15+
in the [`examples/src/`](./src) directory root.
16+
17+
## Configuration
18+
19+
In order to use the library APIs,
20+
you must provide some configuration that defines
21+
how you want to protect your data keys.
22+
23+
### Keyrings
24+
25+
Keyrings are the most common way for you to configure that AWS Encryption SDK.
26+
These let you define how you want the AWS Encryption SDK to protect your data keys.
27+
You can find these examples in [`examples/src/keyring`](./src/keyring).
28+
29+
### Cryptographic Materials Managers
30+
31+
Keyrings define how you want to protect your data keys,
32+
but there is more going on here than just data keys.
33+
34+
Cryptographic materials managers give you higher-level controls
35+
over how the AWS Encryption SDK protects your data.
36+
This can include things like
37+
enforcing certain algorithm suites or encryption context settings,
38+
reusing data keys across messages,
39+
or changing how you interact with keyrings.
40+
You can find these examples in
41+
[`examples/src/crypto_materials_managers`](./src/crypto_materials_manager).
42+
43+
### Master Key Providers
44+
45+
Before there were keyrings, there were master key providers.
46+
Master key providers were the original configuration structure
47+
that we defined for defining how you want to protect your data keys.
48+
Keyrings provide a simpler experience and often more powerful configuration options,
49+
but if you need to use master key providers,
50+
need help migrating from master key providers to keyrings,
51+
or simply want to see the difference between these configuration experiences,
52+
you can find these examples in [`examples/src/master_key_provider`](./src/master_key_provider).
53+
54+
## Legacy
55+
56+
The examples in [`examples/src/legacy`](./src/legacy).

0 commit comments

Comments
 (0)