Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support AWS KMS Encryption Context #76

Merged
merged 6 commits into from
Aug 22, 2016
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
update README according to #76
  • Loading branch information
dictcp committed Aug 20, 2016
commit c480e2eba91b957ca2457e892e2f891260673414
17 changes: 8 additions & 9 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -275,12 +275,9 @@ AWS KMS Encryption Context

SOPS has the ability to use AWS KMS key policy and encryption context
<http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html>
to further fine control access under the same master key.
Encryption context is a set of key-value pairs. It is not part of ciphertext
return but is cryptographically bound to the ciphertext. Decryption requires
exact the same encryption context as the one you passed during encryption.
You can use KMS key policy (as shown as below) or key grant to control who
can perform decryption with certain encryption context.
to refine the access control of a given KMS master key.
Encryption contexts can be used in conjunction with KMS Key Policies to define
roles that can only access a given context. An example policy is shown below:

.. code:: json

Expand All @@ -299,11 +296,13 @@ can perform decryption with certain encryption context.
}
}

You can specify encryption context in the `--encryption-context` flag by
comma separated list of key-value pairs:
When creating a new file, you can specify encryption context in the
`--encryption-context` flag by comma separated list of key-value pairs:

<EncryptionContext Key>:<EncryptionContext Value>,<EncryptionContext Key>:<EncryptionContext Value>
Environment:production,Role:web-server
eg.Environment:production,Role:web-server

The encryption context will be stored in the file metadata and not need to be provided at decryption.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The encryption context will be stored in the file metadata and not need to be provided at decryption.


Key Rotation
Expand Down