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

Admin and Super Admin (security admin) Documentation Update #7069

Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
db0873d
adding information about the admin and security admin roles
leanneeliatra May 1, 2024
9bb8679
reviewdog fixes
leanneeliatra May 1, 2024
f01e1d0
Merge branch 'main' into 4646-admin-and-super-admin-roles
leanneeliatra May 1, 2024
13df501
Merge branch 'main' into 4646-admin-and-super-admin-roles
leanneeliatra May 7, 2024
20eb2f3
Merge branch 'main' into 4646-admin-and-super-admin-roles
leanneeliatra May 8, 2024
c44a0cf
updating admin priveleges documentation
leanneeliatra May 8, 2024
27f0f78
admin and super admin documentation added and made clearer
leanneeliatra May 15, 2024
a2636c8
Merge branch 'main' into 4646-admin-and-super-admin-roles
leanneeliatra May 15, 2024
70ba22b
review dog signoff
leanneeliatra May 15, 2024
2441b92
removing extra space
leanneeliatra May 15, 2024
ef6c936
Merge branch 'main' into 4646-admin-and-super-admin-roles
leanneeliatra May 16, 2024
c8ae579
added further clarification for superAdmin certs
leanneeliatra May 16, 2024
e19abb2
Merge branch 'main' into 4646-admin-and-super-admin-roles
leanneeliatra May 16, 2024
a5d2bec
Merge branch 'main' into 4646-admin-and-super-admin-roles
leanneeliatra May 17, 2024
aee3563
Merge branch 'main' into 4646-admin-and-super-admin-roles
leanneeliatra May 20, 2024
c5d0514
Merge branch 'main' into 4646-admin-and-super-admin-roles
leanneeliatra May 22, 2024
3af48e6
Apply suggestions from code review
leanneeliatra May 22, 2024
7ecc7cf
reviewdog address
leanneeliatra May 22, 2024
e5f4663
Apply suggestions from code review
leanneeliatra May 24, 2024
720fcb3
calling out super admin where appropriate
leanneeliatra May 24, 2024
4046eaf
capitalise linked reference
leanneeliatra May 28, 2024
295945b
Merge branch 'main' into 4646-admin-and-super-admin-roles
leanneeliatra May 28, 2024
9534b29
Apply suggestions from code review
Naarcha-AWS May 29, 2024
49b37ef
Merge branch 'main' into 4646-admin-and-super-admin-roles
leanneeliatra Jun 4, 2024
def92af
Apply suggestions from code review
Naarcha-AWS Jun 4, 2024
ddcb4a3
Merge branch 'main' into 4646-admin-and-super-admin-roles
leanneeliatra Jun 5, 2024
ac2b376
Apply suggestions from code review
Naarcha-AWS Jun 5, 2024
454ab98
Apply suggestions from code review
Naarcha-AWS Jun 5, 2024
056095d
Apply suggestions from code review
Naarcha-AWS Jun 5, 2024
91dcf94
Merge branch 'main' into 4646-admin-and-super-admin-roles
Naarcha-AWS Jun 5, 2024
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
39 changes: 39 additions & 0 deletions _security/access-control/users-roles.md
Original file line number Diff line number Diff line change
Expand Up @@ -242,3 +242,42 @@
1. Choose the **Mapped users** tab and **Manage mapping**.
1. For **Internal users**, add your bulk access user.
1. Choose **Map**.

## Admin and super admin roles in OpenSearch security
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved

User roles in OpenSearch are essential for controlling access to cluster resources and functionalities. Users can be categorized as regular users, admin users, or super admin users based on their access rights and responsibilities.
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved

For more information about defining a user, see [Defining users](https://opensearch.org/docs/latest/security/access-control/users-roles/#defining-users). For more information about defining roles, see [Defining roles](https://opensearch.org/docs/latest/security/access-control/users-roles/#defining-roles).

Check failure on line 250 in _security/access-control/users-roles.md

View workflow job for this annotation

GitHub Actions / style-job

[vale] reported by reviewdog 🐶 [OpenSearch.Spelling] Error: inin. If you are referencing a setting, variable, format, function, or repository, surround it with tic marks. Raw Output: {"message": "[OpenSearch.Spelling] Error: inin. If you are referencing a setting, variable, format, function, or repository, surround it with tic marks.", "location": {"path": "_security/access-control/users-roles.md", "range": {"start": {"line": 250, "column": 90}}}, "severity": "ERROR"}
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved


### Regular users
Regular users have basic access permissions to interact with the OpenSearch cluster, such as querying data and using dashboards, but they do not have administrative privileges.
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved

### Admin users
Admin users in OpenSearch have elevated permissions allowing them to perform various administrative tasks within the cluster. They have broader access compared to regular users, which includes:
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved
- Managing users and roles
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved
- Configuring permissions
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved
- Adjusting backend settings
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved

Admin users can perform these tasks by configuring settings in the `opensearch.yml` file, using OpenSearch Dashboards, or interacting with the REST API. For more information about configuring users and roles, see [predefined roles](https://opensearch.org/docs/latest/security/access-control/users-roles/#predefined-roles).

### Super admin users
Super admins hold the highest level of administrative authority within the OpenSearch environment. This role is typically reserved for select users and is maintained carefully.
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Collaborator

Choose a reason for hiding this comment

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

"and is maintained carefully" => "and should be carefully managed"?


Super admin users have unrestricted access to all settings and data within the cluster, including the following tasks:
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved
- Modify Security plugin configurations
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved
- Access and manage the security index `.opendistro_security`
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved
- Override any security limitations
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved

#### Authentication of super admin role
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved

Super admins are authenticated through certificates, not passwords. The necessary certificates are defined in the `admin_dn` section of the `opensearch.yml` file and must be signed with the same root CA to verify and connect it to the cluster.
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should this end in a colon? What is being shown in the following example?

```
YAML
plugins.security.authcz.admin_dn:
- CN=kirk,OU=client,O=client,L=test, C=de
```

If the super admin certificate is signed by a different CA, then the admin CA must be concatenated with the node's CA in the file defined in `plugins.security.ssl.http.pemtrustedcas_filepath` in `opensearch.yml`.

For more information, see [Configuring super admin certificates](https://opensearch.org/docs/latest/security/configuration/tls/#configuring-super-admin-certificates).
leanneeliatra marked this conversation as resolved.
Show resolved Hide resolved
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved
7 changes: 4 additions & 3 deletions _security/configuration/tls.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,14 +128,16 @@ If your node certificates have an Object ID (OID) identifier in the SAN section,

## Configuring admin certificates

Admin certificates are regular client certificates that have elevated rights to perform administrative tasks. You need an admin certificate to change the Security plugin configuration using [`plugins/opensearch-security/tools/securityadmin.sh`]({{site.url}}{{site.baseurl}}/security/configuration/security-admin/) or the REST API. Admin certificates are configured in `opensearch.yml` by stating their DN(s):
Super admin certificates are regular client certificates that have elevated rights to perform administrative security and OpenSearch related tasks. You need an admin certificate to change the Security plugin configuration using [`plugins/opensearch-security/tools/securityadmin.sh`]({{site.url}}{{site.baseurl}}/security/configuration/security-admin/) or the REST API. Super admin certificates are configured in `opensearch.yml` by stating their DN(s):
Copy link
Collaborator

Choose a reason for hiding this comment

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

"security and OpenSearch related tasks" is too vague and doesn't work here. Please revise for clarity.

Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved

```yml
plugins.security.authcz.admin_dn:
- CN=admin,OU=SSL,O=Test,L=Test,C=DE
```

For security reasons, you can't use wildcards or regular expressions here.
For security reasons, you cannot use wildcards or regular expressions here.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Please replace "here" with a more precise expression.

Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved

For more information about admin and super admin users, see [Admin and super admin roles in OpenSearch security](https://opensearch.org/docs/latest/security/access-control/users-roles/#admin-and-super-admin-roles-in-opensearch-security) and [Configuring super admin certificates](https://opensearch.org/docs/latest/security/configuration/tls/#configuring-super-admin-certificates).
Naarcha-AWS marked this conversation as resolved.
Show resolved Hide resolved


## (Advanced) OpenSSL
Expand Down Expand Up @@ -237,7 +239,6 @@ plugins.security.ssl.http.enabled_protocols:
- "TLSv1.2"
```


## (Advanced) Disabling client initiated renegotiation for Java 8

Set `-Djdk.tls.rejectClientInitiatedRenegotiation=true` to disable secure client initiated renegotiation, which is enabled by default. This can be set via `OPENSEARCH_JAVA_OPTS` in `config/jvm.options`.
Expand Down
2 changes: 1 addition & 1 deletion _troubleshoot/security-admin.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ Connected as CN=node-0.example.com,OU=SSL,O=Test,L=Test,C=DE
ERR: CN=node-0.example.com,OU=SSL,O=Test,L=Test,C=DE is not an admin user
```

You must use an admin certificate when executing the script. To learn more, see [Configuring admin certificates]({{site.url}}{{site.baseurl}}/security/configuration/tls/#configuring-admin-certificates).
You must use an admin certificate when executing the script. To learn more, see [Configuring super admin certificates](https://opensearch.org/docs/latest/security/configuration/tls/#configuring-admin-certificates).

## Use the diagnose option

Expand Down
Loading