You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2019/08/29 05:27:49 UTC

[pulsar] branch asf-site updated: Updated site at revision 83365eb

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 93c9ab5  Updated site at revision 83365eb
93c9ab5 is described below

commit 93c9ab5fe9b4a2cf6bae1a02abc5239ed81cf50b
Author: jenkins <bu...@apache.org>
AuthorDate: Thu Aug 29 05:27:41 2019 +0000

    Updated site at revision 83365eb
---
 content/docs/en/next/security-overview.html        | 22 ++++-----
 content/docs/en/next/security-overview/index.html  | 22 ++++-----
 content/docs/fr/next/security-overview.html        | 17 +++----
 content/docs/fr/next/security-overview/index.html  | 17 +++----
 content/docs/ja/next/security-overview.html        | 17 +++----
 content/docs/ja/next/security-overview/index.html  | 17 +++----
 content/docs/zh-CN/next/security-overview.html     | 17 +++----
 .../docs/zh-CN/next/security-overview/index.html   | 17 +++----
 content/en/index.html                              |  2 +-
 content/en/powered-by.html                         |  2 +-
 content/en/powered-by/index.html                   |  2 +-
 content/fr/index.html                              |  2 +-
 content/fr/powered-by.html                         |  2 +-
 content/fr/powered-by/index.html                   |  2 +-
 content/index.html                                 |  2 +-
 content/ja/index.html                              |  2 +-
 content/ja/powered-by.html                         |  2 +-
 content/ja/powered-by/index.html                   |  2 +-
 content/powered-by.html                            |  2 +-
 content/powered-by/index.html                      |  2 +-
 content/swagger/2.5.0-SNAPSHOT/swagger.json        | 36 +++++++-------
 .../swagger/2.5.0-SNAPSHOT/swaggerfunctions.json   | 56 +++++++++++-----------
 content/swagger/swagger.json                       | 36 +++++++-------
 content/swagger/swaggerfunctions.json              | 56 +++++++++++-----------
 content/zh-CN/index.html                           |  2 +-
 content/zh-CN/powered-by.html                      |  2 +-
 content/zh-CN/powered-by/index.html                |  2 +-
 27 files changed, 179 insertions(+), 181 deletions(-)

diff --git a/content/docs/en/next/security-overview.html b/content/docs/en/next/security-overview.html
index 3a4fb93..74402e9 100644
--- a/content/docs/en/next/security-overview.html
+++ b/content/docs/en/next/security-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security features are crucial."/><meta name="docsearch:ver [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling security features in Pulsar is crucial."/><meta name="docsear [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,24 +74,20 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/security-overview.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Pulsar Security Overview</h1></header><article><div><span><p>Apache Pulsar is the central message bus for a business. It is frequently used to store missio [...]
-<p>By default, there is no encryption, authentication, or authorization configured. Any client can communicate to Apache Pulsar via plain text service urls.
-It is critical that access via these plain text service urls is restricted to trusted clients only. Network segmentation and/or authorization ACLs can be used
-to restrict access to trusted IPs in such cases. If neither is used, the cluster is wide open and can be accessed by anyone.</p>
-<p>Pulsar supports a pluggable authentication mechanism that Pulsar clients can use to authenticate with brokers and proxies. Pulsar
-can also be configured to support multiple authentication sources.</p>
-<p>It is strongly recommended to secure the service components in your Apache Pulsar deployment.</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/security-overview.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Pulsar Security Overview</h1></header><article><div><span><p>As the central message bus for a business, Apache Pulsar is frequently used for storing missio [...]
+<p>By default, Pulsar configures no encryption, authentication, or authorization. Any client can communicate to Apache Pulsar via plain text service URLs. So we must ensure that Pulsar accessing via these plain text service URLs is restricted to trusted clients only. In such cases, you can use Network segmentation and/or authorization ACLs to restrict access to trusted IPs. If you use neither, the state of cluster is wide open and anyone can access the cluster.</p>
+<p>Pulsar supports a pluggable authentication mechanism. And Pulsar clients use this mechanism to authenticate with brokers and proxies. You can also configure Pulsar to support multiple authentication sources.</p>
+<p>You'd better secure the service components in your Apache Pulsar deployment.</p>
 <h2><a class="anchor" aria-hidden="true" id="role-tokens"></a><a href="#role-tokens" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, that can represent a single client or multiple clients. Roles are used to control permission for clients
-to produce or consume from certain topics, administer the configuration for tenants, and more.</p>
-<p>Apache Pulsar uses a <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign that client a <em>role token</em>. This
-role token is then used for <a href="/docs/en/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
+<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, which can represent one or more clients. You can use roles to control permission for clients to produce or consume from certain topics, administer the configuration for tenants, and so on.</p>
+<p>Apache Pulsar uses the <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign a <em>role token</em> to that client. This role token is then used for <a href="/docs/en/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
 <h2><a class="anchor" aria-hidden="true" id="authentication-providers"></a><a href="#authentication-providers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
-<p>Currently Pulsar supports two authentication providers:</p>
+<p>Currently Pulsar supports the following authentication providers:</p>
 <ul>
 <li><a href="/docs/en/next/security-tls-authentication">TLS Authentication</a></li>
 <li><a href="/docs/en/next/security-athenz">Athenz</a></li>
 <li><a href="/docs/en/next/security-kerberos">Kerberos</a></li>
+<li>JSON Web Token Authentication</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/en/next/security-overview/index.html b/content/docs/en/next/security-overview/index.html
index 3a4fb93..74402e9 100644
--- a/content/docs/en/next/security-overview/index.html
+++ b/content/docs/en/next/security-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security features are crucial."/><meta name="docsearch:ver [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling security features in Pulsar is crucial."/><meta name="docsear [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,24 +74,20 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/security-overview.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Pulsar Security Overview</h1></header><article><div><span><p>Apache Pulsar is the central message bus for a business. It is frequently used to store missio [...]
-<p>By default, there is no encryption, authentication, or authorization configured. Any client can communicate to Apache Pulsar via plain text service urls.
-It is critical that access via these plain text service urls is restricted to trusted clients only. Network segmentation and/or authorization ACLs can be used
-to restrict access to trusted IPs in such cases. If neither is used, the cluster is wide open and can be accessed by anyone.</p>
-<p>Pulsar supports a pluggable authentication mechanism that Pulsar clients can use to authenticate with brokers and proxies. Pulsar
-can also be configured to support multiple authentication sources.</p>
-<p>It is strongly recommended to secure the service components in your Apache Pulsar deployment.</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/security-overview.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Pulsar Security Overview</h1></header><article><div><span><p>As the central message bus for a business, Apache Pulsar is frequently used for storing missio [...]
+<p>By default, Pulsar configures no encryption, authentication, or authorization. Any client can communicate to Apache Pulsar via plain text service URLs. So we must ensure that Pulsar accessing via these plain text service URLs is restricted to trusted clients only. In such cases, you can use Network segmentation and/or authorization ACLs to restrict access to trusted IPs. If you use neither, the state of cluster is wide open and anyone can access the cluster.</p>
+<p>Pulsar supports a pluggable authentication mechanism. And Pulsar clients use this mechanism to authenticate with brokers and proxies. You can also configure Pulsar to support multiple authentication sources.</p>
+<p>You'd better secure the service components in your Apache Pulsar deployment.</p>
 <h2><a class="anchor" aria-hidden="true" id="role-tokens"></a><a href="#role-tokens" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, that can represent a single client or multiple clients. Roles are used to control permission for clients
-to produce or consume from certain topics, administer the configuration for tenants, and more.</p>
-<p>Apache Pulsar uses a <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign that client a <em>role token</em>. This
-role token is then used for <a href="/docs/en/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
+<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, which can represent one or more clients. You can use roles to control permission for clients to produce or consume from certain topics, administer the configuration for tenants, and so on.</p>
+<p>Apache Pulsar uses the <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign a <em>role token</em> to that client. This role token is then used for <a href="/docs/en/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
 <h2><a class="anchor" aria-hidden="true" id="authentication-providers"></a><a href="#authentication-providers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
-<p>Currently Pulsar supports two authentication providers:</p>
+<p>Currently Pulsar supports the following authentication providers:</p>
 <ul>
 <li><a href="/docs/en/next/security-tls-authentication">TLS Authentication</a></li>
 <li><a href="/docs/en/next/security-athenz">Athenz</a></li>
 <li><a href="/docs/en/next/security-kerberos">Kerberos</a></li>
+<li>JSON Web Token Authentication</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/fr/next/security-overview.html b/content/docs/fr/next/security-overview.html
index 029e6f5..9787ee3 100644
--- a/content/docs/fr/next/security-overview.html
+++ b/content/docs/fr/next/security-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security features are crucial."/><meta name="docsearch:ver [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling security features in Pulsar is crucial."/><meta name="docsear [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,19 +74,20 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Security Overview</h1></header><article><div><span><p>Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabli [...]
-<p>By default, there is no encryption, authentication, or authorization configured. Any client can communicate to Apache Pulsar via plain text service urls. It is critical that access via these plain text service urls is restricted to trusted clients only. Network segmentation and/or authorization ACLs can be used to restrict access to trusted IPs in such cases. If neither is used, the cluster is wide open and can be accessed by anyone.</p>
-<p>Pulsar supports a pluggable authentication mechanism that Pulsar clients can use to authenticate with brokers and proxies. Pulsar can also be configured to support multiple authentication sources.</p>
-<p>It is strongly recommended to secure the service components in your Apache Pulsar deployment.</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Security Overview</h1></header><article><div><span><p>As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling  [...]
+<p>By default, Pulsar configures no encryption, authentication, or authorization. Any client can communicate to Apache Pulsar via plain text service URLs. So we must ensure that Pulsar accessing via these plain text service URLs is restricted to trusted clients only. In such cases, you can use Network segmentation and/or authorization ACLs to restrict access to trusted IPs. If you use neither, the state of cluster is wide open and anyone can access the cluster.</p>
+<p>Pulsar supports a pluggable authentication mechanism. And Pulsar clients use this mechanism to authenticate with brokers and proxies. You can also configure Pulsar to support multiple authentication sources.</p>
+<p>You'd better secure the service components in your Apache Pulsar deployment.</p>
 <h2><a class="anchor" aria-hidden="true" id="role-tokens"></a><a href="#role-tokens" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, that can represent a single client or multiple clients. Roles are used to control permission for clients to produce or consume from certain topics, administer the configuration for tenants, and more.</p>
-<p>Apache Pulsar uses a <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign that client a <em>role token</em>. This role token is then used for <a href="/docs/fr/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
+<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, which can represent one or more clients. You can use roles to control permission for clients to produce or consume from certain topics, administer the configuration for tenants, and so on.</p>
+<p>Apache Pulsar uses the <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign a <em>role token</em> to that client. This role token is then used for <a href="/docs/fr/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
 <h2><a class="anchor" aria-hidden="true" id="authentication-providers"></a><a href="#authentication-providers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
-<p>Currently Pulsar supports two authentication providers:</p>
+<p>Currently Pulsar supports the following authentication providers:</p>
 <ul>
 <li><a href="/docs/fr/next/security-tls-authentication">TLS Authentication</a></li>
 <li><a href="/docs/fr/next/security-athenz">Athenz</a></li>
 <li><a href="/docs/fr/next/security-kerberos">Kerberos</a></li>
+<li>JSON Web Token Authentication</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/fr/next/security-overview/index.html b/content/docs/fr/next/security-overview/index.html
index 029e6f5..9787ee3 100644
--- a/content/docs/fr/next/security-overview/index.html
+++ b/content/docs/fr/next/security-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security features are crucial."/><meta name="docsearch:ver [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling security features in Pulsar is crucial."/><meta name="docsear [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,19 +74,20 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Security Overview</h1></header><article><div><span><p>Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabli [...]
-<p>By default, there is no encryption, authentication, or authorization configured. Any client can communicate to Apache Pulsar via plain text service urls. It is critical that access via these plain text service urls is restricted to trusted clients only. Network segmentation and/or authorization ACLs can be used to restrict access to trusted IPs in such cases. If neither is used, the cluster is wide open and can be accessed by anyone.</p>
-<p>Pulsar supports a pluggable authentication mechanism that Pulsar clients can use to authenticate with brokers and proxies. Pulsar can also be configured to support multiple authentication sources.</p>
-<p>It is strongly recommended to secure the service components in your Apache Pulsar deployment.</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Security Overview</h1></header><article><div><span><p>As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling  [...]
+<p>By default, Pulsar configures no encryption, authentication, or authorization. Any client can communicate to Apache Pulsar via plain text service URLs. So we must ensure that Pulsar accessing via these plain text service URLs is restricted to trusted clients only. In such cases, you can use Network segmentation and/or authorization ACLs to restrict access to trusted IPs. If you use neither, the state of cluster is wide open and anyone can access the cluster.</p>
+<p>Pulsar supports a pluggable authentication mechanism. And Pulsar clients use this mechanism to authenticate with brokers and proxies. You can also configure Pulsar to support multiple authentication sources.</p>
+<p>You'd better secure the service components in your Apache Pulsar deployment.</p>
 <h2><a class="anchor" aria-hidden="true" id="role-tokens"></a><a href="#role-tokens" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, that can represent a single client or multiple clients. Roles are used to control permission for clients to produce or consume from certain topics, administer the configuration for tenants, and more.</p>
-<p>Apache Pulsar uses a <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign that client a <em>role token</em>. This role token is then used for <a href="/docs/fr/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
+<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, which can represent one or more clients. You can use roles to control permission for clients to produce or consume from certain topics, administer the configuration for tenants, and so on.</p>
+<p>Apache Pulsar uses the <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign a <em>role token</em> to that client. This role token is then used for <a href="/docs/fr/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
 <h2><a class="anchor" aria-hidden="true" id="authentication-providers"></a><a href="#authentication-providers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
-<p>Currently Pulsar supports two authentication providers:</p>
+<p>Currently Pulsar supports the following authentication providers:</p>
 <ul>
 <li><a href="/docs/fr/next/security-tls-authentication">TLS Authentication</a></li>
 <li><a href="/docs/fr/next/security-athenz">Athenz</a></li>
 <li><a href="/docs/fr/next/security-kerberos">Kerberos</a></li>
+<li>JSON Web Token Authentication</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/ja/next/security-overview.html b/content/docs/ja/next/security-overview.html
index 66a4795..730ac6f 100644
--- a/content/docs/ja/next/security-overview.html
+++ b/content/docs/ja/next/security-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security features are crucial."/><meta name="docsearch:ver [...]
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling security features in Pulsar is crucial."/><meta name="docsear [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,19 +74,20 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Security Overview</h1></header><article><div><span><p>Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabli [...]
-<p>デフォルトでは暗号化、認証、認可のいずれも設定されていません。 Any client can communicate to Apache Pulsar via plain text service urls. It is critical that access via these plain text service urls is restricted to trusted clients only. Network segmentation and/or authorization ACLs can be used to restrict access to trusted IPs in such cases. If neither is used, the cluster is wide open and can be accessed by anyone.</p>
-<p>Pulsar supports a pluggable authentication mechanism that Pulsar clients can use to authenticate with brokers and proxies. Pulsar can also be configured to support multiple authentication sources.</p>
-<p>It is strongly recommended to secure the service components in your Apache Pulsar deployment.</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Security Overview</h1></header><article><div><span><p>As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling  [...]
+<p>By default, Pulsar configures no encryption, authentication, or authorization. Any client can communicate to Apache Pulsar via plain text service URLs. So we must ensure that Pulsar accessing via these plain text service URLs is restricted to trusted clients only. In such cases, you can use Network segmentation and/or authorization ACLs to restrict access to trusted IPs. If you use neither, the state of cluster is wide open and anyone can access the cluster.</p>
+<p>Pulsar supports a pluggable authentication mechanism. And Pulsar clients use this mechanism to authenticate with brokers and proxies. You can also configure Pulsar to support multiple authentication sources.</p>
+<p>You'd better secure the service components in your Apache Pulsar deployment.</p>
 <h2><a class="anchor" aria-hidden="true" id="ロールトークン"></a><a href="#ロールトークン" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>Pulsar において、<em>ロール</em>は <code>admin</code> や <code>app1</code> といった文字列であり、単一または複数のクライアントを表現するものです。 ロールはクライアントが特定のトピックに対してプロデュースまたはコンシュームする権限の管理やテナントに対する設定の管理などに使用されます。</p>
-<p>Apache Pulsar は<a href="#authentication-providers">認証プロバイダ</a>を使用してクライアントを識別しそのクライアントに<em>ロールトークン</em>を割り当てます。 このロールトークンはそのクライアントが何を行うことを許可されているかを確認するための<a href="/docs/ja/next/security-authorization">認可とACL</a>のために使用されます。</p>
+<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, which can represent one or more clients. You can use roles to control permission for clients to produce or consume from certain topics, administer the configuration for tenants, and so on.</p>
+<p>Apache Pulsar uses the <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign a <em>role token</em> to that client. This role token is then used for <a href="/docs/ja/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
 <h2><a class="anchor" aria-hidden="true" id="認証プロバイダ"></a><a href="#認証プロバイダ" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>Currently Pulsar supports two authentication providers:</p>
+<p>Currently Pulsar supports the following authentication providers:</p>
 <ul>
 <li><a href="/docs/ja/next/security-tls-authentication">TLS 認証</a></li>
 <li><a href="/docs/ja/next/security-athenz">Athenz</a></li>
 <li><a href="/docs/ja/next/security-kerberos">Kerberos</a></li>
+<li>JSON Web Token Authentication</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/ja/next/security-overview/index.html b/content/docs/ja/next/security-overview/index.html
index 66a4795..730ac6f 100644
--- a/content/docs/ja/next/security-overview/index.html
+++ b/content/docs/ja/next/security-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security features are crucial."/><meta name="docsearch:ver [...]
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling security features in Pulsar is crucial."/><meta name="docsear [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,19 +74,20 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Security Overview</h1></header><article><div><span><p>Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabli [...]
-<p>デフォルトでは暗号化、認証、認可のいずれも設定されていません。 Any client can communicate to Apache Pulsar via plain text service urls. It is critical that access via these plain text service urls is restricted to trusted clients only. Network segmentation and/or authorization ACLs can be used to restrict access to trusted IPs in such cases. If neither is used, the cluster is wide open and can be accessed by anyone.</p>
-<p>Pulsar supports a pluggable authentication mechanism that Pulsar clients can use to authenticate with brokers and proxies. Pulsar can also be configured to support multiple authentication sources.</p>
-<p>It is strongly recommended to secure the service components in your Apache Pulsar deployment.</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar Security Overview</h1></header><article><div><span><p>As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling  [...]
+<p>By default, Pulsar configures no encryption, authentication, or authorization. Any client can communicate to Apache Pulsar via plain text service URLs. So we must ensure that Pulsar accessing via these plain text service URLs is restricted to trusted clients only. In such cases, you can use Network segmentation and/or authorization ACLs to restrict access to trusted IPs. If you use neither, the state of cluster is wide open and anyone can access the cluster.</p>
+<p>Pulsar supports a pluggable authentication mechanism. And Pulsar clients use this mechanism to authenticate with brokers and proxies. You can also configure Pulsar to support multiple authentication sources.</p>
+<p>You'd better secure the service components in your Apache Pulsar deployment.</p>
 <h2><a class="anchor" aria-hidden="true" id="ロールトークン"></a><a href="#ロールトークン" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>Pulsar において、<em>ロール</em>は <code>admin</code> や <code>app1</code> といった文字列であり、単一または複数のクライアントを表現するものです。 ロールはクライアントが特定のトピックに対してプロデュースまたはコンシュームする権限の管理やテナントに対する設定の管理などに使用されます。</p>
-<p>Apache Pulsar は<a href="#authentication-providers">認証プロバイダ</a>を使用してクライアントを識別しそのクライアントに<em>ロールトークン</em>を割り当てます。 このロールトークンはそのクライアントが何を行うことを許可されているかを確認するための<a href="/docs/ja/next/security-authorization">認可とACL</a>のために使用されます。</p>
+<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, which can represent one or more clients. You can use roles to control permission for clients to produce or consume from certain topics, administer the configuration for tenants, and so on.</p>
+<p>Apache Pulsar uses the <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign a <em>role token</em> to that client. This role token is then used for <a href="/docs/ja/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
 <h2><a class="anchor" aria-hidden="true" id="認証プロバイダ"></a><a href="#認証プロバイダ" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>Currently Pulsar supports two authentication providers:</p>
+<p>Currently Pulsar supports the following authentication providers:</p>
 <ul>
 <li><a href="/docs/ja/next/security-tls-authentication">TLS 認証</a></li>
 <li><a href="/docs/ja/next/security-athenz">Athenz</a></li>
 <li><a href="/docs/ja/next/security-kerberos">Kerberos</a></li>
+<li>JSON Web Token Authentication</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/zh-CN/next/security-overview.html b/content/docs/zh-CN/next/security-overview.html
index d3d908e..8758d64 100644
--- a/content/docs/zh-CN/next/security-overview.html
+++ b/content/docs/zh-CN/next/security-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar安全概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security features are crucial."/><meta name="docsearch:version" conte [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar安全概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling security features in Pulsar is crucial."/><meta name="docsearch:version" [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,19 +74,20 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar安全概述</h1></header><article><div><span><p>Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security [...]
-<p>By default, there is no encryption, authentication, or authorization configured. Any client can communicate to Apache Pulsar via plain text service urls. It is critical that access via these plain text service urls is restricted to trusted clients only. Network segmentation and/or authorization ACLs can be used to restrict access to trusted IPs in such cases. If neither is used, the cluster is wide open and can be accessed by anyone.</p>
-<p>Pulsar supports a pluggable authentication mechanism that Pulsar clients can use to authenticate with brokers and proxies. Pulsar can also be configured to support multiple authentication sources.</p>
-<p>It is strongly recommended to secure the service components in your Apache Pulsar deployment.</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar安全概述</h1></header><article><div><span><p>As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling security fe [...]
+<p>By default, Pulsar configures no encryption, authentication, or authorization. Any client can communicate to Apache Pulsar via plain text service URLs. So we must ensure that Pulsar accessing via these plain text service URLs is restricted to trusted clients only. In such cases, you can use Network segmentation and/or authorization ACLs to restrict access to trusted IPs. If you use neither, the state of cluster is wide open and anyone can access the cluster.</p>
+<p>Pulsar supports a pluggable authentication mechanism. And Pulsar clients use this mechanism to authenticate with brokers and proxies. You can also configure Pulsar to support multiple authentication sources.</p>
+<p>You'd better secure the service components in your Apache Pulsar deployment.</p>
 <h2><a class="anchor" aria-hidden="true" id="role-tokens"></a><a href="#role-tokens" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, that can represent a single client or multiple clients. Roles are used to control permission for clients to produce or consume from certain topics, administer the configuration for tenants, and more.</p>
-<p>Apache Pulsar uses a <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign that client a <em>role token</em>. This role token is then used for <a href="/docs/zh-CN/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
+<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, which can represent one or more clients. You can use roles to control permission for clients to produce or consume from certain topics, administer the configuration for tenants, and so on.</p>
+<p>Apache Pulsar uses the <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign a <em>role token</em> to that client. This role token is then used for <a href="/docs/zh-CN/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
 <h2><a class="anchor" aria-hidden="true" id="authentication-providers"></a><a href="#authentication-providers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
-<p>Currently Pulsar supports two authentication providers:</p>
+<p>Currently Pulsar supports the following authentication providers:</p>
 <ul>
 <li><a href="/docs/zh-CN/next/security-tls-authentication">TLS Authentication</a></li>
 <li><a href="/docs/zh-CN/next/security-athenz">Athenz</a></li>
 <li><a href="/docs/zh-CN/next/security-kerberos">Kerberos</a></li>
+<li>JSON Web Token Authentication</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/zh-CN/next/security-overview/index.html b/content/docs/zh-CN/next/security-overview/index.html
index d3d908e..8758d64 100644
--- a/content/docs/zh-CN/next/security-overview/index.html
+++ b/content/docs/zh-CN/next/security-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar安全概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security features are crucial."/><meta name="docsearch:version" conte [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar安全概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling security features in Pulsar is crucial."/><meta name="docsearch:version" [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,19 +74,20 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar安全概述</h1></header><article><div><span><p>Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security [...]
-<p>By default, there is no encryption, authentication, or authorization configured. Any client can communicate to Apache Pulsar via plain text service urls. It is critical that access via these plain text service urls is restricted to trusted clients only. Network segmentation and/or authorization ACLs can be used to restrict access to trusted IPs in such cases. If neither is used, the cluster is wide open and can be accessed by anyone.</p>
-<p>Pulsar supports a pluggable authentication mechanism that Pulsar clients can use to authenticate with brokers and proxies. Pulsar can also be configured to support multiple authentication sources.</p>
-<p>It is strongly recommended to secure the service components in your Apache Pulsar deployment.</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Pulsar安全概述</h1></header><article><div><span><p>As the central message bus for a business, Apache Pulsar is frequently used for storing mission-critical data. Therefore, enabling security fe [...]
+<p>By default, Pulsar configures no encryption, authentication, or authorization. Any client can communicate to Apache Pulsar via plain text service URLs. So we must ensure that Pulsar accessing via these plain text service URLs is restricted to trusted clients only. In such cases, you can use Network segmentation and/or authorization ACLs to restrict access to trusted IPs. If you use neither, the state of cluster is wide open and anyone can access the cluster.</p>
+<p>Pulsar supports a pluggable authentication mechanism. And Pulsar clients use this mechanism to authenticate with brokers and proxies. You can also configure Pulsar to support multiple authentication sources.</p>
+<p>You'd better secure the service components in your Apache Pulsar deployment.</p>
 <h2><a class="anchor" aria-hidden="true" id="role-tokens"></a><a href="#role-tokens" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, that can represent a single client or multiple clients. Roles are used to control permission for clients to produce or consume from certain topics, administer the configuration for tenants, and more.</p>
-<p>Apache Pulsar uses a <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign that client a <em>role token</em>. This role token is then used for <a href="/docs/zh-CN/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
+<p>In Pulsar, a <em>role</em> is a string, like <code>admin</code> or <code>app1</code>, which can represent one or more clients. You can use roles to control permission for clients to produce or consume from certain topics, administer the configuration for tenants, and so on.</p>
+<p>Apache Pulsar uses the <a href="#authentication-providers">Authentication Provider</a> to establish the identity of a client and then assign a <em>role token</em> to that client. This role token is then used for <a href="/docs/zh-CN/next/security-authorization">Authorization and ACLs</a> to determine what the client is authorized to do.</p>
 <h2><a class="anchor" aria-hidden="true" id="authentication-providers"></a><a href="#authentication-providers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
-<p>Currently Pulsar supports two authentication providers:</p>
+<p>Currently Pulsar supports the following authentication providers:</p>
 <ul>
 <li><a href="/docs/zh-CN/next/security-tls-authentication">TLS Authentication</a></li>
 <li><a href="/docs/zh-CN/next/security-athenz">Athenz</a></li>
 <li><a href="/docs/zh-CN/next/security-kerberos">Kerberos</a></li>
+<li>JSON Web Token Authentication</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <ul>
diff --git a/content/en/index.html b/content/en/index.html
index 61da341..a33a198 100644
--- a/content/en/index.html
+++ b/content/en/index.html
@@ -39,7 +39,7 @@
 </span></div></h2><div><span><p>Flexible messaging models with high-level APIs for Java, C++, Python and GO</p>
 </span></div></div></div><div class="blockElement alignCenter threeByGridBlock"><div class="blockContent"><h2><div><span><p><a href="/docs/en/admin-api-overview">Operability</a></p>
 </span></div></h2><div><span><p>REST Admin API for provisioning, administration, tools and monitoring. Deploy on bare metal or Kubernetes.</p>
-</span></div></div></div></div></div></div><div class="container"><div class="wrapper"><div class="Block" style="text-align:center"><p>Apache Pulsar is available under the <a href="https://www.apache.org/licenses">Apache License, version 2.0</a>.</p></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apac [...]
+</span></div></div></div></div></div></div><div class="container paddingBottom" id="users"><div class="wrapper"><p align="center"><small style="color:black;font-size:1.7rem">Used by companies such as</small></p><div class="logo-wrapper"><div class="logo-box"><a href="https://www.verizonmedia.com/" title="Verizon Media" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Verizon_Media_2019_logo.svg/1200px-Verizon_Media_2019_logo.svg.png" alt="Verizon Media" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/en/powered-by.html b/content/en/powered-by.html
index 2e2e0aa..df8de13 100644
--- a/content/en/powered-by.html
+++ b/content/en/powered-by.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/en/powered-by/index.html b/content/en/powered-by/index.html
index 2e2e0aa..df8de13 100644
--- a/content/en/powered-by/index.html
+++ b/content/en/powered-by/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/fr/index.html b/content/fr/index.html
index ebfcd02..0ce687c 100644
--- a/content/fr/index.html
+++ b/content/fr/index.html
@@ -39,7 +39,7 @@
 </span></div></h2><div><span><p>Flexible messaging models with high-level APIs for Java, C++, Python and GO</p>
 </span></div></div></div><div class="blockElement alignCenter threeByGridBlock"><div class="blockContent"><h2><div><span><p><a href="/docs/fr/admin-api-overview">Operability</a></p>
 </span></div></h2><div><span><p>REST Admin API for provisioning, administration, tools and monitoring. Deploy on bare metal or Kubernetes.</p>
-</span></div></div></div></div></div></div><div class="container"><div class="wrapper"><div class="Block" style="text-align:center"><p>Apache Pulsar is available under the <a href="https://www.apache.org/licenses">Apache License, version 2.0</a>.</p></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apac [...]
+</span></div></div></div></div></div></div><div class="container paddingBottom" id="users"><div class="wrapper"><p align="center"><small style="color:black;font-size:1.7rem">Used by companies such as</small></p><div class="logo-wrapper"><div class="logo-box"><a href="https://www.verizonmedia.com/" title="Verizon Media" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Verizon_Media_2019_logo.svg/1200px-Verizon_Media_2019_logo.svg.png" alt="Verizon Media" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/fr/powered-by.html b/content/fr/powered-by.html
index d995bef..64d99ab 100644
--- a/content/fr/powered-by.html
+++ b/content/fr/powered-by.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/fr/powered-by/index.html b/content/fr/powered-by/index.html
index d995bef..64d99ab 100644
--- a/content/fr/powered-by/index.html
+++ b/content/fr/powered-by/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/index.html b/content/index.html
index 61da341..a33a198 100644
--- a/content/index.html
+++ b/content/index.html
@@ -39,7 +39,7 @@
 </span></div></h2><div><span><p>Flexible messaging models with high-level APIs for Java, C++, Python and GO</p>
 </span></div></div></div><div class="blockElement alignCenter threeByGridBlock"><div class="blockContent"><h2><div><span><p><a href="/docs/en/admin-api-overview">Operability</a></p>
 </span></div></h2><div><span><p>REST Admin API for provisioning, administration, tools and monitoring. Deploy on bare metal or Kubernetes.</p>
-</span></div></div></div></div></div></div><div class="container"><div class="wrapper"><div class="Block" style="text-align:center"><p>Apache Pulsar is available under the <a href="https://www.apache.org/licenses">Apache License, version 2.0</a>.</p></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apac [...]
+</span></div></div></div></div></div></div><div class="container paddingBottom" id="users"><div class="wrapper"><p align="center"><small style="color:black;font-size:1.7rem">Used by companies such as</small></p><div class="logo-wrapper"><div class="logo-box"><a href="https://www.verizonmedia.com/" title="Verizon Media" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Verizon_Media_2019_logo.svg/1200px-Verizon_Media_2019_logo.svg.png" alt="Verizon Media" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/ja/index.html b/content/ja/index.html
index 1f43fae..56e6840 100644
--- a/content/ja/index.html
+++ b/content/ja/index.html
@@ -39,7 +39,7 @@
 </span></div></h2><div><span><p>Flexible messaging models with high-level APIs for Java, C++, Python and GO</p>
 </span></div></div></div><div class="blockElement alignCenter threeByGridBlock"><div class="blockContent"><h2><div><span><p><a href="/docs/ja/admin-api-overview">Operability</a></p>
 </span></div></h2><div><span><p>REST Admin API for provisioning, administration, tools and monitoring. Deploy on bare metal or Kubernetes.</p>
-</span></div></div></div></div></div></div><div class="container"><div class="wrapper"><div class="Block" style="text-align:center"><p>Apache Pulsar is available under the <a href="https://www.apache.org/licenses">Apache License, version 2.0</a>.</p></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apac [...]
+</span></div></div></div></div></div></div><div class="container paddingBottom" id="users"><div class="wrapper"><p align="center"><small style="color:black;font-size:1.7rem">Used by companies such as</small></p><div class="logo-wrapper"><div class="logo-box"><a href="https://www.verizonmedia.com/" title="Verizon Media" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Verizon_Media_2019_logo.svg/1200px-Verizon_Media_2019_logo.svg.png" alt="Verizon Media" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/ja/powered-by.html b/content/ja/powered-by.html
index b9a7229..feea5b9 100644
--- a/content/ja/powered-by.html
+++ b/content/ja/powered-by.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/ja/powered-by/index.html b/content/ja/powered-by/index.html
index b9a7229..feea5b9 100644
--- a/content/ja/powered-by/index.html
+++ b/content/ja/powered-by/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/powered-by.html b/content/powered-by.html
index 2e2e0aa..df8de13 100644
--- a/content/powered-by.html
+++ b/content/powered-by.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/powered-by/index.html b/content/powered-by/index.html
index 2e2e0aa..df8de13 100644
--- a/content/powered-by/index.html
+++ b/content/powered-by/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/swagger/2.5.0-SNAPSHOT/swagger.json b/content/swagger/2.5.0-SNAPSHOT/swagger.json
index 37a70e4..12be436 100644
--- a/content/swagger/2.5.0-SNAPSHOT/swagger.json
+++ b/content/swagger/2.5.0-SNAPSHOT/swagger.json
@@ -8866,18 +8866,11 @@
           "type" : "number",
           "format" : "double"
         },
-        "bandwidthOut" : {
+        "cpu" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "lastUpdate" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "underLoaded" : {
-          "type" : "boolean"
-        },
-        "overLoaded" : {
-          "type" : "boolean"
+        "memory" : {
+          "$ref" : "#/definitions/ResourceUsage"
         },
         "directMemory" : {
           "$ref" : "#/definitions/ResourceUsage"
@@ -8885,22 +8878,29 @@
         "bandwidthIn" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "loadReportType" : {
-          "type" : "string"
-        },
-        "cpu" : {
+        "bandwidthOut" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "memory" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "lastUpdate" : {
+          "type" : "integer",
+          "format" : "int64"
         },
-        "msgThroughputOut" : {
+        "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
         },
-        "msgThroughputIn" : {
+        "msgThroughputOut" : {
           "type" : "number",
           "format" : "double"
+        },
+        "underLoaded" : {
+          "type" : "boolean"
+        },
+        "overLoaded" : {
+          "type" : "boolean"
+        },
+        "loadReportType" : {
+          "type" : "string"
         }
       }
     },
diff --git a/content/swagger/2.5.0-SNAPSHOT/swaggerfunctions.json b/content/swagger/2.5.0-SNAPSHOT/swaggerfunctions.json
index 8f30414..782098a 100644
--- a/content/swagger/2.5.0-SNAPSHOT/swaggerfunctions.json
+++ b/content/swagger/2.5.0-SNAPSHOT/swaggerfunctions.json
@@ -1348,34 +1348,6 @@
     "Message" : {
       "type" : "object",
       "properties" : {
-        "redeliveryCount" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "sequenceId" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "orderingKey" : {
-          "type" : "array",
-          "items" : {
-            "type" : "string",
-            "format" : "byte"
-          }
-        },
-        "encryptionCtx" : {
-          "$ref" : "#/definitions/EncryptionContext"
-        },
-        "messageId" : {
-          "$ref" : "#/definitions/MessageId"
-        },
-        "schemaVersion" : {
-          "type" : "array",
-          "items" : {
-            "type" : "string",
-            "format" : "byte"
-          }
-        },
         "replicated" : {
           "type" : "boolean"
         },
@@ -1396,6 +1368,13 @@
         "producerName" : {
           "type" : "string"
         },
+        "messageId" : {
+          "$ref" : "#/definitions/MessageId"
+        },
+        "sequenceId" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
         "keyBytes" : {
           "type" : "array",
           "items" : {
@@ -1403,6 +1382,27 @@
             "format" : "byte"
           }
         },
+        "orderingKey" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string",
+            "format" : "byte"
+          }
+        },
+        "encryptionCtx" : {
+          "$ref" : "#/definitions/EncryptionContext"
+        },
+        "redeliveryCount" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "schemaVersion" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string",
+            "format" : "byte"
+          }
+        },
         "data" : {
           "type" : "array",
           "items" : {
diff --git a/content/swagger/swagger.json b/content/swagger/swagger.json
index 37a70e4..12be436 100644
--- a/content/swagger/swagger.json
+++ b/content/swagger/swagger.json
@@ -8866,18 +8866,11 @@
           "type" : "number",
           "format" : "double"
         },
-        "bandwidthOut" : {
+        "cpu" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "lastUpdate" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "underLoaded" : {
-          "type" : "boolean"
-        },
-        "overLoaded" : {
-          "type" : "boolean"
+        "memory" : {
+          "$ref" : "#/definitions/ResourceUsage"
         },
         "directMemory" : {
           "$ref" : "#/definitions/ResourceUsage"
@@ -8885,22 +8878,29 @@
         "bandwidthIn" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "loadReportType" : {
-          "type" : "string"
-        },
-        "cpu" : {
+        "bandwidthOut" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "memory" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "lastUpdate" : {
+          "type" : "integer",
+          "format" : "int64"
         },
-        "msgThroughputOut" : {
+        "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
         },
-        "msgThroughputIn" : {
+        "msgThroughputOut" : {
           "type" : "number",
           "format" : "double"
+        },
+        "underLoaded" : {
+          "type" : "boolean"
+        },
+        "overLoaded" : {
+          "type" : "boolean"
+        },
+        "loadReportType" : {
+          "type" : "string"
         }
       }
     },
diff --git a/content/swagger/swaggerfunctions.json b/content/swagger/swaggerfunctions.json
index 8f30414..782098a 100644
--- a/content/swagger/swaggerfunctions.json
+++ b/content/swagger/swaggerfunctions.json
@@ -1348,34 +1348,6 @@
     "Message" : {
       "type" : "object",
       "properties" : {
-        "redeliveryCount" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "sequenceId" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "orderingKey" : {
-          "type" : "array",
-          "items" : {
-            "type" : "string",
-            "format" : "byte"
-          }
-        },
-        "encryptionCtx" : {
-          "$ref" : "#/definitions/EncryptionContext"
-        },
-        "messageId" : {
-          "$ref" : "#/definitions/MessageId"
-        },
-        "schemaVersion" : {
-          "type" : "array",
-          "items" : {
-            "type" : "string",
-            "format" : "byte"
-          }
-        },
         "replicated" : {
           "type" : "boolean"
         },
@@ -1396,6 +1368,13 @@
         "producerName" : {
           "type" : "string"
         },
+        "messageId" : {
+          "$ref" : "#/definitions/MessageId"
+        },
+        "sequenceId" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
         "keyBytes" : {
           "type" : "array",
           "items" : {
@@ -1403,6 +1382,27 @@
             "format" : "byte"
           }
         },
+        "orderingKey" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string",
+            "format" : "byte"
+          }
+        },
+        "encryptionCtx" : {
+          "$ref" : "#/definitions/EncryptionContext"
+        },
+        "redeliveryCount" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "schemaVersion" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string",
+            "format" : "byte"
+          }
+        },
         "data" : {
           "type" : "array",
           "items" : {
diff --git a/content/zh-CN/index.html b/content/zh-CN/index.html
index a1f6550..3a91b94 100644
--- a/content/zh-CN/index.html
+++ b/content/zh-CN/index.html
@@ -39,7 +39,7 @@
 </span></div></h2><div><span><p>Flexible messaging models with high-level APIs for Java, C++, Python and GO</p>
 </span></div></div></div><div class="blockElement alignCenter threeByGridBlock"><div class="blockContent"><h2><div><span><p><a href="/docs/zh-CN/admin-api-overview">Operability</a></p>
 </span></div></h2><div><span><p>REST Admin API for provisioning, administration, tools and monitoring. Deploy on bare metal or Kubernetes.</p>
-</span></div></div></div></div></div></div><div class="container"><div class="wrapper"><div class="Block" style="text-align:center"><p>Apache Pulsar is available under the <a href="https://www.apache.org/licenses">Apache License, version 2.0</a>.</p></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apac [...]
+</span></div></div></div></div></div></div><div class="container paddingBottom" id="users"><div class="wrapper"><p align="center"><small style="color:black;font-size:1.7rem">Used by companies such as</small></p><div class="logo-wrapper"><div class="logo-box"><a href="https://www.verizonmedia.com/" title="Verizon Media" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Verizon_Media_2019_logo.svg/1200px-Verizon_Media_2019_logo.svg.png" alt="Verizon Media" [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/zh-CN/powered-by.html b/content/zh-CN/powered-by.html
index bcc96ef..5cec1b6 100644
--- a/content/zh-CN/powered-by.html
+++ b/content/zh-CN/powered-by.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/zh-CN/powered-by/index.html b/content/zh-CN/powered-by/index.html
index bcc96ef..5cec1b6 100644
--- a/content/zh-CN/powered-by/index.html
+++ b/content/zh-CN/powered-by/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer documentContainer postContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1>Companies using or contributing to Apache Pulsar</h1><hr/></header><div class="logo-wrapper"><div  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +