Skip to content

Commit 8226fe9

Browse files
authored
docs(README): update README for repo rename update (#705)
1 parent edef50f commit 8226fe9

File tree

2 files changed

+164
-90
lines changed

2 files changed

+164
-90
lines changed
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
# AWS Database Encryption SDK for DynamoDB in Java
2+
3+
The AWS Database Encryption SDK (DB-ESDK) for DynamoDB in Java is a client-side encryption
4+
library that allows you to perform attribute-level encryption, enabling you to encrypt specific
5+
attribute values within items before storing them in your DynamoDB table. All encryption and
6+
decryption are performed within your application. This lets you protect sensitive data in-transit
7+
and at-rest, as data cannot be exposed unless decrypted by your application.
8+
9+
For more details about the design and architecture of the DB-ESDK for DynamoDB,
10+
see the [AWS Database Encryption SDK Developer Guide](https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide/).
11+
12+
# Security
13+
If you discover a potential security issue in this project
14+
we ask that you notify AWS/Amazon Security via our
15+
[vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/).
16+
Please **do not** create a public GitHub issue.
17+
18+
# Support Policy
19+
See [Support Policy](./SUPPORT_POLICY.rst) for details
20+
on the current support status of all major versions of this library.
21+
22+
## Giving Feedback
23+
We need your help in making this SDK great.
24+
Please participate in the community and contribute to this effort by
25+
submitting issues,
26+
participating in discussion forums and
27+
submitting pull requests through the following channels:
28+
29+
* Submit [issues](https://github.com/aws/aws-database-encryption-sdk-dynamodb-java/issues)
30+
\- this is the **preferred** channel to interact with our team
31+
* Articulate your
32+
[feature request](https://github.com/aws/aws-database-encryption-sdk-dynamodb-java/issues?q=is%3Aopen+is%3Aissue+label%3A%22feature-request%22)
33+
or upvote existing ones
34+
* Ask [questions](https://repost.aws/tags/TAc3VKZnkNQyimpHnCHetNOQ/aws-crypto-tools) on AWS re:Post under AWS Crypto Tools tag
35+
36+
# Getting Started
37+
38+
## Required Prerequisites
39+
To use the DB-ESDK for DynamoDB in Java, you must have:
40+
41+
* **A Java 8 or newer development environment**
42+
If you do not have one,
43+
go to [Java SE Downloads](https://www.oracle.com/technetwork/java/javase/downloads/index.html) on the Oracle website,
44+
then download and install the Java SE Development Kit (JDK).
45+
Java 8 or higher is required.
46+
47+
**Note:** If you use the Oracle JDK,
48+
you must also download and install
49+
the [Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html).
50+
51+
* **Declare a Dependency on the DB-ESDK for DynamoDB in Java and it's dependencies**
52+
This library requires the DynamoDB client
53+
from the AWS SDK for Java V2
54+
and the AwsCryptographicMaterialProviders library.
55+
56+
The KMS and DynamoDB-Enhanced Clients from the AWS SDK For Java V2
57+
are **optional** dependencies.
58+
59+
* **Via Gradle Kotlin**
60+
In a Gradle Java Project, add the following to the _dependencies_ section:
61+
```kotlin
62+
implementation("software.amazon.cryptography:aws-database-encryption-sdk-dynamodb:3.1.2")
63+
implementation("software.amazon.cryptography:aws-cryptographic-material-providers:1.0.0")
64+
implementation(platform("software.amazon.awssdk:bom:2.19.1"))
65+
implementation("software.amazon.awssdk:dynamodb")
66+
// The following are optional:
67+
implementation("software.amazon.awssdk:dynamodb-enhanced")
68+
implementation("software.amazon.awssdk:kms")
69+
```
70+
71+
* **Via Apache Maven**
72+
Add the following to your project's `pom.xml`.
73+
```xml
74+
<project>
75+
...
76+
<dependencyManagement>
77+
<dependencies>
78+
<dependency>
79+
<groupId>software.amazon.awssdk</groupId>
80+
<artifactId>bom</artifactId>
81+
<version>2.19.1</version>
82+
<type>pom</type>
83+
<scope>import</scope>
84+
</dependency>
85+
</dependencies>
86+
</dependencyManagement>
87+
<dependencies>
88+
<dependency>
89+
<groupId>software.amazon.awssdk</groupId>
90+
<artifactId>dynamodb</artifactId>
91+
</dependency>
92+
<dependency>
93+
<groupId>software.amazon.cryptography</groupId>
94+
<artifactId>aws-database-encryption-sdk-dynamodb</artifactId>
95+
<version>3.1.2</version>
96+
</dependency>
97+
<dependency>
98+
<groupId>software.amazon.cryptography</groupId>
99+
<artifactId>aws-cryptographic-material-providers</artifactId>
100+
<version>1.0.0</version>
101+
</dependency>
102+
<!-- The following are optional -->
103+
<dependency>
104+
<groupId>software.amazon.awssdk</groupId>
105+
<artifactId>dynamodb-enhanced</artifactId>
106+
</dependency>
107+
<dependency>
108+
<groupId>software.amazon.awssdk</groupId>
109+
<artifactId>kms</artifactId>
110+
</dependency>
111+
</dependencies>
112+
...
113+
</project>
114+
```
115+
116+
### AWS Integration
117+
You need an Amazon Web Services (AWS) account to use the DB-ESDK for DynamoDB as it's specifically designed to work with Amazon DynamoDB. Optionally, you can use AWS Key Management Service (AWS KMS) as your main keyring provider.
118+
119+
* **To create an AWS account**, go to
120+
[Sign In or Create an AWS Account](https://portal.aws.amazon.com/gp/aws/developer/registration/index.html)
121+
and then choose **I am a new user.**
122+
Follow the instructions to create an AWS account.
123+
124+
* **(Optional) To create a key in AWS KMS**, see
125+
[Creating Keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).
126+
127+
### Amazon Corretto Crypto Provider
128+
Many developers find that the Amazon Corretto Crypto Provider (ACCP)
129+
significantly improves the performance of the library.
130+
For help installing and using ACCP, see the
131+
[amazon-corretto-crypto-provider repository](https://github.com/corretto/amazon-corretto-crypto-provider).
132+
133+
## Using the DB-ESDK for DynamoDB in Java
134+
There are several ways to use the library.
135+
More details are provided in the
136+
[AWS Database Encryption SDK Developer Guide](https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide/).
137+
Also see the [Examples](Examples/runtimes/java/DynamoDbEncryption).
138+
139+
# Contributing
140+
141+
See [CONTRIBUTING](CONTRIBUTING.md) for more information.
142+
143+
# License
144+
145+
This project is licensed under the Apache-2.0 License.
146+
147+
[ddbenhanced]: https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/dynamodb-enhanced-client.html

README.md

Lines changed: 17 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
# AWS Database Encryption SDK for DynamoDB in Java
1+
# AWS Database Encryption SDK for DynamoDB
22

3-
The AWS Database Encryption SDK (DB-ESDK) for DynamoDB in Java is a client-side encryption
3+
📣 Note: This repository contains the source code and related files for all
4+
language implementations of the AWS Database Encryption SDK for DynamoDB.
5+
See our [supported languages](#supported-languages) section for more information.
6+
7+
The AWS Database Encryption SDK (DB-ESDK) for DynamoDB is a client-side encryption
48
library that allows you to perform attribute-level encryption, enabling you to encrypt specific
59
attribute values within items before storing them in your DynamoDB table. All encryption and
610
decryption are performed within your application. This lets you protect sensitive data in-transit
@@ -35,83 +39,12 @@ submitting pull requests through the following channels:
3539

3640
# Getting Started
3741

38-
## Required Prerequisites
39-
To use the DB-ESDK for DynamoDB in Java, you must have:
40-
41-
* **A Java 8 or newer development environment**
42-
If you do not have one,
43-
go to [Java SE Downloads](https://www.oracle.com/technetwork/java/javase/downloads/index.html) on the Oracle website,
44-
then download and install the Java SE Development Kit (JDK).
45-
Java 8 or higher is required.
46-
47-
**Note:** If you use the Oracle JDK,
48-
you must also download and install
49-
the [Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html).
50-
51-
* **Declare a Dependency on the DB-ESDK for DynamoDB in Java and it's dependencies**
52-
This library requires the DynamoDB client
53-
from the AWS SDK for Java V2
54-
and the AwsCryptographicMaterialProviders library.
55-
56-
The KMS and DynamoDB-Enhanced Clients from the AWS SDK For Java V2
57-
are **optional** dependencies.
58-
59-
* **Via Gradle Kotlin**
60-
In a Gradle Java Project, add the following to the _dependencies_ section:
61-
```kotlin
62-
implementation("software.amazon.cryptography:aws-database-encryption-sdk-dynamodb:3.1.2")
63-
implementation("software.amazon.cryptography:aws-cryptographic-material-providers:1.0.0")
64-
implementation(platform("software.amazon.awssdk:bom:2.19.1"))
65-
implementation("software.amazon.awssdk:dynamodb")
66-
// The following are optional:
67-
implementation("software.amazon.awssdk:dynamodb-enhanced")
68-
implementation("software.amazon.awssdk:kms")
69-
```
70-
71-
* **Via Apache Maven**
72-
Add the following to your project's `pom.xml`.
73-
```xml
74-
<project>
75-
...
76-
<dependencyManagement>
77-
<dependencies>
78-
<dependency>
79-
<groupId>software.amazon.awssdk</groupId>
80-
<artifactId>bom</artifactId>
81-
<version>2.19.1</version>
82-
<type>pom</type>
83-
<scope>import</scope>
84-
</dependency>
85-
</dependencies>
86-
</dependencyManagement>
87-
<dependencies>
88-
<dependency>
89-
<groupId>software.amazon.awssdk</groupId>
90-
<artifactId>dynamodb</artifactId>
91-
</dependency>
92-
<dependency>
93-
<groupId>software.amazon.cryptography</groupId>
94-
<artifactId>aws-database-encryption-sdk-dynamodb</artifactId>
95-
<version>3.1.2</version>
96-
</dependency>
97-
<dependency>
98-
<groupId>software.amazon.cryptography</groupId>
99-
<artifactId>aws-cryptographic-material-providers</artifactId>
100-
<version>1.0.0</version>
101-
</dependency>
102-
<!-- The following are optional -->
103-
<dependency>
104-
<groupId>software.amazon.awssdk</groupId>
105-
<artifactId>dynamodb-enhanced</artifactId>
106-
</dependency>
107-
<dependency>
108-
<groupId>software.amazon.awssdk</groupId>
109-
<artifactId>kms</artifactId>
110-
</dependency>
111-
</dependencies>
112-
...
113-
</project>
114-
```
42+
### Repository structure
43+
This repository is a top level repository which houses all source code in order to compile this library into
44+
different runtimes.
45+
46+
This library is written in Dafny, a formally verifiable programming language that can be compiled into
47+
different runtimes. This library is currently **ONLY** supported in Java and .NET
11548

11649
### AWS Integration
11750
You need an Amazon Web Services (AWS) account to use the DB-ESDK for DynamoDB as it's specifically designed to work with Amazon DynamoDB. Optionally, you can use AWS Key Management Service (AWS KMS) as your main keyring provider.
@@ -124,17 +57,11 @@ You need an Amazon Web Services (AWS) account to use the DB-ESDK for DynamoDB as
12457
* **(Optional) To create a key in AWS KMS**, see
12558
[Creating Keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).
12659

127-
### Amazon Corretto Crypto Provider
128-
Many developers find that the Amazon Corretto Crypto Provider (ACCP)
129-
significantly improves the performance of the library.
130-
For help installing and using ACCP, see the
131-
[amazon-corretto-crypto-provider repository](https://github.com/corretto/amazon-corretto-crypto-provider).
132-
133-
## Using the DB-ESDK for DynamoDB in Java
134-
There are several ways to use the library.
135-
More details are provided in the
136-
[AWS Database Encryption SDK Developer Guide](https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide/).
137-
Also see the [Examples](Examples/runtimes/java/DynamoDbEncryption).
60+
## Supported Languages
61+
62+
- Java
63+
- .NET
64+
- Dafny
13865

13966
# Contributing
14067

0 commit comments

Comments
 (0)