-
Notifications
You must be signed in to change notification settings - Fork 25.7k
Reference DOCS for proxied PKI #45259
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
Reference DOCS for proxied PKI #45259
Conversation
|
Pinging @elastic/es-docs |
|
Pinging @elastic/es-security |
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
| IMPORTANT: You must enable SSL/TLS and enable client authentication to use PKI. | ||
|
|
||
| For more information, see {stack-ov}/pki-realm.html[PKI User Authentication]. | ||
| IMPORTANT: If you only allow PKI authentication for clients connecting directly |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is unclear to me from the placement of the "only" what is prohibited here. Is one of these right?:
If clients must be authenticated by PKI in order to connect directly to {es} ...
If PKI authentication is required only by clients connecting directly to {es}...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Neither 🤦♂
I've rephrased it as:
IMPORTANT: You must enable SSL/TLS and enable client authentication, if you
only allow PKI authentication for clients connecting directly to {es}, but not
through {kib}.
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
|
@bizybot With the exception of the proposed new section for authz in the delegated use case I have made all the changes suggested. I wanted users reading this to remain with the idea that authz is the same in the delegated use case (even though it is possible to distinguish such delegated users) and I feel that a separate section goes against it. Hope this is OK with you. I don't feel strongly about it. |
bizybot
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, Thank you.
x-pack/docs/en/rest-api/security/delegate-pki-authentication.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/rest-api/security/delegate-pki-authentication.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
| NOTE: PKI authentication delegation requires that | ||
| the `xpack.security.authc.token.enabled` setting is `true`. | ||
|
|
||
| NOTE: {kib} also needs to be configured to allow PKI certificate authentication. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When the Kibana docs exist, we should link to them here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@albertzaharovits relevant Kibana docs are live now :) https://www.elastic.co/guide/en/kibana/7.4/kibana-authentication.html#pki-authentication
| "field": { | ||
| "metadata.pki_delegated_by_user": null <1> | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't this example backwards (or am I confused?)
This is saying:
The user has the "role_for_pki1_direct" role if they are authenticated by the "pki1" realm, unless they have a null delegation
That unless should be an and shouldn't it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops, you're right! This is what I've changed it to:
{
"roles" : [ "role_for_pki1_direct" ],
"rules" : {
"all": [
{
"field": {"realm.name": "pki1"}
},
{
"field": {
"metadata.pki_delegated_by_user": null <1>
}
}
]
},
"enabled": true
}
| NOTE: The PKI, LDAP, Kerberos and SAML realms support using | ||
| <<authorization_realms, authorization realms>> as an alternative to role mapping. | ||
|
|
||
| NOTE: Users with no roles assigned will be unauthorized for any action. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True, but... if anonymous is enabled then all users have the anonymous role, so this sentence might confuse someone.
Perhaps, we need another NOTE (though I worry about overwhelming people with so many notes, so maybe just a regular sentence) that if anonymous is enabled, all users receive that role in addition to their mapped roles.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice catch! I did add another note:
NOTE: When {ref}/anonymous-access.html[anonymous access] is enabled the roles
of the anonymous user are mapped to all the other users as well.
This is important IMO.
…sciidoc Co-Authored-By: Tim Vernum <[email protected]>
…sciidoc Co-Authored-By: Tim Vernum <[email protected]>
…sciidoc Co-Authored-By: Tim Vernum <[email protected]>
…sciidoc Co-Authored-By: Tim Vernum <[email protected]>
…sciidoc Co-Authored-By: Tim Vernum <[email protected]>
…sciidoc Co-Authored-By: Tim Vernum <[email protected]>
…sciidoc Co-Authored-By: Tim Vernum <[email protected]>
…sciidoc Co-Authored-By: Tim Vernum <[email protected]>
…sciidoc Co-Authored-By: Tim Vernum <[email protected]>
…sciidoc Co-Authored-By: Tim Vernum <[email protected]>
|
Done addressing your review Tim! Appreciate it 👍 Please take another look. |
tvernum
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, with 1 minor bit to fix up.
x-pack/docs/en/security/authentication/configuring-pki-realm.asciidoc
Outdated
Show resolved
Hide resolved
|
@elasticmachine run elasticsearch-ci/bwc |
|
@elasticmachine run elasticsearch-ci/default-distro |
|
@elasticmachine run elasticsearch-ci/1 |
This commit contains the reference docs (
xpack/docs) for the proxied PKI. Specifically, this contains PKI realm configuration instructions for delegation inx-pack/docs/en/security/authentication/configuring-pki-realm.asciidocand docs for the newly introduced API inx-pack/docs/en/rest-api/security/delegate-pki-authentication.asciidocStack overview docs are in another repo so there will be a follow-up PR. But, I am thinking to add them after Kibana also has a sketch of their docs, so I can link to them from Stack overview.
Relates #34396