forked from ravendb/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request ravendb#1413 from serezhub/RDoc-1917-Certificate-M…
…anagement RDoc-1917 certificate-management -
- Loading branch information
Showing
42 changed files
with
562 additions
and
88 deletions.
There are no files selected for viewing
423 changes: 345 additions & 78 deletions
423
...umentation.Pages/server/security/authentication/certificate-management.markdown
Large diffs are not rendered by default.
Oops, something went wrong.
4 changes: 3 additions & 1 deletion
4
...entation.Pages/server/security/authentication/client-certificate-usage.markdown
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+4.64 KB
...ges/server/security/authentication/images/client-certificate-button-options.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+56.3 KB
....Pages/server/security/authentication/images/customized-client-certificates.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
+30.4 KB
(200%)
...on/5.2/Raven.Documentation.Pages/server/security/authentication/images/edit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+20 KB
...tion.Pages/server/security/authentication/images/export-server-certificates.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
+56.8 KB
(300%)
....2/Raven.Documentation.Pages/server/security/authentication/images/generate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+86.2 KB
...s/server/security/authentication/images/importing-and-exporting-certificate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
+23.7 KB
(130%)
.../Raven.Documentation.Pages/server/security/authentication/images/registered.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+5.49 KB
...es/server/security/authentication/images/server-certificates-button-options.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+28 KB
...n.Pages/server/security/authentication/images/snag/client-certificate-button-options.snag
Binary file not shown.
Binary file added
BIN
+92 KB
...tion.Pages/server/security/authentication/images/snag/customized-client-certificates.snag
Binary file not shown.
Binary file modified
BIN
+40 KB
(170%)
...tation/5.2/Raven.Documentation.Pages/server/security/authentication/images/snag/edit.snag
Binary file not shown.
Binary file added
BIN
+48 KB
...entation.Pages/server/security/authentication/images/snag/export-server-certificates.snag
Binary file not shown.
Binary file modified
BIN
+72 KB
(240%)
...on/5.2/Raven.Documentation.Pages/server/security/authentication/images/snag/generate.snag
Binary file not shown.
Binary file modified
BIN
+52 KB
(150%)
.../5.2/Raven.Documentation.Pages/server/security/authentication/images/snag/registered.snag
Binary file not shown.
Binary file added
BIN
+28 KB
....Pages/server/security/authentication/images/snag/server-certificates-button-options.snag
Binary file not shown.
Binary file added
BIN
+148 KB
...tation.Pages/server/security/authentication/images/snag/studio-certificates-overview.snag
Binary file not shown.
Binary file modified
BIN
+148 KB
(470%)
...tion/5.2/Raven.Documentation.Pages/server/security/authentication/images/snag/upload.snag
Binary file not shown.
Binary file added
BIN
+110 KB
...on.Pages/server/security/authentication/images/studio-certificates-overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
+119 KB
(720%)
.../5.2/Raven.Documentation.Pages/server/security/authentication/images/upload.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 14 additions & 7 deletions
21
Documentation/5.2/Raven.Documentation.Pages/studio/server/certificates/.docs.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,15 @@ | ||
[ | ||
{ | ||
"Path": "read-only-access-level.markdown", | ||
"Name": "Read-Only Access Level", | ||
"DiscussionId": "e4fd0d1a-d076-42b9-a8a7-aeecbd93e4a1", | ||
"Mappings": [] | ||
} | ||
] | ||
{ | ||
"Path": "server-management-certificates-view.markdown", | ||
"Name": "Certificates Management View", | ||
"DiscussionId": "e4fd0d1a-d076-42b9-a8a7-aeecbd93e4a1", | ||
"Mappings": [] | ||
}, | ||
{ | ||
"Path": "read-only-access-level.markdown", | ||
"Name": "Read-Only Access Level", | ||
"DiscussionId": "e4fd0d1a-d076-42b9-a8a7-aeecbd93e4a1", | ||
"Mappings": [] | ||
} | ||
|
||
] |
Binary file added
BIN
+16.2 KB
...5.2/Raven.Documentation.Pages/studio/server/certificates/images/client-cert.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+56.3 KB
...tion.Pages/studio/server/certificates/images/customized-client-certificates.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+30.1 KB
...tation/5.2/Raven.Documentation.Pages/studio/server/certificates/images/edit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+20 KB
...entation.Pages/studio/server/certificates/images/export-server-certificates.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+31 KB
...on/5.2/Raven.Documentation.Pages/studio/server/certificates/images/generate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+180 KB
...tation/5.2/Raven.Documentation.Pages/studio/server/certificates/images/main.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+98.9 KB
.../5.2/Raven.Documentation.Pages/studio/server/certificates/images/registered.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+36 KB
...ion/5.2/Raven.Documentation.Pages/studio/server/certificates/images/snag/client-cert.snag
Binary file not shown.
Binary file added
BIN
+92 KB
...entation.Pages/studio/server/certificates/images/snag/customized-client-certificates.snag
Binary file not shown.
Binary file added
BIN
+68 KB
Documentation/5.2/Raven.Documentation.Pages/studio/server/certificates/images/snag/edit.snag
Binary file not shown.
Binary file added
BIN
+48 KB
...ocumentation.Pages/studio/server/certificates/images/snag/export-server-certificates.snag
Binary file not shown.
Binary file added
BIN
+56 KB
...tation/5.2/Raven.Documentation.Pages/studio/server/certificates/images/snag/generate.snag
Binary file not shown.
Binary file added
BIN
+208 KB
Documentation/5.2/Raven.Documentation.Pages/studio/server/certificates/images/snag/main.snag
Binary file not shown.
Binary file added
BIN
+148 KB
...tion/5.2/Raven.Documentation.Pages/studio/server/certificates/images/snag/registered.snag
Binary file not shown.
Binary file added
BIN
+148 KB
...umentation.Pages/studio/server/certificates/images/snag/studio-certificates-overview.snag
Binary file not shown.
Binary file added
BIN
+48 KB
...entation/5.2/Raven.Documentation.Pages/studio/server/certificates/images/snag/upload.snag
Binary file not shown.
Binary file added
BIN
+108 KB
...tation.Pages/studio/server/certificates/images/studio-certificates-overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+22.8 KB
...tion/5.2/Raven.Documentation.Pages/studio/server/certificates/images/upload.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
192 changes: 192 additions & 0 deletions
192
...n.Pages/studio/server/certificates/server-management-certificates-view.markdown
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,192 @@ | ||
# Certificates Management View | ||
|
||
* The built-in RavenDB Studio enables full customization of client certificates as well as importing and exporting of certificates. | ||
|
||
* This article gives brief guidance about the Studio certificate management GUI. | ||
For detailed explanations including [the RavenDB Security Authorization Approach](../../../server/security/authentication/certificate-management#the-ravendb-security-authorization-approach), see the article [Certificate Management](../../../server/security/authentication/certificate-management). | ||
|
||
In this page: | ||
|
||
* [Certificates Management Studio View](../../../studio/server/certificates/server-management-certificates-view#studio-certificates-management-view) | ||
* [Configuring Certificates: Database and Access Permissions](../../../studio/server/certificates/server-management-certificates-view#configuring-certificates-database-and-access-permissions) | ||
* [Enabling Communication Between Servers: Importing and Exporting Certificates](../../../studio/server/certificates/server-management-certificates-view#enabling-communication-between-servers-importing-and-exporting-certificates) | ||
|
||
## Studio Certificates Management View | ||
|
||
![Figure 1. Studio Certificates Management View](images/studio-certificates-overview.png "Studio Certificates Management View") | ||
|
||
1. Click **Manage Server** tab. | ||
2. Select **Certificates**. | ||
3. **Client certificate** | ||
* [Generate and configure](../../../server/security/authentication/certificate-management#generate-client-certificate) a new client certificate | ||
* [Upload a client certificate](../../../server/security/authentication/certificate-management#upload-an-existing-certificate) that was exported from another server so that they can communicate. | ||
4. **Server certificates** | ||
* [Export server certificates](../../../server/security/authentication/certificate-management#export-server-certificates) so that you can import them into another server. | ||
* [Replace server certificates](../../../server/security/authentication/certificate-renewal-and-rotation) by uploading another `.pfx` certificate. | ||
5. Status of current server certificate. You can click [Renew now](../../../server/security/authentication/certificate-renewal-and-rotation) here. | ||
6. Status of current client certificates active in this server. You can remove or [edit client certificates](../../../server/security/authentication/certificate-management#edit-certificate), including configuring databases permissions and [authorization (security clearance) levels](../../../server/security/authorization/security-clearance-and-permissions#authorization-security-clearance-and-permissions) here. | ||
|
||
Client certificates are managed by RavenDB directly and not through any PKI infrastructure. If you want to remove | ||
or reduce the permissions on a certificate handed to a client, you can edit the permissions or remove them entirely in this Studio screen. | ||
|
||
|
||
## Configuring Certificates: Database and Access Permissions | ||
|
||
{PANEL: } | ||
|
||
In the image below, the client certificates (HR, localcluster.client.certificate, Project Managers) have different **security clearance** and **database permissions** configurations. | ||
This is done to give admins the ability to protect the contents of their databases by **customizing permissions**. | ||
|
||
For example, if an application user should have read/write but not admin access over the HR database, while project managers should have operator permissions on all databases, | ||
you can grant different [access levels](../../../server/security/authorization/security-clearance-and-permissions#authorization-security-clearance-and-permissions) by using different client certificates, each with its own set of permissions. | ||
|
||
![Figure 2. Status of Registered Certificates](images/registered.png "Status of Registered Certificates") | ||
|
||
Each client certificate contains the following: | ||
|
||
1. **Name** | ||
Client certificate name. | ||
2. **Thumbprint** | ||
Unique key for each certificate. | ||
3. **Security Clearance** | ||
[Authorization level](../../../server/security/authorization/security-clearance-and-permissions#authorization-security-clearance-and-permissions) that determines types of actions that can be done with this certificate. | ||
4. **Expiration date** | ||
Client certificates are given 5 year expiration periods by default. | ||
5. **Allowed Databases** | ||
The databases in this cluster that this client certificate has access to. | ||
6. **Edit Certificate** | ||
Configure which databases it can access (applicable for User level) and its authorization clearance level. | ||
7. **Delete Certificate** | ||
|
||
{PANEL/} | ||
|
||
{PANEL:Generate Client Certificate} | ||
|
||
Using this view, you can generate client certificates directly via RavenDB. | ||
Newly generated certificates will be added to the list of registered certificates. | ||
|
||
![Figure 3. Generate Client Certificate](images/generate.png "Generate Client Certificate") | ||
|
||
When generating a certificate, you must complete the following fields: | ||
|
||
1. Name | ||
2. [Security Clearance](../../../server/security/authorization/security-clearance-and-permissions#authorization-security-clearance-and-permissions) level | ||
3. Allowed databases and access level for each database. | ||
* If you choose *User* security clearance, you can give access to specific databases on the server and configure [User](../../../server/security/authorization/security-clearance-and-permissions#user) authorization levels for this certificate. | ||
|
||
{NOTE: } | ||
|
||
This information is used by RavenDB internally and is not stored in the certificate itself. | ||
|
||
{NOTE/} | ||
|
||
{NOTE: } | ||
|
||
Expiration for client certificates is set to 5 years by default. | ||
|
||
{NOTE/} | ||
|
||
{PANEL/} | ||
|
||
{PANEL:Edit Certificate} | ||
|
||
Every certificate in the list can be edited. The editable fields are: | ||
|
||
![Figure 5. Edit Certificate](images/edit.png "Edit Certificate") | ||
|
||
1. Name | ||
2. [Security Clearance](../../../server/security/authorization/security-clearance-and-permissions#authorization-security-clearance-and-permissions) level | ||
3. Allowed databases and access level for each database | ||
* If you choose *User* security clearance, you can give access to specific databases on the server and configure [User](../../../server/security/authorization/security-clearance-and-permissions#user) authorization levels for this certificate. | ||
|
||
{NOTE: } | ||
|
||
This information is used by RavenDB internally and is not stored in the certificate itself. | ||
|
||
{NOTE/} | ||
|
||
{PANEL/} | ||
|
||
## Enabling Communication Between Servers: Importing and Exporting Certificates | ||
|
||
|
||
{PANEL:Upload an Existing Certificate} | ||
|
||
Using this view you can upload existing client certificates. | ||
Uploaded certificates will be added to the list of registered certificates. | ||
|
||
To connect two secure databases, you must | ||
|
||
a. **Export** ([download](../../../server/security/authentication/certificate-management#export-server-certificates)) the `.pfx` certificate from the destination cluster. | ||
b. **Upload** (import) the downloaded certificate into the source server. | ||
|
||
![Figure 4. Upload Existing Certificate](images/upload.png "Upload Existing Certificate") | ||
|
||
When uploading an existing certificate file, you must complete the following fields: | ||
|
||
1. Name | ||
2. [Security Clearance](../../../server/security/authorization/security-clearance-and-permissions#authorization-security-clearance-and-permissions) level | ||
3. Upload the `.pfx` certificate file from the destination server installation folder. | ||
4. Select databases and permission levels | ||
* If you choose *User* security clearance, you can give access to specific databases on the server and configure [User](../../../server/security/authorization/security-clearance-and-permissions#user) authorization levels for this certificate. | ||
|
||
{NOTE: } | ||
|
||
This information is used by RavenDB internally and is not stored in the certificate itself. | ||
|
||
{NOTE/} | ||
|
||
{PANEL/} | ||
|
||
|
||
{PANEL:Export Server Certificates} | ||
|
||
![Figure 6. Export Server Certificates](images/export-server-certificates.png "Export Server Certificates") | ||
|
||
This option allows you to export the server certificate as a .pfx file. In the case of a cluster which contains several different server certificates, a .pfx [collection](../../../server/security/authentication/certificate-management#certificate-collections) will be exported. | ||
|
||
{PANEL/} | ||
|
||
{PANEL:Certificate Collections} | ||
|
||
Pfx files may contain a single certificate or a collection of certificates. | ||
|
||
When uploading a `.pfx` file with multiple certificates, RavenDB will add all of the certificates to the list of registered certificates as one entry and will allow access to all these certificates explicitly by their thumbprint. | ||
|
||
{PANEL/} | ||
|
||
## Related articles | ||
|
||
### Setting Up a Secure Cluster | ||
|
||
- [Secure Setup with a Let's Encrypt Certificate](../../../start/installation/setup-wizard#secure-setup-with-a-let) | ||
- [Secure Setup with Your Own Certificate](../../../start/installation/setup-wizard#secure-setup-with-your-own-certificate) | ||
|
||
### Server | ||
|
||
- [Certificate Management in Studio](../../../server/security/authentication/certificate-management) | ||
- [Security Clearance and Permissions](../../../server/security/authorization/security-clearance-and-permissions) | ||
- [Common Errors and FAQ](../../../server/security/common-errors-and-faq) | ||
- [Manual Certificate Configuration](../../../server/security/authentication/certificate-configuration) | ||
|
||
### Authorization | ||
|
||
- [Security Clearance and Permissions](../../../server/security/authorization/security-clearance-and-permissions) | ||
|
||
### Client API | ||
|
||
- [Setting up Authentication and Authorization](../../../client-api/setting-up-authentication-and-authorization) | ||
- [How to create a client certificate](../../../client-api/operations/server-wide/certificates/create-client-certificate) | ||
- [How to delete a certificate](../../../client-api/operations/server-wide/certificates/delete-certificate) | ||
- [How to generate a client certificate](../../../client-api/operations/server-wide/certificates/create-client-certificate) | ||
- [How to put a client certificate](../../../client-api/operations/server-wide/certificates/put-client-certificate) | ||
|
||
### Security | ||
|
||
- [Overview](../../../server/security/overview) | ||
- [Manual Certificate Configuration](../../../server/security/authentication/certificate-configuration) | ||
- [Client Certificate Usage](../../../server/security/authentication/client-certificate-usage) | ||
- [Certificate Renewal & Rotation](../../../server/security/authentication/certificate-renewal-and-rotation) | ||
- [Encryption](../../../server/security/encryption/encryption-at-rest) | ||
|
||
|