Skip to content

DOC-14243-Cluster-Management#4127

Open
supritha-kumar wants to merge 13 commits into
DOC-13938-encryption-at-restfrom
DOC-14243-Cluster-Management
Open

DOC-14243-Cluster-Management#4127
supritha-kumar wants to merge 13 commits into
DOC-13938-encryption-at-restfrom
DOC-14243-Cluster-Management

Conversation

@supritha-kumar

Copy link
Copy Markdown
Contributor

Sub branch for documenting Cluster Management

@sarahlwelton sarahlwelton left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not going to review all of this right now as I feel I'm addressing a lot of the same issues throughout, and I don't want to overwhelm with comments.

I can keep going if you like, but this needs a lot of work from a style and a content architecture position. There's some weird formatting decisions being made here, too.

Comment thread modules/ROOT/nav.adoc
Comment on lines +108 to +115
**** xref:learn:security/per-node-per-bucket.adoc[Per-Node, Per-Bucket, and Per-Data-Type Encryption]
**** xref:learn:security/transparent-encryption-decryption.adoc[Transparent Encryption and Decryption]
**** xref:learn:security/master-password-encryption-at-rest.adoc[Master Password Encryption at Rest]
**** xref:learn:/security/encryption-key-management-services.adoc[Encryption Key Management Services]
**** xref:learn:security/multiple-KMS-multiple-keys.adoc[Multiple KMSs and Multiple Keys]
**** xref:learn:security/encryption-key-rotation-and-expiration.adoc[Encryption Key Rotation and Expiration]
**** xref:learn:security/when-CBServer-encrypts-data.adoc[When Couchbase Server Encrypts Data]
**** xref:learn:security/key-health-monitoring-alerts.adoc[Key Health Monitoring and Alerts]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do you want all of these to be at the same level as "Encryption Keys" in the nav?

@@ -0,0 +1,395 @@
[#keys]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I don't think you really need to set a direct link on the title of a page? Why is it an H2 heading anyway?


* *Audits:* As with configuration and log data, you can choose to use an encryption-at-rest key or the master password to encrypt audit data.

* *Other:* You can enable a key to encrypt service-generated data, such as Query Service temporary spill files.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can we call this "service-generated data" instead of "other," then?

=== Key Encryption Keys (KEKs)
You create and manage KEKs through the Couchbase Server REST API or UI.
A KEK encrypts and decrypts 1 or more Data Encryption Keys.
You can store a KEK locally (managed by Couchbase Server) or in an external KMS such as AWS KMS, Azure Key Vault, GCP KMS, HashiCorp Vault, or a KMIP-compatible server.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can we link to more info about each of these key vaults?

Doing so causes Couchbase Server to call the external KMS for every DEK decryption, which increases latency and creates an availability dependency.
See <<remote-kms-best-practice>> for more information.

== Encrypting Bucket Data

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can we link to this from where we talk about bucket encryption further up the page?

Comment on lines +70 to +83
Before you configure an AWS KMS encryption key in Couchbase Server, complete the following steps in AWS:

. Create a symmetric encryption key in AWS KMS.
Record the key's Amazon Resource Name (ARN).

. Create an IAM user or role with the following minimum permissions on the key:
+
--
* `kms:Encrypt`
* `kms:Decrypt`
* `kms:DescribeKey`
--

. Generate an access key ID and secret access key for the IAM user (or configure an instance profile if running on EC2).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Okay, but then we don't link to or explain how to set up the AWS KMS anyway?


=== Integration with Couchbase Server

When you create an encryption-at-rest key using the AWS KMS provider, you supply the following:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is this what Couchbase Server needs to set up AWS as a KMS? Shouldn't this still be prerequisites?

Comment on lines +150 to +165
When you create an encryption-at-rest key using the GCP Cloud KMS provider, you supply the following:

[cols="1,2"]
|===
| Parameter | Description

| `keyResourceName`
| The full resource name of the Cloud KMS key (for example, `projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key`).

| `credentialsFile`
| The path to the JSON service account key file on each Couchbase Server node.
Not required if you use instance-attached service account credentials.
|===

NOTE: Place the service account key file on every node in the cluster at the same path.
Couchbase Server reads this file to authenticate with Cloud KMS.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

But then we don't have a considerations section here, and again, these aren't steps for configuring with this specific service and we don't link to these steps?

Comment on lines +489 to +490
[#bring-your-own-key]
== Bring-Your-Own-Key (BYOK)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is significant enough and, I imagine, enough of a different workflow that it might be worth putting into a separate topic?

Again, this is a huge page and we could probably make it easier to navigate with tabs.



[#aws-kms-caution]
== Remote KMS Best Practice

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Again, might be better as a separate page.

@supritha-kumar

Copy link
Copy Markdown
Contributor Author

I'm not going to review all of this right now as I feel I'm addressing a lot of the same issues throughout, and I don't want to overwhelm with comments.

I can keep going if you like, but this needs a lot of work from a style and a content architecture position. There's some weird formatting decisions being made here, too.

Hey Sarah, thank you for taking the time to review. A lil unsure why you got around to it despite me clearly calling out that I haven't had the time to do a self-review and changes still need to be made.
I will do the needful before the GA. Thanks!

Comment thread modules/learn/pages/security/encryption-at-rest-keys.adoc Outdated
Comment thread modules/learn/pages/security/encryption-key-management-services.adoc Outdated
Comment thread modules/learn/pages/security/encryption-key-rotation-expiration.adoc Outdated
Comment thread modules/learn/pages/security/encryption-key-rotation-expiration.adoc Outdated
Comment thread modules/learn/pages/security/encryption-key-rotation-expiration.adoc Outdated
Comment thread modules/learn/pages/security/master-password-encryption-at-rest.adoc Outdated
Comment thread modules/learn/pages/security/per-node-per-bucket.adoc Outdated
Comment thread modules/learn/pages/security/transparent-encryption-decryption.adoc Outdated
Comment thread modules/manage/pages/manage-security/manually-drop-DEKs-reencrypt-data.adoc Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants