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

Add client certificate auth page #8105

Closed
wants to merge 7 commits into from
Closed

Add client certificate auth page #8105

wants to merge 7 commits into from

Conversation

Ordinant
Copy link
Member

No description provided.

@Ordinant
Copy link
Member Author

Ordinant commented May 27, 2021

...

certificates for each client. Sites in this category have an existing PKI
infrastructure, possibly including an onsite CA.

This feature is *not* appropriate for sites that would need to generate a set of
Copy link
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 we need to emphasize "not"

Copy link
Member Author

Choose a reason for hiding this comment

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

Again, we're trying to steer users away from this page. Only 1 in 500 sites will need it.

Copy link
Contributor

Choose a reason for hiding this comment

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

In other places we use strongly suggest etc. With bold. I suggest we stick with the bold convention for any emphasis.

Copy link
Member

Choose a reason for hiding this comment

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

I am in favour of leaving as is. "Strongly suggest" just feels too weak..


Trino can be configured to support certified clients seeking validation from a
Trino server. This authentication method is only provided to support sites that
have an absolute requirement for client authentication *and already have* client
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there guidance in the Google Dev TW guide about emphasizing sentences using italics? I'm not sure its necessary: https://developers.google.com/style/text-formatting

Copy link
Member Author

@Ordinant Ordinant May 27, 2021

Choose a reason for hiding this comment

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

It is very necessary to make sure our readers know they must already have client certs, or they're barking up the wrong tree. Now, I'm open to suggestions on how we go about designating that making-sure. Goog allows emphasis to "draw attention to a specific word or phrase," so that appears to fit.

Copy link
Contributor

Choose a reason for hiding this comment

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

If its a blocker then wouldn't a caution/notice of some form be better to draw emphasis? https://developers.google.com/style/notices

Copy link
Member Author

Choose a reason for hiding this comment

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

OK, you've swayed me. I put an Important note in the JWT page to narrow the readership, and so there should be one here. Caution, Notice, and Warning are all too strong -- they won't lose data if they configure cert auth, only time and brain cells.

Copy link
Contributor

Choose a reason for hiding this comment

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

In other places we use strongly suggest etc. With bold. I suggest we stick with the bold convention for any emphasis.

That having been said, I would also feel better about this being a separate callout in a warning if it is indeed that dire.


This feature is *not* appropriate for sites that would need to generate a set of
client certificates in order to use this authentication method. Starburst
recommends instead configuring one of the password-based authentication methods,
Copy link
Contributor

Choose a reason for hiding this comment

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

This sentence reads awkwardly to me, would a list work better since its a grouping of 3 alternatives?

Copy link
Contributor

Choose a reason for hiding this comment

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

+1. Also, it's better to emphasis what they should do rather than give a visual bump to a no-no.

Copy link
Contributor

@rosewms rosewms left a comment

Choose a reason for hiding this comment

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

Overall it looks good to me, I left a few suggestions but none of them are blockers.

Copy link
Member

@mosabua mosabua left a comment

Choose a reason for hiding this comment

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

Do we want to add docs for JDBC driver config for certificate auth as well. I think yes and suggest we add a Certificate authentication section in the CLI and JDBC driver docs and in the cert auth doc link there from a "Client support" section

Certificate authentication
==========================

Trino can be configured to support certified clients seeking validation from a
Copy link
Member

Choose a reason for hiding this comment

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

"certified clients" sounds wrong.

maybe more like (need tweaking)

Trino can be configured to allow clients to authenticate with a certificate that is supplied upon connection

Copy link
Member Author

@Ordinant Ordinant May 27, 2021

Choose a reason for hiding this comment

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

"You can configure Trino to support client-provided certificates validated by the Trino server on initial connection."

==========================

Trino can be configured to support certified clients seeking validation from a
Trino server. This authentication method is only provided to support sites that
Copy link
Member

Choose a reason for hiding this comment

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

replace "sites" with "users"


Trino can be configured to support certified clients seeking validation from a
Trino server. This authentication method is only provided to support sites that
have an absolute requirement for client authentication *and already have* client
Copy link
Member

Choose a reason for hiding this comment

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

requirement for client authentication? certificate authentication would be right here I think

Trino can be configured to support certified clients seeking validation from a
Trino server. This authentication method is only provided to support sites that
have an absolute requirement for client authentication *and already have* client
certificates for each client. Sites in this category have an existing PKI
Copy link
Member

Choose a reason for hiding this comment

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

Sites vs Users

Trino server. This authentication method is only provided to support sites that
have an absolute requirement for client authentication *and already have* client
certificates for each client. Sites in this category have an existing PKI
infrastructure, possibly including an onsite CA.
Copy link
Member

Choose a reason for hiding this comment

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

spell out CA maybe


http-server.authentication.type=CERTIFICATE,PASSWORD

The following configuration properties for ``etc/config.properties`` are also
Copy link
Member

Choose a reason for hiding this comment

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

omit "for etc/config.properties"

Copy link
Member

Choose a reason for hiding this comment

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

and drop "also"

Copy link
Member Author

@Ordinant Ordinant Jun 3, 2021

Choose a reason for hiding this comment

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

I left "also" in unless you object again, because this table is not all properties for cert auth. It does not repeat the auth.type=CERT property above. Thus, the following are also available.

docs/src/main/sphinx/security/cert-auth.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/security/cert-auth.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/security/cert-auth.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/security/cert-auth.rst Outdated Show resolved Hide resolved
infrastructure, possibly including an onsite CA.

This feature is *not* appropriate for sites that would need to generate a set of
client certificates in order to use this authentication method. Starburst
Copy link
Contributor

Choose a reason for hiding this comment

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

This Trino. Not Starburst.

@Ordinant Ordinant marked this pull request as draft May 28, 2021 00:42
@Ordinant Ordinant added the WIP label May 28, 2021
@Ordinant Ordinant removed the WIP label Jun 4, 2021
@Ordinant Ordinant marked this pull request as ready for review June 4, 2021 00:09
Copy link
Member

@mosabua mosabua left a comment

Choose a reason for hiding this comment

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

A bunch of open questions and suggestions added.

docs/src/main/sphinx/installation/cli.rst Show resolved Hide resolved
docs/src/main/sphinx/installation/cli.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/installation/cli.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/installation/cli.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/installation/cli.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/security/certificate.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/security/certificate.rst Show resolved Hide resolved
docs/src/main/sphinx/security/certificate.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/security/certificate.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/security/certificate.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/installation/cli.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/installation/cli.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/installation/cli.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/installation/cli.rst Outdated Show resolved Hide resolved
docs/src/main/sphinx/security/certificate.rst Show resolved Hide resolved
@Ordinant
Copy link
Member Author

One commit was an inadvertent merge, so this PR won't squash cleanly with git rebase. Closing this PR to make a new one with only the most recent changes.

@Ordinant Ordinant closed this Jun 30, 2021
@Ordinant Ordinant deleted the bw/cert-auth branch June 30, 2021 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

6 participants