Skip to content

[cleanup][doc] Merge the broker and proxy authentication configuration#18343

Merged
RobertIndie merged 3 commits intoapache:masterfrom
nodece:clean-authentication
Nov 16, 2022
Merged

[cleanup][doc] Merge the broker and proxy authentication configuration#18343
RobertIndie merged 3 commits intoapache:masterfrom
nodece:clean-authentication

Conversation

@nodece
Copy link
Member

@nodece nodece commented Nov 4, 2022

Motivation

Authentication documentation has too many duplicate configurations and some unnecessary configurations.

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

Matching PR in forked repository

PR in forked repository:

Signed-off-by: Zixuan Liu <nodeces@gmail.com>
@github-actions github-actions bot added the doc Your PR contains doc changes, no matter whether the changes are in markdown or code files. label Nov 4, 2022
:::

In the `conf/broker.conf` configuration file in your Pulsar installation, you need to provide the class name of the Athenz authentication provider as well as a comma-separated list of provider domain names.
To configure brokers/proxies to authenticate clients using Authenz, add the following parameters to the `conf/broker.conf` and the `conf/proxy.conf` file. If you use a standalone Pulsar, you need to add these parameters to the `conf/standalone.conf` file, you need to provide the class name of the Athenz authentication provider as well as a comma-separated list of provider domain names.
Copy link
Contributor

Choose a reason for hiding this comment

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

Does provide the class name of the Athenz authentication provider as well as a comma-separated list of provider domain names also apply to broker.conf and proxy.conf? The proposed description seems it only applies to standalone.conf.

Copy link
Member Author

Choose a reason for hiding this comment

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

This can apply to broker/proxy/standalone.

:::note

Starting from 2.11.0, [TLS authentication](security-tls-authentication.md) includes [TLS encryption](security-tls-transport.md) by default. If you configure TLS authentication first, then TLS encryption automatically applies; if you configure TLS encryption first, you can select any one of the above authentication providers.
Starting from 2.11.0, if you can configure [Mutual TLS](security-tls-transport.md) with any one of the above authentication providers.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Starting from 2.11.0, if you can configure [Mutual TLS](security-tls-transport.md) with any one of the above authentication providers.
Starting from 2.11.0, you can configure [Mutual TLS](security-tls-transport.md) with any one of the above authentication providers.

Is this what you mean?

Copy link
Member Author

Choose a reason for hiding this comment

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

Good catch!

:::
**Important:** If your authentication data contains an expiration time, or your authorization provider depends on the authentication data, you must to:

1. Ensure your authentication data of proxies no expiration time, brokers don't support refreshing this authentication data.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
1. Ensure your authentication data of proxies no expiration time, brokers don't support refreshing this authentication data.
1. Ensure your authentication data of proxies has no expiration time since brokers don't support refreshing this authentication data.

Is brokers don't support refreshing this authentication data the reason or something users need to ensure?

Copy link
Member Author

Choose a reason for hiding this comment

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

This is a reason.

When you use proxies between clients and brokers, there are two authentication data, one from proxies, one from clients, brokers only authenticate proxies (known as **self-authentication**) by default. To forward the authentication data from clients to brokers for client authentication (known as **original authentication**).

:::
**Important:** If your authentication data contains an expiration time, or your authorization provider depends on the authentication data, you must to:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
**Important:** If your authentication data contains an expiration time, or your authorization provider depends on the authentication data, you must to:
**Important:** If your authentication data contains an expiration time, or your authorization provider depends on the authentication data, you must:

When you use proxies between clients and brokers, brokers only authenticate proxies (known as **self-authentication**) by default. To forward the authentication data from clients to brokers for client authentication (known as **original authentication**), you need to:
1. Set `forwardAuthorizationCredentials` to `true` in the `conf/proxy.conf` file.
2. Set `authenticateOriginalAuthData` to `true` in the `conf/broker.conf` file, which ensures that brokers recheck the client authentication.
When you use proxies between clients and brokers, there are two authentication data, one from proxies, one from clients, brokers only authenticate proxies (known as **self-authentication**) by default. To forward the authentication data from clients to brokers for client authentication (known as **original authentication**).
Copy link
Contributor

@momo-jun momo-jun Nov 14, 2022

Choose a reason for hiding this comment

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

Suggested change
When you use proxies between clients and brokers, there are two authentication data, one from proxies, one from clients, brokers only authenticate proxies (known as **self-authentication**) by default. To forward the authentication data from clients to brokers for client authentication (known as **original authentication**).
When you use proxies between clients and brokers, there are two authentication data:
* authentication data from proxies that brokers default to authenticate - known as **self-authentication**.
* authentication data from clients that proxies forward to brokers for authenticating - known as **original authentication**.

Is this what you mean?

Copy link
Member Author

Choose a reason for hiding this comment

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

  • authentication data from clients - known as original authentication.

To forward the authentication data from clients to brokers by the proxies (known as original authentication).

Copy link
Contributor

Choose a reason for hiding this comment

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

Updated the suggestion.

Signed-off-by: Zixuan Liu <nodeces@gmail.com>
Co-authored-by: momo-jun <60642177+momo-jun@users.noreply.github.com>
@nodece nodece requested a review from momo-jun November 15, 2022 13:57
Copy link
Contributor

@momo-jun momo-jun left a comment

Choose a reason for hiding this comment

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

LGTM.

@RobertIndie RobertIndie merged commit 23695a9 into apache:master Nov 16, 2022
tisonkun pushed a commit to tisonkun/pulsar that referenced this pull request Jul 12, 2023
This commit sets the locale to en-US in order to avoid ambiguous decimal formattings that
can cause the CPUResourceTest to fail.

This closes apache#18343.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc Your PR contains doc changes, no matter whether the changes are in markdown or code files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants