-
Couldn't load subscription status.
- Fork 621
TLS settings for gRPC #10653
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
TLS settings for gRPC #10653
Changes from 7 commits
576d4b3
cb1baae
733d35e
7ca74cf
1bb10fa
7fa2d49
b725a05
b205313
3bc4749
d089938
499e216
1e997ec
db84bc0
fbbae0b
498295a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
|
|
@@ -310,6 +310,35 @@ | |||
| { "message": "successfully updated http certs"} | ||||
| ``` | ||||
|
|
||||
| #### Configuring TLS certificates for gRPC | ||||
|
|
||||
| gRPC supports encryption in transit only. Trust stores and certificates configured as root CAs in PEM format are used only for the purpose of TLS client authorization. Role-based access is not available for gRPC endpoints. | ||||
| {: .warning} | ||||
|
|
||||
| You can configure TLSon the optional gRPC transport in `opensearch.yml`. For more information about using gRPC plugin, see [Enabling the plugin]({{site.url}}{{site.baseurl}}/api-reference/grpc-apis/index/#enabling-the-plugin). | ||||
|
Check failure on line 318 in _security/configuration/tls.md
|
||||
natebower marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||
|
|
||||
| ### Pemkey settings (X.509 PEM certificates and PKCS #8 keys) | ||||
|
Check failure on line 320 in _security/configuration/tls.md
|
||||
kolchfa-aws marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||
|
|
||||
finnegancarroll marked this conversation as resolved.
Show resolved
Hide resolved
|
||||
| The following table lists the available gRPC PEM key settings. | ||||
|
|
||||
| Name | Description | ||||
| :--- | :--- | ||||
| `plugins.security.ssl.aux.secure-transport-grpc.enabled` | Whether to enable TLS for gRPC. If enabled, only HTTPS is allowed. Optional. Default is `false`. | ||||
| `plugins.security.ssl.aux.secure-transport-grpc.pemkey_filepath` | The path to the certificate's key file (PKCS #8), specified as a relative path from the `config` directory. The file must reside within the `config` directory. Required. | ||||
| `plugins.security.ssl.aux.secure-transport-grpc.pemkey_password` | The key password. Omit this setting if the key has no password. Optional. | ||||
| `plugins.security.ssl.aux.secure-transport-grpc.pemcert_filepath` | Path to the X.509 node certificate chain (PEM format), which must be under the `config` directory, specified using a relative path. Required. | ||||
finnegancarroll marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||
| `plugins.security.ssl.aux.secure-transport-grpc.pemtrustedcas_filepath` | Path to the root CAs (PEM format), which must be under the `config` directory, specified using a relative path. Required. | ||||
finnegancarroll marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||
|
|
||||
| ### Keystore and trustore | ||||
|
Check failure on line 332 in _security/configuration/tls.md
|
||||
finnegancarroll marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||
|
|
||||
finnegancarroll marked this conversation as resolved.
Show resolved
Hide resolved
|
||||
| Name | Description | ||||
| :--- | :--- | ||||
| `plugins.security.ssl.aux.secure-transport-grpc.enabled` | Whether to enable TLS for gRPC. If enabled, only HTTPS is allowed. Optional. Default is `false`. | ||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I was thinking it makes sense to leave this in for both pem and keystore configurations. Regardless of the method users choose they will need this setting and so it might be confusing if it exists only under one section. Was following REST documentation which lists There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK, let's keep it here. My concern is if something changes, we'd need to update in two places, which is error-prone. We usually prefer to update in only one place. |
||||
| `plugins.security.ssl.aux.secure-transport-grpc.keystore_type` | The type of the keystore file, JKS or PKCS12/PFX. Optional. Default is JKS. | ||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this exactly. how you specify this? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. All three are capitalized as they are acronyms. The grouping is because PKCS12 and PFX are different names for the same file format while JKS is a different format entirely. These settings are the same as existing REST TLS settings so I was following the descriptions/style given there. |
||||
| `plugins.security.ssl.aux.secure-transport-grpc.keystore_filepath` | The path to the keystore file, specified as a relative path from the `config` directory. The file must reside within the `config` directory. Required. | ||||
| `plugins.security.ssl.aux.secure-transport-grpc.keystore_alias` | The alias name of the keystore. Optional. Default is the first alias. | ||||
|
||||
| `plugins.security.ssl.aux.secure-transport-grpc.keystore_password` | The password for the keystore. Default is `changeit`. | ||||
| `plugins.security.ssl.aux.secure-transport-grpc.truststore_type` | The type of the truststore file, JKS or PKCS12/PFX. Default is JKS. | ||||
| `plugins.security.ssl.aux.secure-transport-grpc.truststore_filepath` | The path to the truststore file, , specified as a relative path from the `config` directory. The file must reside within the `config` directory. Required. | ||||
natebower marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||
| `plugins.security.ssl.aux.secure-transport-grpc.truststore_alias` | The alias name of the truststore. Optional. Default is all certificates. | ||||
| `plugins.security.ssl.aux.secure-transport-grpc.truststore_password` | The password for the truststore. Default is `changeit`. | ||||
Uh oh!
There was an error while loading. Please reload this page.