This is an automated email from the ASF dual-hosted git repository.
russellspitzer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/polaris.git
The following commit(s) were added to refs/heads/main by this push:
new f1d50b1 Update markdown docs with new project name (#197)
f1d50b1 is described below
commit f1d50b17bfa583aa26e1c4bc59b410a02cdc36cd
Author: Anna Filippova <[email protected]>
AuthorDate: Mon Aug 26 02:05:19 2024 -0700
Update markdown docs with new project name (#197)
---
docs/access-control.md | 44 ++-
docs/command-line-interface.md | 30 +-
docs/configuring-polaris-for-production.md | 28 +-
docs/entities.md | 28 +-
docs/index.html | 520 +++++++++++++++++------------
docs/overview.md | 70 ++--
docs/quickstart.md | 30 +-
spec/docs.yaml | 8 +-
spec/index.yaml | 236 +++++++------
spec/polaris-management-service.yml | 34 +-
spec/redocly.yaml | 32 +-
11 files changed, 565 insertions(+), 495 deletions(-)
diff --git a/docs/access-control.md b/docs/access-control.md
index ed069ee..95fd6a2 100644
--- a/docs/access-control.md
+++ b/docs/access-control.md
@@ -1,27 +1,25 @@
<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-This section provides information about how access control works for Polaris
Catalog.
+This section provides information about how access control works for Apache
Polaris (Incubating).
-Polaris Catalog uses a role-based access control (RBAC) model in which the
Polaris administrator assigns access privileges to catalog roles
+Polaris uses a role-based access control (RBAC) model in which the Polaris
administrator assigns access privileges to catalog roles
and then grants access to resources to service principals by assigning catalog
roles to principal roles.
These are the key concepts to understanding access control in Polaris:
@@ -89,11 +87,11 @@ configure in Polaris:
## RBAC model
-The following diagram illustrates the RBAC model used by Polaris Catalog. For
each catalog, the Polaris administrator assigns access
+The following diagram illustrates the RBAC model used by Polaris. For each
catalog, the Polaris administrator assigns access
privileges to catalog roles and then grants service principals access to
resources by assigning catalog roles to principal roles. Polaris
supports a many-to-one relationship between service principals and principal
roles.
-
+
## Access control privileges
@@ -187,4 +185,4 @@ includes the following users:
- The Catalog reader role grants read-only access for a catalog
named Gold zone catalog.
-
+
diff --git a/docs/command-line-interface.md b/docs/command-line-interface.md
index 18436c2..026921e 100644
--- a/docs/command-line-interface.md
+++ b/docs/command-line-interface.md
@@ -1,25 +1,23 @@
<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-# Polaris CLI
+# Apache Polaris (Incubating) CLI
In order to help administrators quickly set up and manage their Polaris
server, Polaris provides a simple command-line interface (CLI) for common tasks.
diff --git a/docs/configuring-polaris-for-production.md
b/docs/configuring-polaris-for-production.md
index e049f76..64dc390 100644
--- a/docs/configuring-polaris-for-production.md
+++ b/docs/configuring-polaris-for-production.md
@@ -1,24 +1,24 @@
<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-# Configuring Polaris for Production
+# Configuring Apache Polaris (Incubating) for Production
The default `polaris-server.yml` configuration is intended for develoment and
testing. When deploying Polaris in production, there are several best practices
to keep in mind.
diff --git a/docs/entities.md b/docs/entities.md
index a47a1c5..df9f489 100644
--- a/docs/entities.md
+++ b/docs/entities.md
@@ -1,23 +1,23 @@
<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-This page documents various entities that can be managed in Polaris.
+This page documents various entities that can be managed in Apache Polaris
(Incubating).
## Catalog
diff --git a/docs/index.html b/docs/index.html
index fde3aa9..67c333e 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf8" />
- <title>Polaris Catalog Documentation</title>
+ <title>Apache Polaris (Incubating) Documentation</title>
<!-- needed for adaptive design -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
@@ -430,7 +430,7 @@ data-styled.g137[id="sc-kvXgyf"]{content:"fBvPoH,"}/*!sc*/
<body>
- <div id="redoc"><div class="sc-ixtKjU fabhKa redoc-wrap"><div
class="sc-dUMaFF ktzGvn menu-content" style="top:0px;height:calc(100vh -
0px)"><div class="sc-fvMZNI zdFQt"><a href="https://github.com/apache/polaris"
class="sc-jLflnl kjUrpO"><img
src="./img/logos/polaris-catalog-stacked-logo.svg" alt="Polaris Catalog Logo"
class="sc-jNXfOT jELQyo"/></a></div><div role="search" class="sc-dovzVR
dcjLWY"><svg class="sc-kvXgyf fBvPoH search-icon" version="1.1" viewBox="0 0
1000 1000" x="0 [...]
+ <div id="redoc"><div class="sc-ixtKjU fabhKa redoc-wrap"><div
class="sc-dUMaFF ktzGvn menu-content" style="top:0px;height:calc(100vh -
0px)"><div class="sc-fvMZNI zdFQt"><a href="https://github.com/apache/polaris"
class="sc-jLflnl kjUrpO"><img
src="./img/logos/polaris-catalog-stacked-logo.svg" alt="Apache Polaris Logo"
class="sc-jNXfOT jELQyo"/></a></div><div role="search" class="sc-dovzVR
dcjLWY"><svg class="sc-kvXgyf fBvPoH search-icon" version="1.1" viewBox="0 0
1000 1000" x="0p [...]
m -673.67664,1221.6502 -231.2455,-231.24803 55.6165,
-55.627 c 30.5891,-30.59485 56.1806,-55.627 56.8701,-55.627 0.6894,
0 79.8637,78.60862 175.9427,174.68583 l 174.6892,174.6858 174.6892,
@@ -448,44 +448,44 @@ data-styled.g137[id="sc-kvXgyf"]{content:"fBvPoH,"}/*!sc*/
55.627 l 55.6165,55.627 -231.245496,231.24803 c -127.185,127.1864
-231.5279,231.248 -231.873,231.248 -0.3451,0 -104.688,
-104.0616 -231.873,-231.248 z
- " fill="currentColor"></path></g></svg></div></div><div
class="sc-dKGrn laenHu api-content"><div class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt api-info"><h1
class="sc-iCZwEW sc-gjHHYa gfRsnu edbYXQ">Polaris Catalog Documentation<!-- -->
</h1><p>Download OpenAPI specification<!-- -->:<a download="openapi.json"
target="_blank" class="sc-kyZTxD cwcfQE">Download</a></p><div class="sc-euGpHm
sc-exayXG fwfkcU kqJXdD"><div class="sc-kwhYVV dgGfLY"> [...]
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ " fill="currentColor"></path></g></svg></div></div><div
class="sc-dKGrn laenHu api-content"><div class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt api-info"><h1
class="sc-iCZwEW sc-gjHHYa gfRsnu edbYXQ">Apache Polaris (Incubating)
Documentation<!-- --> </h1><p>Download OpenAPI specification<!-- -->:<a
download="openapi.json" target="_blank" class="sc-kyZTxD
cwcfQE">Download</a></p><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD"><div
class="sc-kwh [...]
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD"><!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-</div></div></div></div><div id="section/Quick-Start"
data-section-id="section/Quick-Start" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu
cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#section/Quick-Start"
aria-label="section/Quick-Start"></a>Quick Start</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>This guide serves as a introduction to several
key entit [...]
-"><p>This guide serves as a introduction to several key entities that can be
managed with Polaris, describes how to build and deploy Polaris locally, and
finally includes examples of how to use Polaris with Apache Spark.</p>
+</div></div></div></div><div id="section/Quick-Start"
data-section-id="section/Quick-Start" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu
cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#section/Quick-Start"
aria-label="section/Quick-Start"></a>Quick Start</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>This guide serves as a introduction to several
key entit [...]
+"><p>This guide serves as a introduction to several key entities that can be
managed with Apache Polaris (Incubating), describes how to build and deploy
Polaris locally, and finally includes examples of how to use Polaris with
Apache Spark™.</p>
</div></div></div><div id="section/Quick-Start/Prerequisites"
data-section-id="section/Quick-Start/Prerequisites" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#section/Quick-Start/Prerequisites"
aria-label="section/Quick-Start/Prerequisites"></a>Prerequisites</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>This [...]
<h3 id="building-and-deploying-polaris">Building and Deploying
Polaris</h3>
<p>To get the latest Polaris code, you&#39;ll need to clone the
repository using <a href="https://git-scm.com/">git</a>.
You can install git using <a
href="https://brew.sh/">homebrew</a>:</p>
@@ -786,7 +786,7 @@ INFO <span class="token punctuation">[</span><span
class="token punctuation">.<
<span class="token parameter variable">--conf</span>
spark.sql.catalog.quickstart_catalog.token-refresh-enabled<span
class="token operator">=</span>true
</code></pre>
<p>Replace <code>XXXX</code> and
<code>YYYY</code> with the client ID and client secret generated
when you created the <code>quickstart_user</code>
principal.</p>
-<p>Similar to the CLI commands above, this configures Spark to use the
Polaris catalog running at <code>localhost:8181</code>. If your
Polaris server is running elsewhere, but sure to update the configuration
appropriately.</p>
+<p>Similar to the CLI commands above, this configures Spark to use the
Polaris running at <code>localhost:8181</code>. If your Polaris
server is running elsewhere, but sure to update the configuration
appropriately.</p>
<p>Finally, note that we include the <code>hadoop-aws</code>
package here. If your table is using a different filesystem, be sure to include
the appropriate dependency.</p>
<p>Once the Spark session starts, we can create a namespace and table
within the catalog:</p>
<pre><code>spark<span class="token
punctuation">.</span><span class="token
function">sql</span><span class="token
punctuation">(</span><span class="token
string">"USE quickstart_catalog"</span><span
class="token punctuation">)</span>
@@ -844,7 +844,7 @@ org<span class="token
punctuation">.</span>apache<span
<span class="token parameter variable">--conf</span>
spark.sql.catalog.quickstart_catalog.token-refresh-enabled<span class="token
operator">=</span>true
</code></pre>
<p>Replace <code>XXXX</code> and <code>YYYY</code> with the client ID and
client secret generated when you created the <code>quickstart_user</code>
principal.</p>
-<p>Similar to the CLI commands above, this configures Spark to use the Polaris
catalog running at <code>localhost:8181</code>. If your Polaris server is
running elsewhere, but sure to update the configuration appropriately.</p>
+<p>Similar to the CLI commands above, this configures Spark to use the Polaris
running at <code>localhost:8181</code>. If your Polaris server is running
elsewhere, but sure to update the configuration appropriately.</p>
<p>Finally, note that we include the <code>hadoop-aws</code> package here. If
your table is using a different filesystem, be sure to include the appropriate
dependency.</p>
<p>Once the Spark session starts, we can create a namespace and table within
the catalog:</p>
<pre><code>spark<span class="token punctuation">.</span><span class="token
function">sql</span><span class="token punctuation">(</span><span class="token
string">"USE quickstart_catalog"</span><span class="token punctuation">)</span>
@@ -884,60 +884,56 @@ spark<span class="token punctuation">.</span><span
class="token function">sql</s
org<span class="token punctuation">.</span>apache<span class="token
punctuation">.</span>iceberg<span class="token
punctuation">.</span>exceptions<span class="token
punctuation">.</span>ForbiddenException<span class="token punctuation">:</span>
Forbidden<span class="token punctuation">:</span> Principal <span class="token
string">'quickstart_user'</span> with activated PrincipalRoles <span
class="token string">'[]'</span> and activated ids <span class="token
string">'[6, 7]'</span> is no [...]
</code></pre>
-</div></div></div><div id="tag/Polaris-Catalog-Overview"
data-section-id="tag/Polaris-Catalog-Overview" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu
cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/Polaris-Catalog-Overview"
aria-label="tag/Polaris-Catalog-Overview"></a>Polaris Catalog
Overview</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-exayXG fwfkcU kqJXdD redoc-markdown " html="<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+</div></div></div><div id="tag/Overview" data-section-id="tag/Overview"
class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED
htdgPt"><h2 class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo"
href="#tag/Overview"
aria-label="tag/Overview"></a>Overview</h2></div></div><div class="sc-fQpRED
gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD redoc-markdown "
html="<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-<p>Polaris Catalog is a catalog implementation for Apache
Iceberg&trade; tables and is built on the open source Apache
Iceberg&trade; REST protocol.</p>
-<p>With Polaris Catalog, you can provide centralized, secure read and
write access to your Iceberg tables across different REST-compatible query
engines.</p>
-<p><img src="img/overview.svg" alt="Conceptual diagram
of Polaris Catalog." title="Polaris Catalog
overview"></p>
+<p>Apache Polaris (Incubating) is a catalog implementation for Apache
Iceberg&trade; tables and is built on the open source Apache
Iceberg&trade; REST protocol.</p>
+<p>With Polaris, you can provide centralized, secure read and write
access to your Iceberg tables across different REST-compatible query
engines.</p>
+<p><img src="img/overview.svg" alt="Conceptual diagram
of Apache Polaris (Incubating)." title="Apache Polaris (Incubating)
overview"></p>
"><!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-<p>Polaris Catalog is a catalog implementation for Apache Iceberg™
tables and is built on the open source Apache Iceberg™ REST protocol.</p>
-<p>With Polaris Catalog, you can provide centralized, secure read and write
access to your Iceberg tables across different REST-compatible query
engines.</p>
-<p><img src="img/overview.svg" alt="Conceptual diagram of Polaris Catalog."
title="Polaris Catalog overview"></p>
-</div></div></div><div id="tag/Polaris-Catalog-Overview/Key-concepts"
data-section-id="tag/Polaris-Catalog-Overview/Key-concepts" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Catalog-Overview/Key-concepts"
aria-label="tag/Polaris-Catalog-Overview/Key-concepts"></a>Key
concepts</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-exayXG fwfkcU kqJXdD redoc [...]
-<p>In the following diagram, a sample <a
href="overview.md#catalog">Polaris Catalog structure</a>
with nested <a
href="overview.md#namespace">namespaces</a> is shown for
Catalog1. No tables
+<p>Apache Polaris (Incubating) is a catalog implementation for Apache
Iceberg™ tables and is built on the open source Apache Iceberg™
REST protocol.</p>
+<p>With Polaris, you can provide centralized, secure read and write access to
your Iceberg tables across different REST-compatible query engines.</p>
+<p><img src="img/overview.svg" alt="Conceptual diagram of Apache Polaris
(Incubating)." title="Apache Polaris (Incubating) overview"></p>
+</div></div></div><div id="tag/Overview/Key-concepts"
data-section-id="tag/Overview/Key-concepts" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-dnaUSb
dVnbUW"><a class="sc-jCbFiK hSvuOo" href="#tag/Overview/Key-concepts"
aria-label="tag/Overview/Key-concepts"></a>Key concepts</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>This section introduces key concepts [...]
+<p>In the following diagram, a sample <a
href="overview.md#catalog">Apache Polaris (Incubating)
structure</a> with nested <a
href="overview.md#namespace">namespaces</a> is shown for
Catalog1. No tables
or namespaces have been created yet for Catalog2 or Catalog3.</p>
-<p><img src="img/sample-catalog-structure.svg"
alt="Diagram that shows an example Polaris Catalog structure."
title="Sample Polaris Catalog structure"></p>
+<p><img src="img/sample-catalog-structure.svg"
alt="Diagram that shows an example Apache Polaris (Incubating)
structure." title="Sample Apache Polaris (Incubating)
structure"></p>
<h3 id="catalog">Catalog</h3>
-<p>In Polaris Catalog, you can create one or more catalog resources to
organize Iceberg tables.</p>
+<p>In Polaris, you can create one or more catalog resources to organize
Iceberg tables.</p>
<p>Configure your catalog by setting values in the storage configuration
for S3, Azure, or Google Cloud Storage. An Iceberg catalog enables a
query engine to manage and organize tables. The catalog forms the first
architectural layer in the <a
href="https://iceberg.apache.org/spec/#overview">Apache
Iceberg&trade; table specification</a> and must support the following
tasks:</p>
<ul>
@@ -963,10 +959,10 @@ this catalog are synced to Polaris. These tables are
read-only in Polaris. In th
<p>You create <em>namespaces</em> to logically group Iceberg
tables within a catalog. A catalog can have multiple namespaces. You can also
create
nested namespaces. Iceberg tables belong to namespaces.</p>
<h3 id="apache-iceberg-tables-and-catalogs">Apache
Iceberg&trade; tables and catalogs</h3>
-<p>In an internal catalog, an Iceberg table is registered in Polaris
Catalog, but read and written via query engines. The table data and
-metadata is stored in your external cloud storage. The table uses Polaris
Catalog as the Iceberg catalog.</p>
+<p>In an internal catalog, an Iceberg table is registered in Polaris,
but read and written via query engines. The table data and
+metadata is stored in your external cloud storage. The table uses Polaris as
the Iceberg catalog.</p>
<p>If you have tables that use Snowflake as the Iceberg catalog
(Snowflake-managed tables), you can sync these tables to an external
-catalog in Polaris Catalog. If you sync this catalog to Polaris Catalog, it
appears as an external catalog in Polaris Catalog. The table data and
+catalog in Polaris. If you sync this catalog to Polaris, it appears as an
external catalog in Polaris. The table data and
metadata is stored in your external cloud storage. The Snowflake query engine
can read from or write to these tables. However, the other query
engines can only read from these tables.</p>
<blockquote>
@@ -990,11 +986,11 @@ engines can only read from these tables.</p>
</ul>
</blockquote>
<h3 id="service-principal">Service principal</h3>
-<p>A service principal is an entity that you create in Polaris Catalog.
Each service principal encapsulates credentials that you use to connect
-to Polaris Catalog.</p>
+<p>A service principal is an entity that you create in Polaris. Each
service principal encapsulates credentials that you use to connect
+to Polaris.</p>
<p>Query engines use service principals to connect to catalogs.</p>
-<p>Polaris Catalog generates a Client ID and Client Secret pair for each
service principal.</p>
-<p>The following table displays example service principals that you
might create in Polaris Catalog:</p>
+<p>Polaris generates a Client ID and Client Secret pair for each service
principal.</p>
+<p>The following table displays example service principals that you
might create in Polaris:</p>
<table>
<thead>
<tr>
@@ -1027,7 +1023,7 @@ to Polaris Catalog.</p>
<p>A service connection represents a REST-compatible engine (such as
Apache Spark&trade;, Apache Flink&reg;, or Trino) that can read from
and write to Polaris
Catalog. When creating a new service connection, the Polaris administrator
grants the service principal that is created with the new service
connection either a new or existing principal role. A principal role is a
resource in Polaris that you can use to logically group Polaris
-service principals together and grant privileges on securable objects. For
more information, see <a href="access-control.md#principal-role"
title="Principal role">Principal role</a>. Polaris Catalog
uses a role-based access control (RBAC) model to grant service principals
access to resources. For more information,
+service principals together and grant privileges on securable objects. For
more information, see <a href="access-control.md#principal-role"
title="Principal role">Principal role</a>. Polaris uses a
role-based access control (RBAC) model to grant service principals access to
resources. For more information,
see <a href="access-control.md" title="Access
control">Access control</a>. For a diagram of this model, see
<a href="access-control.md#rbac-model" title="RBAC
model">RBAC model</a>.</p>
<p>If the Polaris administrator grants the service principal for the new
service connection a new principal role, the service principal
doesn&#39;t have any privileges granted to it yet. When securing the
catalog that the new service connection will connect to, the Polaris
@@ -1039,7 +1035,7 @@ administrator can grant additional catalog roles to the
existing principal role
bestowed to the service principal. For an example of how RBAC works in
Polaris, see <a href="access-control.md#rbac-example"
title="RBAC example">RBAC example</a>.</p>
<h3 id="storage-configuration">Storage configuration</h3>
<p>A storage configuration stores a generated identity and access
management (IAM) entity for your external cloud storage and is created
-when you create a catalog. The storage configuration is used to set the values
to connect Polaris Catalog to your cloud storage. During the
+when you create a catalog. The storage configuration is used to set the values
to connect Polaris to your cloud storage. During the
catalog creation process, an IAM entity is generated and used to create a
trust relationship between the cloud storage provider and Polaris
Catalog.</p>
<p>When you create a catalog, you supply the following information about
your external cloud storage:</p>
@@ -1063,12 +1059,12 @@ Catalog.</p>
<td><ul><li>Default base location for your Microsoft Azure
container</li><li>Locations for your Microsoft Azure
container</li><li>Azure tenant ID</li></ul></td>
</tr>
</tbody></table>
-"><p>This section introduces key concepts associated with using Polaris
Catalog.</p>
-<p>In the following diagram, a sample <a href="overview.md#catalog">Polaris
Catalog structure</a> with nested <a
href="overview.md#namespace">namespaces</a> is shown for Catalog1. No tables
+"><p>This section introduces key concepts associated with using Apache Polaris
(Incubating).</p>
+<p>In the following diagram, a sample <a href="overview.md#catalog">Apache
Polaris (Incubating) structure</a> with nested <a
href="overview.md#namespace">namespaces</a> is shown for Catalog1. No tables
or namespaces have been created yet for Catalog2 or Catalog3.</p>
-<p><img src="img/sample-catalog-structure.svg" alt="Diagram that shows an
example Polaris Catalog structure." title="Sample Polaris Catalog
structure"></p>
+<p><img src="img/sample-catalog-structure.svg" alt="Diagram that shows an
example Apache Polaris (Incubating) structure." title="Sample Apache Polaris
(Incubating) structure"></p>
<h3 id="catalog">Catalog</h3>
-<p>In Polaris Catalog, you can create one or more catalog resources to
organize Iceberg tables.</p>
+<p>In Polaris, you can create one or more catalog resources to organize
Iceberg tables.</p>
<p>Configure your catalog by setting values in the storage configuration for
S3, Azure, or Google Cloud Storage. An Iceberg catalog enables a
query engine to manage and organize tables. The catalog forms the first
architectural layer in the <a
href="https://iceberg.apache.org/spec/#overview">Apache Iceberg™ table
specification</a> and must support the following tasks:</p>
<ul>
@@ -1094,10 +1090,10 @@ this catalog are synced to Polaris. These tables are
read-only in Polaris. In th
<p>You create <em>namespaces</em> to logically group Iceberg tables within a
catalog. A catalog can have multiple namespaces. You can also create
nested namespaces. Iceberg tables belong to namespaces.</p>
<h3 id="apache-iceberg-tables-and-catalogs">Apache Iceberg™ tables and
catalogs</h3>
-<p>In an internal catalog, an Iceberg table is registered in Polaris Catalog,
but read and written via query engines. The table data and
-metadata is stored in your external cloud storage. The table uses Polaris
Catalog as the Iceberg catalog.</p>
+<p>In an internal catalog, an Iceberg table is registered in Polaris, but read
and written via query engines. The table data and
+metadata is stored in your external cloud storage. The table uses Polaris as
the Iceberg catalog.</p>
<p>If you have tables that use Snowflake as the Iceberg catalog
(Snowflake-managed tables), you can sync these tables to an external
-catalog in Polaris Catalog. If you sync this catalog to Polaris Catalog, it
appears as an external catalog in Polaris Catalog. The table data and
+catalog in Polaris. If you sync this catalog to Polaris, it appears as an
external catalog in Polaris. The table data and
metadata is stored in your external cloud storage. The Snowflake query engine
can read from or write to these tables. However, the other query
engines can only read from these tables.</p>
<blockquote>
@@ -1121,11 +1117,11 @@ engines can only read from these tables.</p>
</ul>
</blockquote>
<h3 id="service-principal">Service principal</h3>
-<p>A service principal is an entity that you create in Polaris Catalog. Each
service principal encapsulates credentials that you use to connect
-to Polaris Catalog.</p>
+<p>A service principal is an entity that you create in Polaris. Each service
principal encapsulates credentials that you use to connect
+to Polaris.</p>
<p>Query engines use service principals to connect to catalogs.</p>
-<p>Polaris Catalog generates a Client ID and Client Secret pair for each
service principal.</p>
-<p>The following table displays example service principals that you might
create in Polaris Catalog:</p>
+<p>Polaris generates a Client ID and Client Secret pair for each service
principal.</p>
+<p>The following table displays example service principals that you might
create in Polaris:</p>
<table>
<thead>
<tr>
@@ -1158,7 +1154,7 @@ to Polaris Catalog.</p>
<p>A service connection represents a REST-compatible engine (such as Apache
Spark™, Apache Flink®, or Trino) that can read from and write to
Polaris
Catalog. When creating a new service connection, the Polaris administrator
grants the service principal that is created with the new service
connection either a new or existing principal role. A principal role is a
resource in Polaris that you can use to logically group Polaris
-service principals together and grant privileges on securable objects. For
more information, see <a href="access-control.md#principal-role"
title="Principal role">Principal role</a>. Polaris Catalog uses a role-based
access control (RBAC) model to grant service principals access to resources.
For more information,
+service principals together and grant privileges on securable objects. For
more information, see <a href="access-control.md#principal-role"
title="Principal role">Principal role</a>. Polaris uses a role-based access
control (RBAC) model to grant service principals access to resources. For more
information,
see <a href="access-control.md" title="Access control">Access control</a>. For
a diagram of this model, see <a href="access-control.md#rbac-model" title="RBAC
model">RBAC model</a>.</p>
<p>If the Polaris administrator grants the service principal for the new
service connection a new principal role, the service principal
doesn't have any privileges granted to it yet. When securing the catalog
that the new service connection will connect to, the Polaris
@@ -1170,7 +1166,7 @@ administrator can grant additional catalog roles to the
existing principal role
bestowed to the service principal. For an example of how RBAC works in
Polaris, see <a href="access-control.md#rbac-example" title="RBAC example">RBAC
example</a>.</p>
<h3 id="storage-configuration">Storage configuration</h3>
<p>A storage configuration stores a generated identity and access management
(IAM) entity for your external cloud storage and is created
-when you create a catalog. The storage configuration is used to set the values
to connect Polaris Catalog to your cloud storage. During the
+when you create a catalog. The storage configuration is used to set the values
to connect Polaris to your cloud storage. During the
catalog creation process, an IAM entity is generated and used to create a
trust relationship between the cloud storage provider and Polaris
Catalog.</p>
<p>When you create a catalog, you supply the following information about your
external cloud storage:</p>
@@ -1194,7 +1190,7 @@ Catalog.</p>
<td><ul><li>Default base location for your Microsoft Azure
container</li><li>Locations for your Microsoft Azure container</li><li>Azure
tenant ID</li></ul></td>
</tr>
</tbody></table>
-</div></div></div><div id="tag/Polaris-Catalog-Overview/Example-workflow"
data-section-id="tag/Polaris-Catalog-Overview/Example-workflow"
class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED
htdgPt"><h2 class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Catalog-Overview/Example-workflow"
aria-label="tag/Polaris-Catalog-Overview/Example-workflow"></a>Example
workflow</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-exayXG [...]
+</div></div></div><div id="tag/Overview/Example-workflow"
data-section-id="tag/Overview/Example-workflow" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-dnaUSb
dVnbUW"><a class="sc-jCbFiK hSvuOo" href="#tag/Overview/Example-workflow"
aria-label="tag/Overview/Example-workflow"></a>Example
workflow</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-exayXG fwfkcU kqJXdD redoc-markdown " html="<p>In the following [...]
<ol>
<li><p>Bob uses Apache Spark&trade; to create the Table1 table
under the
Namespace1 namespace in the Catalog1 catalog and insert values into
@@ -1210,7 +1206,7 @@ has the privileges to perform this action. Alice
creates an unmanaged table in Snowflake to read data from Table1.</p>
</li>
</ol>
-<p><img src="img/example-workflow.svg" alt="Diagram
that shows an example workflow for Polaris Catalog" title="Example
workflow for Polaris Catalog"></p>
+<p><img src="img/example-workflow.svg" alt="Diagram
that shows an example workflow for Apache Polaris (Incubating)"
title="Example workflow for Apache Polaris (Incubating)"></p>
"><p>In the following example workflow, Bob creates an Apache Iceberg™
table named Table1 and Alice reads data from Table1.</p>
<ol>
<li><p>Bob uses Apache Spark™ to create the Table1 table under the
@@ -1227,18 +1223,18 @@ has the privileges to perform this action. Alice
creates an unmanaged table in Snowflake to read data from Table1.</p>
</li>
</ol>
-<p><img src="img/example-workflow.svg" alt="Diagram that shows an example
workflow for Polaris Catalog" title="Example workflow for Polaris Catalog"></p>
-</div></div></div><div
id="tag/Polaris-Catalog-Overview/Security-and-access-control"
data-section-id="tag/Polaris-Catalog-Overview/Security-and-access-control"
class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED
htdgPt"><h2 class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Catalog-Overview/Security-and-access-control"
aria-label="tag/Polaris-Catalog-Overview/Security-and-access-control"></a>Security
and access control</h2></div></div><div c [...]
+<p><img src="img/example-workflow.svg" alt="Diagram that shows an example
workflow for Apache Polaris (Incubating)" title="Example workflow for Apache
Polaris (Incubating)"></p>
+</div></div></div><div id="tag/Overview/Security-and-access-control"
data-section-id="tag/Overview/Security-and-access-control" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Overview/Security-and-access-control"
aria-label="tag/Overview/Security-and-access-control"></a>Security and access
control</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-exayXG fwfkcU k [...]
<h3 id="credential-vending">Credential vending</h3>
-<p>To secure interactions with service connections, Polaris Catalog
vends temporary storage credentials to the query engine during query
+<p>To secure interactions with service connections, Polaris vends
temporary storage credentials to the query engine during query
execution. These credentials allow the query engine to run the query without
requiring access to your external cloud storage for
Iceberg tables. This process is called credential vending.</p>
<h3 id="identity-and-access-management-iam">Identity and
access management (IAM)</h3>
-<p>Polaris Catalog uses the identity and access management (IAM) entity
to securely connect to your storage for accessing table data, Iceberg
-metadata, and manifest files that store the table schema, partitions, and
other metadata. Polaris Catalog retains the IAM entity for your
+<p>Polaris uses the identity and access management (IAM) entity to
securely connect to your storage for accessing table data, Iceberg
+metadata, and manifest files that store the table schema, partitions, and
other metadata. Polaris retains the IAM entity for your
storage location.</p>
<h3 id="access-control">Access control</h3>
-<p>Polaris Catalog enforces the access control that you configure across
all tables registered with the service and governs security for all
+<p>Polaris enforces the access control that you configure across all
tables registered with the service and governs security for all
queries from query engines in a consistent manner.</p>
<p>Polaris uses a role-based access control (RBAC) model that lets you
centrally configure access for Polaris service principals to catalogs,
namespaces, and tables.</p>
@@ -1255,15 +1251,15 @@ catalog resources and granted to principal
roles.</p>
<p>For more information, see <a href="access-control.md"
title="Access control">Access control</a>.</p>
"><p>This section describes security and access control.</p>
<h3 id="credential-vending">Credential vending</h3>
-<p>To secure interactions with service connections, Polaris Catalog vends
temporary storage credentials to the query engine during query
+<p>To secure interactions with service connections, Polaris vends temporary
storage credentials to the query engine during query
execution. These credentials allow the query engine to run the query without
requiring access to your external cloud storage for
Iceberg tables. This process is called credential vending.</p>
<h3 id="identity-and-access-management-iam">Identity and access management
(IAM)</h3>
-<p>Polaris Catalog uses the identity and access management (IAM) entity to
securely connect to your storage for accessing table data, Iceberg
-metadata, and manifest files that store the table schema, partitions, and
other metadata. Polaris Catalog retains the IAM entity for your
+<p>Polaris uses the identity and access management (IAM) entity to securely
connect to your storage for accessing table data, Iceberg
+metadata, and manifest files that store the table schema, partitions, and
other metadata. Polaris retains the IAM entity for your
storage location.</p>
<h3 id="access-control">Access control</h3>
-<p>Polaris Catalog enforces the access control that you configure across all
tables registered with the service and governs security for all
+<p>Polaris enforces the access control that you configure across all tables
registered with the service and governs security for all
queries from query engines in a consistent manner.</p>
<p>Polaris uses a role-based access control (RBAC) model that lets you
centrally configure access for Polaris service principals to catalogs,
namespaces, and tables.</p>
@@ -1278,49 +1274,49 @@ catalog resources and granted to principal roles.</p>
</li>
</ul>
<p>For more information, see <a href="access-control.md" title="Access
control">Access control</a>.</p>
-</div></div></div><div id="tag/Polaris-Catalog-Overview/Legal-Notices"
data-section-id="tag/Polaris-Catalog-Overview/Legal-Notices" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Catalog-Overview/Legal-Notices"
aria-label="tag/Polaris-Catalog-Overview/Legal-Notices"></a>Legal
Notices</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-exayXG fwfkcU kqJXdD [...]
+</div></div></div><div id="tag/Overview/Legal-Notices"
data-section-id="tag/Overview/Legal-Notices" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-dnaUSb
dVnbUW"><a class="sc-jCbFiK hSvuOo" href="#tag/Overview/Legal-Notices"
aria-label="tag/Overview/Legal-Notices"></a>Legal Notices</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>Apache&reg;, Apache Iceberg& [...]
"><p>Apache®, Apache Iceberg™, Apache Spark™, Apache
Flink®, and Flink® are either registered trademarks or trademarks of
the Apache Software Foundation in the United States and/or other countries.</p>
-</div></div></div><div id="tag/Polaris-Catalog-Entities"
data-section-id="tag/Polaris-Catalog-Entities" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu
cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/Polaris-Catalog-Entities"
aria-label="tag/Polaris-Catalog-Entities"></a>Polaris Catalog
Entities</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-exayXG fwfkcU kqJXdD redoc-markdown " html="<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+</div></div></div><div id="tag/Polaris-Entities"
data-section-id="tag/Polaris-Entities" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu
cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/Polaris-Entities"
aria-label="tag/Polaris-Entities"></a>Polaris Entities</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-<p>This page documents various entities that can be managed in
Polaris.</p>
+<p>This page documents various entities that can be managed in Apache
Polaris (Incubating).</p>
"><!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-<p>This page documents various entities that can be managed in Polaris.</p>
-</div></div></div><div id="tag/Polaris-Catalog-Entities/Catalog"
data-section-id="tag/Polaris-Catalog-Entities/Catalog" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Catalog-Entities/Catalog"
aria-label="tag/Polaris-Catalog-Entities/Catalog"></a>Catalog</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p&g [...]
+<p>This page documents various entities that can be managed in Apache Polaris
(Incubating).</p>
+</div></div></div><div id="tag/Polaris-Entities/Catalog"
data-section-id="tag/Polaris-Entities/Catalog" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-dnaUSb
dVnbUW"><a class="sc-jCbFiK hSvuOo" href="#tag/Polaris-Entities/Catalog"
aria-label="tag/Polaris-Entities/Catalog"></a>Catalog</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>A catalog is a top-level entit [...]
<p>For information on managing catalogs with the REST API or for more
information on what data can be associated with a catalog, see <a
href="../regtests/client/python/docs/CreateCatalogRequest.md">the
API docs</a>.</p>
<h3 id="storage-type">Storage Type</h3>
<p>All catalogs in Polaris are associated with a <em>storage
type</em>. Valid Storage Types are <code>S3</code>,
<code>Azure</code>, and <code>GCS</code>. The
<code>FILE</code> type is also additionally available for testing.
Each of these types relates to a different storage provider where data within
the catalog may reside. Depending on the storage type, various other
configurations may be set for a catalog including cre [...]
@@ -1330,33 +1326,33 @@ catalog resources and granted to principal roles.</p>
<h3 id="storage-type">Storage Type</h3>
<p>All catalogs in Polaris are associated with a <em>storage type</em>. Valid
Storage Types are <code>S3</code>, <code>Azure</code>, and <code>GCS</code>.
The <code>FILE</code> type is also additionally available for testing. Each of
these types relates to a different storage provider where data within the
catalog may reside. Depending on the storage type, various other configurations
may be set for a catalog including credentials to be used when accessing data
inside the catalog.</p>
<p>For details on how to use Storage Types in the REST API, see <a
href="../regtests/client/python/docs/StorageConfigInfo.md">the API docs</a>.</p>
-</div></div></div><div id="tag/Polaris-Catalog-Entities/Namespace"
data-section-id="tag/Polaris-Catalog-Entities/Namespace" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Catalog-Entities/Namespace"
aria-label="tag/Polaris-Catalog-Entities/Namespace"></a>Namespace</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " htm [...]
+</div></div></div><div id="tag/Polaris-Entities/Namespace"
data-section-id="tag/Polaris-Entities/Namespace" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-dnaUSb
dVnbUW"><a class="sc-jCbFiK hSvuOo" href="#tag/Polaris-Entities/Namespace"
aria-label="tag/Polaris-Entities/Namespace"></a>Namespace</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>A namespace is a log [...]
<p>In Polaris, namespaces can be nested. For example,
<code>a.b.c.d.e.f.g</code> is a valid namespace.
<code>b</code> is said to reside within <code>a</code>,
and so on.</p>
<p>For information on managing namespaces with the REST API or for more
information on what data can be associated with a namespace, see <a
href="../regtests/client/python/docs/CreateNamespaceRequest.md">the
API docs</a>.</p>
"><p>A namespace is a logical entity that resides within a <a
href="#catalog">catalog</a> and can contain other entities such as <a
href="#table">tables</a> or <a href="#view">views</a>. Some other systems may
refer to namespaces as <em>schemas</em> or <em>databases</em>.</p>
<p>In Polaris, namespaces can be nested. For example,
<code>a.b.c.d.e.f.g</code> is a valid namespace. <code>b</code> is said to
reside within <code>a</code>, and so on.</p>
<p>For information on managing namespaces with the REST API or for more
information on what data can be associated with a namespace, see <a
href="../regtests/client/python/docs/CreateNamespaceRequest.md">the API
docs</a>.</p>
-</div></div></div><div id="tag/Polaris-Catalog-Entities/Table"
data-section-id="tag/Polaris-Catalog-Entities/Table" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Catalog-Entities/Table"
aria-label="tag/Polaris-Catalog-Entities/Table"></a>Table</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>Polaris [...]
+</div></div></div><div id="tag/Polaris-Entities/Table"
data-section-id="tag/Polaris-Entities/Table" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-dnaUSb
dVnbUW"><a class="sc-jCbFiK hSvuOo" href="#tag/Polaris-Entities/Table"
aria-label="tag/Polaris-Entities/Table"></a>Table</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>Polaris tables are entities that map to [...]
<p>For information on managing tables with the REST API or for more
information on what data can be associated with a table, see <a
href="../regtests/client/python/docs/CreateTableRequest.md">the
API docs</a>.</p>
"><p>Polaris tables are entities that map to <a
href="https://iceberg.apache.org/docs/nightly/configuration/">Apache Iceberg
tables</a>.</p>
<p>For information on managing tables with the REST API or for more
information on what data can be associated with a table, see <a
href="../regtests/client/python/docs/CreateTableRequest.md">the API
docs</a>.</p>
-</div></div></div><div id="tag/Polaris-Catalog-Entities/View"
data-section-id="tag/Polaris-Catalog-Entities/View" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Catalog-Entities/View"
aria-label="tag/Polaris-Catalog-Entities/View"></a>View</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>Polaris views [...]
+</div></div></div><div id="tag/Polaris-Entities/View"
data-section-id="tag/Polaris-Entities/View" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-dnaUSb
dVnbUW"><a class="sc-jCbFiK hSvuOo" href="#tag/Polaris-Entities/View"
aria-label="tag/Polaris-Entities/View"></a>View</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>Polaris views are entities that map to <a
[...]
<p>For information on managing views with the REST API or for more
information on what data can be associated with a view, see <a
href="../regtests/client/python/docs/CreateViewRequest.md">the API
docs</a>.</p>
"><p>Polaris views are entities that map to <a
href="https://iceberg.apache.org/view-spec/">Apache Iceberg views</a>.</p>
<p>For information on managing views with the REST API or for more information
on what data can be associated with a view, see <a
href="../regtests/client/python/docs/CreateViewRequest.md">the API docs</a>.</p>
-</div></div></div><div id="tag/Polaris-Catalog-Entities/Principal"
data-section-id="tag/Polaris-Catalog-Entities/Principal" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Catalog-Entities/Principal"
aria-label="tag/Polaris-Catalog-Entities/Principal"></a>Principal</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " htm [...]
+</div></div></div><div id="tag/Polaris-Entities/Principal"
data-section-id="tag/Polaris-Entities/Principal" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-dnaUSb
dVnbUW"><a class="sc-jCbFiK hSvuOo" href="#tag/Polaris-Entities/Principal"
aria-label="tag/Polaris-Entities/Principal"></a>Principal</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>Polaris principals a [...]
<p>For information on managing principals with the REST API or for more
information on what data can be associated with a principal, see <a
href="../regtests/client/python/docs/CreatePrincipalRequest.md">the
API docs</a>.</p>
"><p>Polaris principals are unique identities that can be used to represent
users or services. Each principal may have one or more <a
href="#principal-role">principal roles</a> assigned to it for the purpose of
accessing catalogs and the entities within them.</p>
<p>For information on managing principals with the REST API or for more
information on what data can be associated with a principal, see <a
href="../regtests/client/python/docs/CreatePrincipalRequest.md">the API
docs</a>.</p>
-</div></div></div><div id="tag/Polaris-Catalog-Entities/Principal-Role"
data-section-id="tag/Polaris-Catalog-Entities/Principal-Role" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Catalog-Entities/Principal-Role"
aria-label="tag/Polaris-Catalog-Entities/Principal-Role"></a>Principal
Role</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-exayXG fwfkcU kq [...]
+</div></div></div><div id="tag/Polaris-Entities/Principal-Role"
data-section-id="tag/Polaris-Entities/Principal-Role" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Entities/Principal-Role"
aria-label="tag/Polaris-Entities/Principal-Role"></a>Principal
Role</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-exayXG fwfkcU kqJXdD redoc-markdown " html="< [...]
<p>For information on managing principal roles with the REST API or for
more information on what data can be associated with a principal role, see
<a
href="../regtests/client/python/docs/CreatePrincipalRoleRequest.md">the
API docs</a>.</p>
"><p>Polaris principal roles are labels that may be granted to <a
href="#principal">principals</a>. Each principal may have one or more principal
roles, and the same principal role may be granted to multiple principals.
Principal roles may be assigned based on the persona or responsibilities of a
given principal, or on how that principal will need to access different
entities within Polaris.</p>
<p>For information on managing principal roles with the REST API or for more
information on what data can be associated with a principal role, see <a
href="../regtests/client/python/docs/CreatePrincipalRoleRequest.md">the API
docs</a>.</p>
-</div></div></div><div id="tag/Polaris-Catalog-Entities/Catalog-Role"
data-section-id="tag/Polaris-Catalog-Entities/Catalog-Role" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Catalog-Entities/Catalog-Role"
aria-label="tag/Polaris-Catalog-Entities/Catalog-Role"></a>Catalog
Role</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-exayXG fwfkcU kqJXdD redoc [...]
+</div></div></div><div id="tag/Polaris-Entities/Catalog-Role"
data-section-id="tag/Polaris-Entities/Catalog-Role" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Entities/Catalog-Role"
aria-label="tag/Polaris-Entities/Catalog-Role"></a>Catalog
Role</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-exayXG fwfkcU kqJXdD redoc-markdown " html="<p>Polar [...]
<p>Each catalog role may have multiple <a
href="#privilege">privileges</a> granted to it, and each
catalog role can be granted to one or more <a
href="#principal-role">principal roles</a>. This is the
mechanism by which principals are granted access to entities inside a catalog
such as namespaces and tables.</p>
"><p>Polaris catalog roles are labels that may be granted to <a
href="#catalog">catalogs</a>. Each catalog may have one or more catalog roles,
and the same catalog role may be granted to multiple catalogs. Catalog roles
may be assigned based on the nature of data that will reside in a catalog, or
by the groups of users and services that might need to access that data. </p>
<p>Each catalog role may have multiple <a href="#privilege">privileges</a>
granted to it, and each catalog role can be granted to one or more <a
href="#principal-role">principal roles</a>. This is the mechanism by which
principals are granted access to entities inside a catalog such as namespaces
and tables.</p>
-</div></div></div><div id="tag/Polaris-Catalog-Entities/Privilege"
data-section-id="tag/Polaris-Catalog-Entities/Privilege" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Polaris-Catalog-Entities/Privilege"
aria-label="tag/Polaris-Catalog-Entities/Privilege"></a>Privilege</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " htm [...]
+</div></div></div><div id="tag/Polaris-Entities/Privilege"
data-section-id="tag/Polaris-Entities/Privilege" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-dnaUSb
dVnbUW"><a class="sc-jCbFiK hSvuOo" href="#tag/Polaris-Entities/Privilege"
aria-label="tag/Polaris-Entities/Privilege"></a>Privilege</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>Polaris privileges a [...]
<p>A privilege can be scoped to any entity inside a catalog, including
the catalog itself.</p>
<p>For a list of supported privileges for each privilege class, see the
API docs:</p>
<ul>
@@ -1375,28 +1371,26 @@ catalog resources and granted to principal roles.</p>
<li><a href="../regtests/client/python/docs/CatalogPrivilege.md">Catalog
Privileges</a></li>
</ul>
</div></div></div><div id="tag/Access-Control"
data-section-id="tag/Access-Control" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu
cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/Access-Control"
aria-label="tag/Access-Control"></a>Access Control</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-<p>This section provides information about how access control works for
Polaris Catalog.</p>
-<p>Polaris Catalog uses a role-based access control (RBAC) model in
which the Polaris administrator assigns access privileges to catalog roles
+<p>This section provides information about how access control works for
Apache Polaris (Incubating).</p>
+<p>Polaris uses a role-based access control (RBAC) model in which the
Polaris administrator assigns access privileges to catalog roles
and then grants access to resources to service principals by assigning catalog
roles to principal roles.</p>
<p>These are the key concepts to understanding access control in
Polaris:</p>
<ul>
@@ -1406,28 +1400,26 @@ and then grants access to resources to service
principals by assigning catalog r
<li><strong>Privilege</strong></li>
</ul>
"><!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-<p>This section provides information about how access control works for
Polaris Catalog.</p>
-<p>Polaris Catalog uses a role-based access control (RBAC) model in which the
Polaris administrator assigns access privileges to catalog roles
+<p>This section provides information about how access control works for Apache
Polaris (Incubating).</p>
+<p>Polaris uses a role-based access control (RBAC) model in which the Polaris
administrator assigns access privileges to catalog roles
and then grants access to resources to service principals by assigning catalog
roles to principal roles.</p>
<p>These are the key concepts to understanding access control in Polaris:</p>
<ul>
@@ -1570,14 +1562,14 @@ configure in Polaris:</p>
<td>A role that has been granted read and write access privileges to all
tables that belong to the catalog.<br /><br />Principal roles that have been
granted this role are allowed to perform read and write operations on tables in
the catalog.</td>
</tr>
</tbody></table>
-</div></div></div><div id="tag/Access-Control/RBAC-model"
data-section-id="tag/Access-Control/RBAC-model" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-dnaUSb
dVnbUW"><a class="sc-jCbFiK hSvuOo" href="#tag/Access-Control/RBAC-model"
aria-label="tag/Access-Control/RBAC-model"></a>RBAC model</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>The following diagram i [...]
+</div></div></div><div id="tag/Access-Control/RBAC-model"
data-section-id="tag/Access-Control/RBAC-model" class="sc-dsLQwm diwyyM"><div
class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-dnaUSb
dVnbUW"><a class="sc-jCbFiK hSvuOo" href="#tag/Access-Control/RBAC-model"
aria-label="tag/Access-Control/RBAC-model"></a>RBAC model</h2></div></div><div
class="sc-fQpRED gxopqJ"><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD
redoc-markdown " html="<p>The following diagram i [...]
privileges to catalog roles and then grants service principals access to
resources by assigning catalog roles to principal roles. Polaris
supports a many-to-one relationship between service principals and principal
roles.</p>
-<p><img src="img/rbac-model.svg" alt="Diagram that
shows the RBAC model for Polaris Catalog." title="Polaris Catalog
RBAC model"></p>
-"><p>The following diagram illustrates the RBAC model used by Polaris Catalog.
For each catalog, the Polaris administrator assigns access
+<p><img src="img/rbac-model.svg" alt="Diagram that
shows the RBAC model for Apache Polaris." title="Apache Polaris RBAC
model"></p>
+"><p>The following diagram illustrates the RBAC model used by Polaris. For
each catalog, the Polaris administrator assigns access
privileges to catalog roles and then grants service principals access to
resources by assigning catalog roles to principal roles. Polaris
supports a many-to-one relationship between service principals and principal
roles.</p>
-<p><img src="img/rbac-model.svg" alt="Diagram that shows the RBAC model for
Polaris Catalog." title="Polaris Catalog RBAC model"></p>
+<p><img src="img/rbac-model.svg" alt="Diagram that shows the RBAC model for
Apache Polaris." title="Apache Polaris RBAC model"></p>
</div></div></div><div id="tag/Access-Control/Access-control-privileges"
data-section-id="tag/Access-Control/Access-control-privileges" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Access-Control/Access-control-privileges"
aria-label="tag/Access-Control/Access-control-privileges"></a>Access control
privileges</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-e [...]
roles are granted to principal roles, and principal roles are granted to
service principals to specify the operations that service principals can
perform on objects in Polaris.</p>
@@ -1905,7 +1897,7 @@ includes the following users:</p>
</ul>
</li>
</ul>
-<p><img src="img/rbac-example.svg" alt="Diagram that
shows an example of how RBAC works in Polaris Catalog."
title="Polaris Catalog RBAC example"></p>
+<p><img src="img/rbac-example.svg" alt="Diagram that
shows an example of how RBAC works in Apache Polaris." title="Apache
Polaris RBAC example"></p>
"><p>The following diagram illustrates how RBAC works in Polaris and
includes the following users:</p>
<ul>
@@ -1943,50 +1935,140 @@ includes the following users:</p>
</ul>
</li>
</ul>
-<p><img src="img/rbac-example.svg" alt="Diagram that shows an example of how
RBAC works in Polaris Catalog." title="Polaris Catalog RBAC example"></p>
+<p><img src="img/rbac-example.svg" alt="Diagram that shows an example of how
RBAC works in Apache Polaris." title="Apache Polaris RBAC example"></p>
</div></div></div><div id="tag/Configuring-Polaris-for-Production"
data-section-id="tag/Configuring-Polaris-for-Production" class="sc-dsLQwm
diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2
class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo"
href="#tag/Configuring-Polaris-for-Production"
aria-label="tag/Configuring-Polaris-for-Production"></a>Configuring Polaris for
Production</h2></div></div><div class="sc-fQpRED gxopqJ"><div class="sc-euGpHm
sc-exayXG fwfkcU kq [...]
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
+<h1
id="configuring-apache-polaris-incubating-for-production">Configuring
Apache Polaris (Incubating) for Production</h1>
+<p>The default <code>polaris-server.yml</code> configuration
is intended for develoment and testing. When deploying Polaris in production,
there are several best practices to keep in mind.</p>
+<h2 id="security">Security</h2>
+<h3 id="configurations">Configurations</h3>
+<p>Notable configuration used to secure a Polaris deployment are
outlined below.</p>
+<h4 id="oauth2">oauth2</h4>
+<blockquote>
+<p>[!WARNING]<br>Ensure that the
<code>tokenBroker</code> setting reflects the token broker
specified in <code>authenticator</code> below.</p>
+</blockquote>
+<ul>
+<li>Configure <a
href="https://oauth.net/2/">OAuth</a> with this setting.
Remove the <code>TestInlineBearerTokenPolarisAuthenticator</code>
option and uncomment the <code>DefaultPolarisAuthenticator</code>
authenticator option beneath it.</li>
+<li>Then, configure the token broker. You can configure the token broker
to use either <a
href="https://github.com/apache/polaris/blob/b482617bf8cc508b37dbedf3ebc81a9408160a5e/polaris-service/src/main/java/io/polaris/service/auth/JWTRSAKeyPair.java#L24">asymmetric</a>
or <a
href="https://github.com/apache/polaris/blob/b482617bf8cc508b37dbedf3ebc81a9408160a5e/polaris-service/src/main/java/io/polaris/service/auth/JWTSymmetricKeyBroker.java#L23">s
[...]
+</ul>
+<h4
id="authenticatortokenbroker">authenticator.tokenBroker</h4>
+<blockquote>
+<p>[!WARNING]<br>Ensure that the
<code>tokenBroker</code> setting reflects the token broker
specified in <code>oauth2</code> above.</p>
+</blockquote>
+<h4
id="callcontextresolver--realmcontextresolver">callContextResolver
&amp; realmContextResolver</h4>
+<ul>
+<li>Use these configurations to specify a service that can resolve a
realm from bearer tokens.</li>
+<li>The service(s) used here must implement the relevant interfaces
(i.e. <a
href="https://github.com/apache/polaris/blob/8290019c10290a600e40b35ddb1e2f54bf99e120/polaris-service/src/main/java/io/polaris/service/context/CallContextResolver.java#L27">CallContextResolver</a>
and <a
href="https://github.com/apache/polaris/blob/7ce86f10a68a3b56aed766235c88d6027c0de038/polaris-service/src/main/java/io/polaris/service/context/RealmContextResolver.java"&
[...]
+</ul>
+<h2 id="metastore-management">Metastore Management</h2>
+<blockquote>
+<p>[!IMPORTANT]<br>The default <code>in-memory</code>
implementation for <code>metastoreManager</code> is meant for
testing and not suitable for production usage. Instead, consider an
implementation such as <code>eclipse-link</code> which allows you
to store metadata in a remote database.</p>
+</blockquote>
+<p>A Metastore Manger should be configured with an implementation that
durably persists Polaris entities. Use the configuration
<code>metaStoreManager</code> to configure a <a
href="https://github.com/apache/polaris/blob/627dc602eb15a3258dcc32babf8def34cf6de0e9/polaris-core/src/main/java/io/polaris/core/persistence/PolarisMetaStoreManager.java#L47">MetastoreManager</a>
implementation where Polaris entities will be persisted. </p>
+<p>Be sure to secure your metastore backend since it will be storing
credentials and catalog metadata.</p>
+<h3 id="configuring-eclipselink">Configuring
EclipseLink</h3>
+<p>To use <a
href="https://eclipse.dev/eclipselink/">EclipseLink</a> for
metastore management, specify the configuration
<code>metaStoreManager.conf-file</code> to point to an <a
href="https://eclipse.dev/eclipselink/documentation/2.5/solutions/testingjpa002.htm">EclipseLink
<code>persistence.xml</code> file</a>. This file, local to
the Polaris service, will contain information on what database to use for
metastore [...]
+<h3 id="bootstrapping">Bootstrapping</h3>
+<p>Before using Polaris when using a metastore manager other than
<code>in-memory</code>, you must
<strong>bootstrap</strong> the metastore manager. This is a manual
operation that must be performed <strong>only once</strong> in
order to prepare the metastore manager to integrate with Polaris. When the
metastore manager is bootstrapped, any existing Polaris entities in the
metastore manager may be <strong>purged</strong>.</p>
+<p>To bootstrap Polaris, run:</p>
+<pre><code class="language-bash"><span
class="token function">java</span> <span
class="token parameter variable">-jar</span>
/path/to/jar/polaris-service-all.jar bootstrap polaris-server.yml
+</code></pre>
+<p>Afterwards, Polaris can be launched normally:</p>
+<pre><code class="language-bash"><span
class="token function">java</span> <span
class="token parameter variable">-jar</span>
/path/to/jar/polaris-service-all.jar server polaris-server.yml
+</code></pre>
+<h2 id="other-configurations">Other Configurations</h2>
+<p>When deploying Polaris in production, consider adjusting the
following configurations:</p>
+<h4
id="featureconfigurationsupported_catalog_storage_types">featureConfiguration.SUPPORTED_CATALOG_STORAGE_TYPES</h4>
+<ul>
+<li>By default Polaris catalogs are allowed to be located in local
filesystem with the <code>FILE</code> storage type. This should be
disabled for production systems.</li>
+<li>Use this configuration to additionally disable any other storage
types that will not be in use.</li>
+</ul>
"><!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-</div></div></div><div
id="tag/Configuring-Polaris-for-Production/Configuring-Polaris-for-Production"
data-section-id="tag/Configuring-Polaris-for-Production/Configuring-Polaris-for-Production"
class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED
htdgPt"><h2 class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo"
href="#tag/Configuring-Polaris-for-Production/Configuring-Polaris-for-Production"
aria-label="tag/Configuring-Polaris-for-Production/Configuring-Polaris-fo [...]
+<h1 id="configuring-apache-polaris-incubating-for-production">Configuring
Apache Polaris (Incubating) for Production</h1>
+<p>The default <code>polaris-server.yml</code> configuration is intended for
develoment and testing. When deploying Polaris in production, there are several
best practices to keep in mind.</p>
+<h2 id="security">Security</h2>
+<h3 id="configurations">Configurations</h3>
+<p>Notable configuration used to secure a Polaris deployment are outlined
below.</p>
+<h4 id="oauth2">oauth2</h4>
+<blockquote>
+<p>[!WARNING]<br>Ensure that the <code>tokenBroker</code> setting reflects the
token broker specified in <code>authenticator</code> below.</p>
+</blockquote>
+<ul>
+<li>Configure <a href="https://oauth.net/2/">OAuth</a> with this setting.
Remove the <code>TestInlineBearerTokenPolarisAuthenticator</code> option and
uncomment the <code>DefaultPolarisAuthenticator</code> authenticator option
beneath it.</li>
+<li>Then, configure the token broker. You can configure the token broker to
use either <a
href="https://github.com/apache/polaris/blob/b482617bf8cc508b37dbedf3ebc81a9408160a5e/polaris-service/src/main/java/io/polaris/service/auth/JWTRSAKeyPair.java#L24">asymmetric</a>
or <a
href="https://github.com/apache/polaris/blob/b482617bf8cc508b37dbedf3ebc81a9408160a5e/polaris-service/src/main/java/io/polaris/service/auth/JWTSymmetricKeyBroker.java#L23">symmetric</a>
keys.</li>
+</ul>
+<h4 id="authenticatortokenbroker">authenticator.tokenBroker</h4>
+<blockquote>
+<p>[!WARNING]<br>Ensure that the <code>tokenBroker</code> setting reflects the
token broker specified in <code>oauth2</code> above.</p>
+</blockquote>
+<h4 id="callcontextresolver--realmcontextresolver">callContextResolver &
realmContextResolver</h4>
+<ul>
+<li>Use these configurations to specify a service that can resolve a realm
from bearer tokens.</li>
+<li>The service(s) used here must implement the relevant interfaces (i.e. <a
href="https://github.com/apache/polaris/blob/8290019c10290a600e40b35ddb1e2f54bf99e120/polaris-service/src/main/java/io/polaris/service/context/CallContextResolver.java#L27">CallContextResolver</a>
and <a
href="https://github.com/apache/polaris/blob/7ce86f10a68a3b56aed766235c88d6027c0de038/polaris-service/src/main/java/io/polaris/service/context/RealmContextResolver.java">RealmContextResolver</a>).</li>
+</ul>
+<h2 id="metastore-management">Metastore Management</h2>
+<blockquote>
+<p>[!IMPORTANT]<br>The default <code>in-memory</code> implementation for
<code>metastoreManager</code> is meant for testing and not suitable for
production usage. Instead, consider an implementation such as
<code>eclipse-link</code> which allows you to store metadata in a remote
database.</p>
+</blockquote>
+<p>A Metastore Manger should be configured with an implementation that durably
persists Polaris entities. Use the configuration <code>metaStoreManager</code>
to configure a <a
href="https://github.com/apache/polaris/blob/627dc602eb15a3258dcc32babf8def34cf6de0e9/polaris-core/src/main/java/io/polaris/core/persistence/PolarisMetaStoreManager.java#L47">MetastoreManager</a>
implementation where Polaris entities will be persisted. </p>
+<p>Be sure to secure your metastore backend since it will be storing
credentials and catalog metadata.</p>
+<h3 id="configuring-eclipselink">Configuring EclipseLink</h3>
+<p>To use <a href="https://eclipse.dev/eclipselink/">EclipseLink</a> for
metastore management, specify the configuration
<code>metaStoreManager.conf-file</code> to point to an <a
href="https://eclipse.dev/eclipselink/documentation/2.5/solutions/testingjpa002.htm">EclipseLink
<code>persistence.xml</code> file</a>. This file, local to the Polaris
service, will contain information on what database to use for metastore
management and how to connect to it.</p>
+<h3 id="bootstrapping">Bootstrapping</h3>
+<p>Before using Polaris when using a metastore manager other than
<code>in-memory</code>, you must <strong>bootstrap</strong> the metastore
manager. This is a manual operation that must be performed <strong>only
once</strong> in order to prepare the metastore manager to integrate with
Polaris. When the metastore manager is bootstrapped, any existing Polaris
entities in the metastore manager may be <strong>purged</strong>.</p>
+<p>To bootstrap Polaris, run:</p>
+<pre><code class="language-bash"><span class="token function">java</span>
<span class="token parameter variable">-jar</span>
/path/to/jar/polaris-service-all.jar bootstrap polaris-server.yml
+</code></pre>
+<p>Afterwards, Polaris can be launched normally:</p>
+<pre><code class="language-bash"><span class="token function">java</span>
<span class="token parameter variable">-jar</span>
/path/to/jar/polaris-service-all.jar server polaris-server.yml
+</code></pre>
+<h2 id="other-configurations">Other Configurations</h2>
+<p>When deploying Polaris in production, consider adjusting the following
configurations:</p>
+<h4
id="featureconfigurationsupported_catalog_storage_types">featureConfiguration.SUPPORTED_CATALOG_STORAGE_TYPES</h4>
+<ul>
+<li>By default Polaris catalogs are allowed to be located in local filesystem
with the <code>FILE</code> storage type. This should be disabled for production
systems.</li>
+<li>Use this configuration to additionally disable any other storage types
that will not be in use.</li>
+</ul>
+</div></div></div><div
id="tag/Configuring-Polaris-for-Production/Configuring-Apache-Polaris-(Incubating)-for-Production"
data-section-id="tag/Configuring-Polaris-for-Production/Configuring-Apache-Polaris-(Incubating)-for-Production"
class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED
htdgPt"><h2 class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo"
href="#tag/Configuring-Polaris-for-Production/Configuring-Apache-Polaris-(Incubating)-for-Production"
aria-label="t [...]
"><p>The default <code>polaris-server.yml</code> configuration is intended for
develoment and testing. When deploying Polaris in production, there are several
best practices to keep in mind.</p>
-</div></div></div><div
id="tag/Configuring-Polaris-for-Production/Configuring-Polaris-for-Production/Security"
data-section-id="tag/Configuring-Polaris-for-Production/Configuring-Polaris-for-Production/Security"
class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED
htdgPt"><h2 class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Configuring-Polaris-for-Production/Configuring-Polaris-for-Production/Security"
aria-label="tag/Configuring-Polaris-for-Produc [...]
+</div></div></div><div
id="tag/Configuring-Polaris-for-Production/Configuring-Apache-Polaris-(Incubating)-for-Production/Security"
data-section-id="tag/Configuring-Polaris-for-Production/Configuring-Apache-Polaris-(Incubating)-for-Production/Security"
class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED
htdgPt"><h2 class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Configuring-Polaris-for-Production/Configuring-Apache-Polaris-(Incubating)-for-Product
[...]
<p>Notable configuration used to secure a Polaris deployment are
outlined below.</p>
<h4 id="oauth2">oauth2</h4>
<blockquote>
@@ -2024,7 +2106,7 @@ includes the following users:</p>
<li>Use these configurations to specify a service that can resolve a realm
from bearer tokens.</li>
<li>The service(s) used here must implement the relevant interfaces (i.e. <a
href="https://github.com/apache/polaris/blob/8290019c10290a600e40b35ddb1e2f54bf99e120/polaris-service/src/main/java/io/polaris/service/context/CallContextResolver.java#L27">CallContextResolver</a>
and <a
href="https://github.com/apache/polaris/blob/7ce86f10a68a3b56aed766235c88d6027c0de038/polaris-service/src/main/java/io/polaris/service/context/RealmContextResolver.java">RealmContextResolver</a>).</li>
</ul>
-</div></div></div><div
id="tag/Configuring-Polaris-for-Production/Configuring-Polaris-for-Production/Metastore-Management"
data-section-id="tag/Configuring-Polaris-for-Production/Configuring-Polaris-for-Production/Metastore-Management"
class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED
htdgPt"><h2 class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Configuring-Polaris-for-Production/Configuring-Polaris-for-Production/Metastore-Management"
aria-label [...]
+</div></div></div><div
id="tag/Configuring-Polaris-for-Production/Configuring-Apache-Polaris-(Incubating)-for-Production/Metastore-Management"
data-section-id="tag/Configuring-Polaris-for-Production/Configuring-Apache-Polaris-(Incubating)-for-Production/Metastore-Management"
class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED
htdgPt"><h2 class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Configuring-Polaris-for-Production/Configuring-Apache-Polaris- [...]
<p>[!IMPORTANT]<br>The default <code>in-memory</code>
implementation for <code>metastoreManager</code> is meant for
testing and not suitable for production usage. Instead, consider an
implementation such as <code>eclipse-link</code> which allows you
to store metadata in a remote database.</p>
</blockquote>
<p>A Metastore Manger should be configured with an implementation that
durably persists Polaris entities. Use the configuration
<code>metaStoreManager</code> to configure a <a
href="https://github.com/apache/polaris/blob/627dc602eb15a3258dcc32babf8def34cf6de0e9/polaris-core/src/main/java/io/polaris/core/persistence/PolarisMetaStoreManager.java#L47">MetastoreManager</a>
implementation where Polaris entities will be persisted. </p>
@@ -2054,7 +2136,7 @@ includes the following users:</p>
<p>Afterwards, Polaris can be launched normally:</p>
<pre><code class="language-bash"><span class="token function">java</span>
<span class="token parameter variable">-jar</span>
/path/to/jar/polaris-service-all.jar server polaris-server.yml
</code></pre>
-</div></div></div><div
id="tag/Configuring-Polaris-for-Production/Configuring-Polaris-for-Production/Other-Configurations"
data-section-id="tag/Configuring-Polaris-for-Production/Configuring-Polaris-for-Production/Other-Configurations"
class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED
htdgPt"><h2 class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Configuring-Polaris-for-Production/Configuring-Polaris-for-Production/Other-Configurations"
aria-label [...]
+</div></div></div><div
id="tag/Configuring-Polaris-for-Production/Configuring-Apache-Polaris-(Incubating)-for-Production/Other-Configurations"
data-section-id="tag/Configuring-Polaris-for-Production/Configuring-Apache-Polaris-(Incubating)-for-Production/Other-Configurations"
class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED
htdgPt"><h2 class="sc-dnaUSb dVnbUW"><a class="sc-jCbFiK hSvuOo"
href="#tag/Configuring-Polaris-for-Production/Configuring-Apache-Polaris- [...]
<h4
id="featureconfigurationsupported_catalog_storage_types">featureConfiguration.SUPPORTED_CATALOG_STORAGE_TYPES</h4>
<ul>
<li>By default Polaris catalogs are allowed to be located in local
filesystem with the <code>FILE</code> storage type. This should be
disabled for production systems.</li>
@@ -3568,7 +3650,7 @@ Clients must interpret either <code>null</code> or
missing response value of <co
" class="sc-euGpHm sc-exayXG fwfkcU jYGAQp"><p>Generic base server URL, with
all parts configurable</p>
</div><div tabindex="0" role="button"><div class="sc-hDcvty
jpmGrk"><span>{scheme}://{host}:{port}/{basePath}</span>/v1/{prefix}/views/rename</div></div></div></div></div><div><h3
class="sc-kkmypM jKNCPF"> <!-- -->Request samples<!-- --> </h3><div
class="sc-bSlUec jxQggo" data-rttabs="true"><ul class="react-tabs__tab-list"
role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab"
id="tab:R2ae5qa:0" aria-selected="true" aria-disabled="false"
aria-controls="panel:R2ae [...]
<script>
- const __redoc_state =
{"menu":{"activeItemIdx":-1},"spec":{"data":{"openapi":"3.0.0","info":{"title":"Polaris
Catalog
Documentation","x-logo":{"url":"./img/logos/polaris-catalog-stacked-logo.svg","altText":"Polaris
Catalog Logo"},"description":"<!--\n Licensed to the Apache Software
Foundation (ASF) under one\n or more contributor license agreements. See the
NOTICE file\n distributed with this work for additional information\n regarding
copyright ownership. The ASF licenses this [...]
+ const __redoc_state =
{"menu":{"activeItemIdx":-1},"spec":{"data":{"openapi":"3.0.0","info":{"title":"Apache
Polaris (Incubating)
Documentation","x-logo":{"url":"./img/logos/polaris-catalog-stacked-logo.svg","altText":"Apache
Polaris Logo"},"description":"<!--\n Licensed to the Apache Software
Foundation (ASF) under one\n or more contributor license agreements. See the
NOTICE file\n distributed with this work for additional information\n
regarding copyright ownership. The ASF [...]
var container = document.getElementById('redoc');
Redoc.hydrate(__redoc_state, container);
diff --git a/docs/overview.md b/docs/overview.md
index df03c6f..e234bf7 100644
--- a/docs/overview.md
+++ b/docs/overview.md
@@ -1,42 +1,40 @@
<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
-Polaris Catalog is a catalog implementation for Apache Iceberg™ tables
and is built on the open source Apache Iceberg™ REST protocol.
+Apache Polaris (Incubating) is a catalog implementation for Apache
Iceberg™ tables and is built on the open source Apache Iceberg™
REST protocol.
-With Polaris Catalog, you can provide centralized, secure read and write
access to your Iceberg tables across different REST-compatible query engines.
+With Polaris, you can provide centralized, secure read and write access to
your Iceberg tables across different REST-compatible query engines.
-
+ overview")
## Key concepts
-This section introduces key concepts associated with using Polaris Catalog.
+This section introduces key concepts associated with using Apache Polaris
(Incubating).
-In the following diagram, a sample [Polaris Catalog
structure](overview.md#catalog) with nested [namespaces](overview.md#namespace)
is shown for Catalog1. No tables
+In the following diagram, a sample [Apache Polaris (Incubating)
structure](overview.md#catalog) with nested [namespaces](overview.md#namespace)
is shown for Catalog1. No tables
or namespaces have been created yet for Catalog2 or Catalog3.
-
+ structure")
### Catalog
-In Polaris Catalog, you can create one or more catalog resources to organize
Iceberg tables.
+In Polaris, you can create one or more catalog resources to organize Iceberg
tables.
Configure your catalog by setting values in the storage configuration for S3,
Azure, or Google Cloud Storage. An Iceberg catalog enables a
query engine to manage and organize tables. The catalog forms the first
architectural layer in the [Apache Iceberg™ table
specification](https://iceberg.apache.org/spec/#overview) and must support the
following tasks:
@@ -67,11 +65,11 @@ nested namespaces. Iceberg tables belong to namespaces.
### Apache Iceberg™ tables and catalogs
-In an internal catalog, an Iceberg table is registered in Polaris Catalog, but
read and written via query engines. The table data and
-metadata is stored in your external cloud storage. The table uses Polaris
Catalog as the Iceberg catalog.
+In an internal catalog, an Iceberg table is registered in Polaris, but read
and written via query engines. The table data and
+metadata is stored in your external cloud storage. The table uses Polaris as
the Iceberg catalog.
If you have tables that use Snowflake as the Iceberg catalog
(Snowflake-managed tables), you can sync these tables to an external
-catalog in Polaris Catalog. If you sync this catalog to Polaris Catalog, it
appears as an external catalog in Polaris Catalog. The table data and
+catalog in Polaris. If you sync this catalog to Polaris, it appears as an
external catalog in Polaris. The table data and
metadata is stored in your external cloud storage. The Snowflake query engine
can read from or write to these tables. However, the other query
engines can only read from these tables.
@@ -96,14 +94,14 @@ engines can only read from these tables.
### Service principal
-A service principal is an entity that you create in Polaris Catalog. Each
service principal encapsulates credentials that you use to connect
-to Polaris Catalog.
+A service principal is an entity that you create in Polaris. Each service
principal encapsulates credentials that you use to connect
+to Polaris.
Query engines use service principals to connect to catalogs.
-Polaris Catalog generates a Client ID and Client Secret pair for each service
principal.
+Polaris generates a Client ID and Client Secret pair for each service
principal.
-The following table displays example service principals that you might create
in Polaris Catalog:
+The following table displays example service principals that you might create
in Polaris:
| Service connection name | Purpose |
| --------------------------- | ----------- |
@@ -118,7 +116,7 @@ The following table displays example service principals
that you might create in
A service connection represents a REST-compatible engine (such as Apache
Spark™, Apache Flink®, or Trino) that can read from and write to
Polaris
Catalog. When creating a new service connection, the Polaris administrator
grants the service principal that is created with the new service
connection either a new or existing principal role. A principal role is a
resource in Polaris that you can use to logically group Polaris
-service principals together and grant privileges on securable objects. For
more information, see [Principal role](access-control.md#principal-role
"Principal role"). Polaris Catalog uses a role-based access control (RBAC)
model to grant service principals access to resources. For more information,
+service principals together and grant privileges on securable objects. For
more information, see [Principal role](access-control.md#principal-role
"Principal role"). Polaris uses a role-based access control (RBAC) model to
grant service principals access to resources. For more information,
see [Access control](access-control.md "Access control"). For a diagram of
this model, see [RBAC model](access-control.md#rbac-model "RBAC model").
If the Polaris administrator grants the service principal for the new service
connection a new principal role, the service principal
@@ -134,7 +132,7 @@ bestowed to the service principal. For an example of how
RBAC works in Polaris,
### Storage configuration
A storage configuration stores a generated identity and access management
(IAM) entity for your external cloud storage and is created
-when you create a catalog. The storage configuration is used to set the values
to connect Polaris Catalog to your cloud storage. During the
+when you create a catalog. The storage configuration is used to set the values
to connect Polaris to your cloud storage. During the
catalog creation process, an IAM entity is generated and used to create a
trust relationship between the cloud storage provider and Polaris
Catalog.
@@ -165,7 +163,7 @@ In the following example workflow, Bob creates an Apache
Iceberg™ table na
has the privileges to perform this action. Alice
creates an unmanaged table in Snowflake to read data from Table1.
-
+")
## Security and access control
@@ -173,19 +171,19 @@ This section describes security and access control.
### Credential vending
-To secure interactions with service connections, Polaris Catalog vends
temporary storage credentials to the query engine during query
+To secure interactions with service connections, Polaris vends temporary
storage credentials to the query engine during query
execution. These credentials allow the query engine to run the query without
requiring access to your external cloud storage for
Iceberg tables. This process is called credential vending.
### Identity and access management (IAM)
-Polaris Catalog uses the identity and access management (IAM) entity to
securely connect to your storage for accessing table data, Iceberg
-metadata, and manifest files that store the table schema, partitions, and
other metadata. Polaris Catalog retains the IAM entity for your
+Polaris uses the identity and access management (IAM) entity to securely
connect to your storage for accessing table data, Iceberg
+metadata, and manifest files that store the table schema, partitions, and
other metadata. Polaris retains the IAM entity for your
storage location.
### Access control
-Polaris Catalog enforces the access control that you configure across all
tables registered with the service and governs security for all
+Polaris enforces the access control that you configure across all tables
registered with the service and governs security for all
queries from query engines in a consistent manner.
Polaris uses a role-based access control (RBAC) model that lets you centrally
configure access for Polaris service principals to catalogs,
diff --git a/docs/quickstart.md b/docs/quickstart.md
index 4ea6d23..6fb6dd6 100644
--- a/docs/quickstart.md
+++ b/docs/quickstart.md
@@ -1,25 +1,25 @@
<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
# Quick Start
-This guide serves as a introduction to several key entities that can be
managed with Polaris, describes how to build and deploy Polaris locally, and
finally includes examples of how to use Polaris with Apache Spark.
+This guide serves as a introduction to several key entities that can be
managed with Apache Polaris (Incubating), describes how to build and deploy
Polaris locally, and finally includes examples of how to use Polaris with
Apache Spark™.
## Prerequisites
@@ -274,7 +274,7 @@ bin/spark-shell \
Replace `XXXX` and `YYYY` with the client ID and client secret generated when
you created the `quickstart_user` principal.
-Similar to the CLI commands above, this configures Spark to use the Polaris
catalog running at `localhost:8181`. If your Polaris server is running
elsewhere, but sure to update the configuration appropriately.
+Similar to the CLI commands above, this configures Spark to use the Polaris
running at `localhost:8181`. If your Polaris server is running elsewhere, but
sure to update the configuration appropriately.
Finally, note that we include the `hadoop-aws` package here. If your table is
using a different filesystem, be sure to include the appropriate dependency.
diff --git a/spec/docs.yaml b/spec/docs.yaml
index d6891f4..73a8381 100644
--- a/spec/docs.yaml
+++ b/spec/docs.yaml
@@ -1,10 +1,10 @@
openapi: 3.0.0
info:
- title: Polaris Catalog Documentation
+ title: Apache Polaris (Incubating) Documentation
x-logo:
url: ./img/logos/polaris-catalog-stacked-logo.svg
- altText: Polaris Catalog Logo
+ altText: Apache Polaris Logo
description:
$ref: ../docs/quickstart.md
contact:
@@ -15,10 +15,10 @@ info:
url: https://github.com/apache/polaris/blob/main/LICENSE
tags:
- - name: Polaris Catalog Overview
+ - name: Overview
description:
$ref: ../docs/overview.md
- - name: Polaris Catalog Entities
+ - name: Polaris Entities
description:
$ref: ../docs/entities.md
- name: Access Control
diff --git a/spec/index.yaml b/spec/index.yaml
index 2638c36..0a230df 100644
--- a/spec/index.yaml
+++ b/spec/index.yaml
@@ -1,10 +1,10 @@
openapi: 3.0.0
info:
- title: Polaris Catalog Documentation
+ title: Apache Polaris (Incubating) Documentation
x-logo:
url: ./img/logos/polaris-catalog-stacked-logo.svg
- altText: Polaris Catalog Logo
- description: "<!--\n Licensed to the Apache Software Foundation (ASF) under
one\n or more contributor license agreements. See the NOTICE file\n
distributed with this work for additional information\n regarding copyright
ownership. The ASF licenses this file\n to you under the Apache License,
Version 2.0 (the\n \"License\"); you may not use this file except in
compliance\n with the License. You may obtain a copy of the License at\n\n
http://www.apache.org/licenses/LICENSE-2.0\n\n U [...]
+ altText: Apache Polaris Logo
+ description: "<!--\n Licensed to the Apache Software Foundation (ASF) under
one\n or more contributor license agreements. See the NOTICE file\n
distributed with this work for additional information\n regarding copyright
ownership. The ASF licenses this file\n to you under the Apache License,
Version 2.0 (the\n \"License\"); you may not use this file except in
compliance\n with the License. You may obtain a copy of the License at\n\n
http://www.apache.org/licenses/LICENSE-2. [...]
contact:
email: dev [at] polaris.apache.org
url: https://github.com/apache/polaris
@@ -49,68 +49,65 @@ servers:
description: Optional prefix to be appended to all routes
default: ''
tags:
- - name: Polaris Catalog Overview
+ - name: Overview
description: >
<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
- Polaris Catalog is a catalog implementation for Apache Iceberg™
- tables and is built on the open source Apache Iceberg™ REST
- protocol.
+ Apache Polaris (Incubating) is a catalog implementation for Apache
+ Iceberg™ tables and is built on the open source Apache
+ Iceberg™ REST protocol.
- With Polaris Catalog, you can provide centralized, secure read and write
- access to your Iceberg tables across different REST-compatible query
- engines.
+ With Polaris, you can provide centralized, secure read and write access
to
+ your Iceberg tables across different REST-compatible query engines.
- 
+  overview")
## Key concepts
- This section introduces key concepts associated with using Polaris
- Catalog.
+ This section introduces key concepts associated with using Apache Polaris
+ (Incubating).
- In the following diagram, a sample [Polaris Catalog
+ In the following diagram, a sample [Apache Polaris (Incubating)
structure](overview.md#catalog) with nested
[namespaces](overview.md#namespace) is shown for Catalog1. No tables
or namespaces have been created yet for Catalog2 or Catalog3.
- 
+  structure")
### Catalog
- In Polaris Catalog, you can create one or more catalog resources to
- organize Iceberg tables.
+ In Polaris, you can create one or more catalog resources to organize
+ Iceberg tables.
Configure your catalog by setting values in the storage configuration for
@@ -164,18 +161,18 @@ tags:
### Apache Iceberg™ tables and catalogs
- In an internal catalog, an Iceberg table is registered in Polaris
Catalog,
- but read and written via query engines. The table data and
+ In an internal catalog, an Iceberg table is registered in Polaris, but
+ read and written via query engines. The table data and
metadata is stored in your external cloud storage. The table uses Polaris
- Catalog as the Iceberg catalog.
+ as the Iceberg catalog.
If you have tables that use Snowflake as the Iceberg catalog
(Snowflake-managed tables), you can sync these tables to an external
- catalog in Polaris Catalog. If you sync this catalog to Polaris Catalog,
- it appears as an external catalog in Polaris Catalog. The table data and
+ catalog in Polaris. If you sync this catalog to Polaris, it appears as an
+ external catalog in Polaris. The table data and
metadata is stored in your external cloud storage. The Snowflake query
engine can read from or write to these tables. However, the other query
@@ -227,21 +224,21 @@ tags:
### Service principal
- A service principal is an entity that you create in Polaris Catalog. Each
- service principal encapsulates credentials that you use to connect
+ A service principal is an entity that you create in Polaris. Each service
+ principal encapsulates credentials that you use to connect
- to Polaris Catalog.
+ to Polaris.
Query engines use service principals to connect to catalogs.
- Polaris Catalog generates a Client ID and Client Secret pair for each
- service principal.
+ Polaris generates a Client ID and Client Secret pair for each service
+ principal.
The following table displays example service principals that you might
- create in Polaris Catalog:
+ create in Polaris:
| Service connection name | Purpose |
| --------------------------- | ----------- |
@@ -266,9 +263,8 @@ tags:
service principals together and grant privileges on securable objects.
For
more information, see [Principal role](access-control.md#principal-role
- "Principal role"). Polaris Catalog uses a role-based access control
(RBAC)
- model to grant service principals access to resources. For more
- information,
+ "Principal role"). Polaris uses a role-based access control (RBAC) model
+ to grant service principals access to resources. For more information,
see [Access control](access-control.md "Access control"). For a diagram
of
this model, see [RBAC model](access-control.md#rbac-model "RBAC model").
@@ -309,7 +305,7 @@ tags:
(IAM) entity for your external cloud storage and is created
when you create a catalog. The storage configuration is used to set the
- values to connect Polaris Catalog to your cloud storage. During the
+ values to connect Polaris to your cloud storage. During the
catalog creation process, an IAM entity is generated and used to create a
trust relationship between the cloud storage provider and Polaris
@@ -359,8 +355,9 @@ tags:
has the privileges to perform this action. Alice
creates an unmanaged table in Snowflake to read data from Table1.
- 
+ ")
## Security and access control
@@ -372,8 +369,8 @@ tags:
### Credential vending
- To secure interactions with service connections, Polaris Catalog vends
- temporary storage credentials to the query engine during query
+ To secure interactions with service connections, Polaris vends temporary
+ storage credentials to the query engine during query
execution. These credentials allow the query engine to run the query
without requiring access to your external cloud storage for
@@ -384,11 +381,11 @@ tags:
### Identity and access management (IAM)
- Polaris Catalog uses the identity and access management (IAM) entity to
- securely connect to your storage for accessing table data, Iceberg
+ Polaris uses the identity and access management (IAM) entity to securely
+ connect to your storage for accessing table data, Iceberg
metadata, and manifest files that store the table schema, partitions, and
- other metadata. Polaris Catalog retains the IAM entity for your
+ other metadata. Polaris retains the IAM entity for your
storage location.
@@ -396,8 +393,8 @@ tags:
### Access control
- Polaris Catalog enforces the access control that you configure across all
- tables registered with the service and governs security for all
+ Polaris enforces the access control that you configure across all tables
+ registered with the service and governs security for all
queries from query engines in a consistent manner.
@@ -429,30 +426,31 @@ tags:
Flink®, and Flink® are either registered trademarks or trademarks
of the Apache Software Foundation in the United States and/or other
countries.
- x-displayName: Polaris Catalog Overview
- - name: Polaris Catalog Entities
+ x-displayName: Overview
+ - name: Polaris Entities
description: >
<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
- This page documents various entities that can be managed in Polaris.
+ This page documents various entities that can be managed in Apache
Polaris
+ (Incubating).
## Catalog
@@ -600,37 +598,35 @@ tags:
Privileges](../regtests/client/python/docs/NamespacePrivilege.md)
* [Catalog
Privileges](../regtests/client/python/docs/CatalogPrivilege.md)
- x-displayName: Polaris Catalog Entities
+ x-displayName: Polaris Entities
- name: Access Control
description: >
<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
This section provides information about how access control works for
- Polaris Catalog.
+ Apache Polaris (Incubating).
- Polaris Catalog uses a role-based access control (RBAC) model in which
the
- Polaris administrator assigns access privileges to catalog roles
+ Polaris uses a role-based access control (RBAC) model in which the
Polaris
+ administrator assigns access privileges to catalog roles
and then grants access to resources to service principals by assigning
catalog roles to principal roles.
@@ -770,8 +766,8 @@ tags:
## RBAC model
- The following diagram illustrates the RBAC model used by Polaris Catalog.
- For each catalog, the Polaris administrator assigns access
+ The following diagram illustrates the RBAC model used by Polaris. For
each
+ catalog, the Polaris administrator assigns access
privileges to catalog roles and then grants service principals access to
resources by assigning catalog roles to principal roles. Polaris
@@ -780,8 +776,8 @@ tags:
principal roles.
- 
+ 
## Access control privileges
@@ -947,33 +943,33 @@ tags:
- The Catalog reader role grants read-only access for a catalog
named Gold zone catalog.
- 
+ 
x-displayName: Access Control
- name: Configuring Polaris for Production
description: >+
<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
- # Configuring Polaris for Production
+ # Configuring Apache Polaris (Incubating) for Production
The default `polaris-server.yml` configuration is intended for develoment
@@ -7025,10 +7021,10 @@ components:
updates:
owner: Raoul
x-tagGroups:
- - name: Polaris Catalog Documentation
+ - name: Apache Polaris (Incubating) Documentation
tags:
- - Polaris Catalog Overview
- - Polaris Catalog Entities
+ - Overview
+ - Polaris Entities
- Access Control
- Configuring Polaris for Production
- name: Polaris Management Service
diff --git a/spec/polaris-management-service.yml
b/spec/polaris-management-service.yml
index 16d0592..a11f9e0 100644
--- a/spec/polaris-management-service.yml
+++ b/spec/polaris-management-service.yml
@@ -1,21 +1,21 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+
# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
+
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
openapi: 3.0.3
info:
title: Polaris Management Service
diff --git a/spec/redocly.yaml b/spec/redocly.yaml
index f14eff0..a00d458 100644
--- a/spec/redocly.yaml
+++ b/spec/redocly.yaml
@@ -1,21 +1,19 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+
# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
+
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
theme:
openapi: