diff --git a/source/_static/css-style.css b/source/_static/css-style.css
index e09bf84a..9bac0ef3 100644
--- a/source/_static/css-style.css
+++ b/source/_static/css-style.css
@@ -1,246 +1,257 @@
@font-face {
- font-family: "Mark";
- src: url("fonts/Mark-Regular.woff2") format("woff2"),
- url("fonts/Mark-Regular.woff") format("woff");
- font-weight: normal;
- font-style: normal;
+ font-family: "Mark";
+ src: url("fonts/Mark-Regular.woff2") format("woff2"),
+ url("fonts/Mark-Regular.woff") format("woff");
+ font-weight: normal;
+ font-style: normal;
}
:root {
- --table-border-color: #e6e6e6;
+ --table-border-color: #e6e6e6;
+ --minio-red: #c72e49;
+ --minio-midnight: #012b35;
+ --minio-nautical: #00303f;
+ --minio-meridian: #132742;
+ --minio-glacier: #edf7f7;
+
}
body {
- font-family: Mark, Helvetica, sans-serif;
- font-size: 100%;
-}
-
-div.body {
- min-width: 500px;
- max-width: 600px;
- margin: 0 0 0 300px;
- position: relative;
- z-index: 0;
- padding-top: 10px;
-}
-
-div.body p {
- font-size: 90%;
-}
-
-div.admonition {
font-family: Mark, Helvetica, sans-serif;
- border-left: 5px solid #c72e49;
-}
-
-div.admonition p.admonition-title {
- font-family: Mark, Helvetica, sans-serif;
- text-transform: uppercase;
font-size: 100%;
- font-weight: bold;
}
-div.body h1,
-div.body h2,
-div.body h3,
-div.body h4,
-div.body h5,
-div.body h6 {
- font-family: Mark, sans-serif;
- font-weight: normal;
- margin: 30px 0px 10px 0px;
- padding: 0;
- color: #c72e49;
+div.flexwrapper {
+ display: flex;
+ flex-flow: row wrap;
+
+ width: auto;
+ height: 100vh;
+ /* overflow: hidden;
+ Have to comment this out because clicking anchors breaks layout. */
}
-div.sphinxsidebar {
- width: 300px;
- font-size: 80%;
- line-height: 1.5;
- box-shadow: 5px 5px 5px #e6e6e6;
- height: 100%;
- z-index: 1
+div :target.h1,h2,h3,h4 {
+ scroll-margin-top: 100px;
}
-div.sphinxsidebar h3,
-div.sphinxsidebar h4 {
- font-family: Mark, sans-serif;
- font-size: 24px;
- font-weight: normal;
- margin: 0 0 5px 0;
- padding: 0;
-}
+/* Left Column CSS */
-div.document {
- margin: 0 0 0 0;
- width: 100%;
- position: relative;
- top: 75px;
-}
-
-div.section code {
- color: #c72e49;
-}
-
-div.topic {
- background-color: #edf7f71A;
-}
-
-div.localtoc {
+body div.left {
+ width: 250px;
+ /* flex-shrink: 0; */
position: fixed;
- top: 75px;
- right: 0px;
- margin-right: 18px;
- min-width: 200px;
- max-width: 250px;
- font-size: 90%;
+ display: block;
+ left: 0px;
+ top: 85px;
+ color: var(--minio-meridian);
+ z-index: 5;
}
-div.localtoc ul {
+body div.left li.toctree-l1 a {
+ color: var(--minio-meridian);
+}
+body div.left div.sphinxsidebarwrapper {
+ padding: 0 0 0 5px;
+}
+
+body div.left div.sphinxsidebarwrapper ul {
list-style: none;
- margin: 0px 10px;
+ margin-left: 10px;
}
-div.localtoc ul li {
- transition: all 10ms ease-in-out;
+body div.left button.sphinxsidebarbutton {
+ width: 100px;
+ margin-left: auto;
+ background: none;
+ border: none;
+ margin-bottom: 5px;
}
-/* div.localtoc ul li.active {
- color: #c72e49;
- list-style: square;
- position: relative;
- border-left: 5px solid #c72e49;
- padding-left: 5px;
- margin-left: -10px;
-} */
-
-div.localtoc ul li p {
- padding-top: 3px;
- padding-bottom: 3px;
-}
-
-div.localtoc ul li p.active-p {
- position: relative;
- border-left: 5px solid #c72e49;
- padding-left: 5px;
- margin-left: -10px;
-}
-
-div.body a {
- color: #c72e49;
- text-decoration: none;
-}
-
-div.body :target {
- scroll-margin-top: 75px;
-}
-
-div.body a.reference.internal code {
- color: #c72e49;
-}
-
-div.sphinxsidebar a.current.reference.internal {
- color: #c72e49;
- font-weight: bold;
- position: relative;
- border-left: 5px solid #c72e49;
- padding-left: 5px;
- margin-left: -10px;
-
-}
-
-div.contents.local.topic a{
- border-bottom: none;
-}
-
-div.sphinxsidebar a.reference.internal {
- margin: 10px 0px 10px 0px;
- display: block;
- border-bottom: 0px;
-}
-
-div.sphinxsidebar a:hover {
- text-decoration: none;
-}
-
-img.logo {
- height: 120px;
-}
-
-div.sphinxsidebar ul ul {
- list-style: none;
-}
-
-dt {
+body div.left div.sphinxsidebarwrapper a.current.reference.internal {
+ color: var(--minio-red);
font-weight: bold;
+ position: relative;
+ border-left: 5px solid var(--minio-red);
+ padding-left: 5px;
+ margin-left: -10px;
+
}
-div.body table.docutils {
- border-color: var(--table-border-color);
+body div.left div.sphinxsidebarwrapper li.toctree-l1 {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding-bottom: 5px;
+ border-bottom: 1px solid var(--table-border-color);
+ list-style: none;
}
+body div.left a.reference {
+ text-decoration: none;
+ border: none;
+}
+
+
+
+/* Center Column CSS */
+
div.body div.alert-info {
- background-color:#c72e491a;
padding-left: 5px;
padding-right: 5px;
- border: 2px #c72e49 solid;
+ border: 2px var(--minio-red) solid;
border-radius: 10px;
-
+
}
-div.body div.alert-info p {
- text-align: center;
-}
-
-div.body table.docutils th {
- border-top: 1px solid var(--table-border-color);
- border-bottom: 1px solid var(--table-border-color);
- border-left: none;
- border-right: none;
-}
-
-div.body table.docutils td {
- border-top: 1px solid var(--table-border-color);
- border-bottom: 1px solid var(--table-border-color);
- border-left: none;
- border-right: none;
-}
-
-div.header {
- background-color: #01262e;
- height: 75px;
- width: 100%;
- position: fixed;
- z-index: 2;
- top: 0px;
-}
-
-div.header img.logo {
+body div.center {
+ flex: 9;
+ overflow-y: auto;
+ overflow-x: hidden;
+ flex-grow: 9;
+ flex-shrink: 4;
+ z-index: 0;
+ margin-left: 250px;
+ margin-top: 85px;
+ scroll-margin-top: 85px;
height: 100%;
- padding-top: 28.5px;
padding-left: 10px;
-}
-
-div.header div.navbar {
- float: right;
- text-align: center;
padding-right: 10px;
}
-div.header img.logo {
- height: 18px;
+body div.center div.admonition p.admonition-title {
+ font-family: Mark, Helvetica, sans-serif;
+ font-size: 110%;
}
-div.footer {
- width: 100%;
- text-align: center;
+body div.center h1,
+body div.center h2,
+body div.center h3,
+body div.center h4,
+body div.center h5,
+body div.center h6 {
+ font-family: Mark, sans-serif;
+ font-weight: normal;
+ margin: 30px 0px 10px 0px;
+ padding: 0;
}
-dl.minio {
+body #toc-backref {
+ color: var(--minio-meridian);
+}
+
+body div.center a.reference.internal {
+ color: var(--minio-red);
+ text-decoration: none;
+}
+
+body div.center a.reference.internal code {
+ color: var(--minio-red);
+}
+
+body div.center a.toc-backref {
+ text-decoration: none;
+ color: var(--minio-meridian);
+}
+
+body div.center dl.minio {
border-bottom: 1px solid #01262e2a;
border-top: 1px solid #01262e2a;
padding-top: 10px;
padding-bottom: 10px;
}
+body div.center code.descclassname {
+ font-weight: bold;
+}
+
+body div.center table.docutils {
+ border: 1px solid var(--table-border-color);
+}
+
+body div.center table.docutils th {
+ border-top: 1px solid var(--table-border-color);
+ border-bottom: 1px solid var(--table-border-color);
+ border-left: none;
+ border-right: none;
+ }
+
+ body div.center table.docutils td {
+ border-top: 1px solid var(--table-border-color);
+ border-bottom: 1px solid var(--table-border-color);
+ border-left: none;
+ border-right: none;
+ }
+
+body div.center p {
+ padding-left: 10px;
+}
+
+/* Right-Column CSS */
+
+body div.right {
+ flex: 3;
+ flex-shrink: 0;
+ margin-left: 10px;
+ margin-top: 85px;
+}
+
+body div.right div.topic {
+ background-color: #fff;
+ border-style: none;
+}
+
+body div.right ul.simple {
+ margin-left: 5px;
+}
+
+body div.right ul {
+ list-style: none;
+}
+
+body div.right a.reference.internal {
+ color: var(--minio-meridian);
+ text-decoration: none;
+ border-bottom: none;
+}
+
+body div.right p.active-p {
+ border-left: 5px solid var(--minio-red);
+ padding-left: 5px;
+ margin-left: -10px;
+}
+
+/* Collapse CSS */
+
+body div.left.collapsed {
+ left: -300px;
+}
+
+body div.left button.sphinxsidebarbutton.collapsed {
+ left: 0px;
+ position: fixed;
+}
+
+body div.column.collapsed {
+ margin-left: 50px;
+}
+
+/* Navigation CSS */
+
+nav.navigation img.logo {
+ height: 18px;
+ padding-top: 28.5px;
+ padding-left: 10px;
+}
+
+
+nav.navigation {
+ position: fixed;
+ background-color: black;
+ width: 100%;
+ height: 75px;
+ top: 0px;
+ z-index: 1;
+}
+
+/* Admonition CSS TODO*/
\ No newline at end of file
diff --git a/source/_static/js/main.js b/source/_static/js/main.js
index 17c11325..f40d5dfe 100644
--- a/source/_static/js/main.js
+++ b/source/_static/js/main.js
@@ -18,15 +18,13 @@ window.addEventListener('DOMContentLoaded', (event) => {
// how to resolve that.
let options = {
- root: document.querySelector('#scrollArea'),
+ root: document.querySelector('div.center'),
rootMargin: '-150px 0px -300px 0px'
}
const observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
const id = entry.target.getAttribute('id');
- console.log("entry is " + id + " Ratio is " + entry.intersectionRatio)
- console.log(entry.rootBounds)
if (id == document.querySelector('.section[id]').getAttribute('id'))
return 0
@@ -60,6 +58,26 @@ window.addEventListener('DOMContentLoaded', (event) => {
observer.observe(section);
});
+ const leftcolumn = document.querySelector('.left');
+ const centercolumn = document.querySelector('.center');
+ const rightcolumn = document.querySelector('.right');
+ const button = document.querySelector('.sphinxsidebarbutton');
+ const sidebarwrapper = document.querySelector('.sphinxsidebarwrapper');
+
+ function expando() {
+ button.classList.toggle('collapsed');
+ leftcolumn.classList.toggle('collapsed');
+ centercolumn.classList.toggle('collapsed');
+ sidebarwrapper.classList.toggle('collapsed');
+ if (button.textContent == "[x] Collapse") {
+ button.textContent = "[x] Expand";
+ }
+ else {
+ button.textContent = "[x] Collapse";
+ }
+ }
+
+ button.addEventListener( "click", expando );
});
diff --git a/source/_templates/layout.html b/source/_templates/layout.html
index 7c3a2aac..46772305 100644
--- a/source/_templates/layout.html
+++ b/source/_templates/layout.html
@@ -5,22 +5,61 @@
{# Override content block #}
+{%- macro miniosidebar() %}
+ {%- if render_sidebar %}
+
+ {%- endif %}
+{%- endmacro %}
+
{%- block header %}
-
+
{%- endblock %}
{%- block content %}
-
- {{ sidebar() }}
-
- {% block alertbar -%}
+
+
+
+ {{ miniosidebar() }}
+
+
+
+
+ {% block alertbar -%}
We're building a new version of the MinIO Documentation!
@@ -30,14 +69,17 @@
- {% endblock %}
- {% block body %} {% endblock %}
-
+
-
-
+
{%- endblock %}
diff --git a/source/security/minio-authentication-authorization-review.rst b/source/security/minio-authentication-authorization-review.rst
deleted file mode 100644
index 37228775..00000000
--- a/source/security/minio-authentication-authorization-review.rst
+++ /dev/null
@@ -1,836 +0,0 @@
-================================
-Authentication and Authorization
-================================
-
-.. default-domain:: minio
-
-.. contents:: On This Page
- :local:
- :depth: 2
-
-Overview
---------
-
-*Authentication* is the process of verifying the identity of a connecting
-client. MinIO authentication requires providing user credentials in the form of
-an access key (username) and corresponding secret key (password). The MinIO
-deployment only grants access *if*:
-
-- The access key corresponds to a user on the deployment, *and*
-- The secret key corresponds to the specified access key.
-
-*Authorization* is the process of restricting the actions and resources the
-authenticated client can perform on the deployment. MinIO uses Policy-Based
-Access Control (PBAC), where each policy describes one or more rules that
-outline the permissions of a user or group of users. MinIO supports a subset of
-:iam-docs:`IAM actions and conditions
-
` when creating policies.
-By default, MinIO *denies* access to actions or resources not explicitly
-referenced in a user's assigned or inherited policies.
-
-- For more information on MinIO user management, see
- :ref:`minio-auth-authz-users`.
-
-- For more information on MinIO group management, see
- :ref:`minio-auth-authz-groups`.
-
-- For more information on MinIO policy creation, see
- :ref:`minio-auth-authz-pbac-policies`.
-
-.. _minio-auth-authz-users:
-
-Users
------
-
-A *user* is an identity with associated privileges on a MinIO deployment. Each
-user consists of a unique access key (username) and corresponding secret key
-(password). The access key and secret key support *authentication* on the MinIO
-deployment, similar to a username and password. Clients must specify both a
-valid access key (username) and the corresponding secret key (password) to
-access the MinIO deployment.
-
-Each user can have one or more assigned :ref:`policies
-` that explicitly list the actions and resources
-to which the user is allowed or denied access. Policies support *authorization*
-of operations on the MinIO deployment, such that clients can only perform
-an operation if the user's assigned policies allow access to both the operation
-*action* and the target *resources*.
-
-For example, consider the following table of users. Each user is assigned
-a :ref:`built-in policy ` or
-a supported :ref:`action `. The table
-describes a subset of operations a client could perform if authenticated
-as that user:
-
-.. list-table::
- :header-rows: 1
- :widths: 20 40 40
- :width: 100%
-
- * - User
- - Policy
- - Operations
-
- * - ``Operations``
- - | :userpolicy:`readwrite` on ``finance`` bucket
- | :userpolicy:`readonly` on ``audit`` bucket
-
- - | ``PUT`` and ``GET`` on ``finance`` bucket.
- | ``PUT`` on ``audit`` bucket
-
- * - ``Auditing``
- - | :userpolicy:`readonly` on ``audit`` bucket
- - ``GET`` on ``audit`` bucket
-
- * - ``Admin``
- - :policy-action:`admin:*`
- - All :mc-cmd:`mc admin` commands.
-
-Users also inherit permissions from their assigned :ref:`groups
-`. A user's total set of permissions consists of their
-explicitly assigned permissions *and* the inherited permissions from each of
-their assigned groups.
-
-.. admonition:: ``Deny`` overrides ``Allow``
- :class: note
-
- MinIO follows the IAM policy evaluation rules where a ``Deny`` rule overrides
- ``Allow`` rule on the same action/resource. For example, if a user has an
- explicitly assigned policy with an ``Allow`` rule for an action/resource
- while one of its groups has an assigned policy with a ``Deny`` rule for that
- action/resource, MinIO would apply only the ``Deny`` rule.
-
- For more information on IAM policy evaluation logic, see the IAM
- documentation on
- :iam-docs:`Determining Whether a Request is Allowed or Denied Within an Account
- `.
-
-``root`` User
-~~~~~~~~~~~~~
-
-By default, MinIO deployments provide ``root`` user with access to all actions
-and resources on the deployment. The ``root`` user credentials are set when
-starting the ``minio`` server. When specifying the ``root`` access key and
-secret key, consider using *long, unique, and random* strings. Exercise all
-possible precautions in storing the access key and secret key, such that only
-known and trusted individuals who *require* superuser access to the deployment
-can retrieve the ``root`` credentials.
-
-- MinIO *strongly discourages* using the ``root`` user for regular client access
- regardless of the environment (development, staging, or production).
-
-- MinIO *strongly recommends* creating users such that each client has access to
- the minimal set of actions and resources required to perform their assigned
- workloads.
-
-.. _minio-auth-authz-groups:
-
-Groups
-------
-
-A *group* is a collection of :ref:`users `. Each group
-can have one or more assigned :ref:`policies `
-that explicitly list the actions and resources to which group members are
-allowed or denied access.
-
-For example, consider the following groups. Each group is assigned a
-:ref:`built-in policy ` or supported
-:ref:`policy action `. Each group also has one or
-more assigned users. Each user's total set of permissions consists of their
-explicitly assigned permission *and* the inherited permissions from each of
-their assigned groups.
-
-.. list-table::
- :header-rows: 1
- :widths: 20 40 40
- :width: 100%
-
- * - Group
- - Policy
- - Members
-
- * - ``Operations``
- - | :userpolicy:`readwrite` on ``finance`` bucket
- | :userpolicy:`readonly` on ``audit`` bucket
-
- - ``john.doe``, ``jane.doe``
-
- * - ``Auditing``
- - | :userpolicy:`readonly` on ``audit`` bucket
- - ``jen.doe``, ``joe.doe``
-
- * - ``Admin``
- - :policy-action:`admin:*`
- - ``greg.doe``, ``jen.doe``
-
-Groups provide a simplified method for managing shared permissions among
-users with common access patterns and workloads. Client's *cannot* authenticate
-to a MinIO deployment using a group as an identity.
-
-.. admonition:: ``Deny`` overrides ``Allow``
- :class: note
-
- MinIO follows the IAM standard where a ``Deny`` rule overrides ``Allow`` rule
- on the same action or resource. For example, if a user has an explicitly
- assigned policy with an ``Allow`` rule for an action/resource while one of
- its groups has an assigned policy with a ``Deny`` rule for that
- action/resource, MinIO would apply only the ``Deny`` rule.
-
- For more information on IAM policy evaluation logic, see the IAM
- documentation on
- :iam-docs:`Determining Whether a Request is Allowed or Denied Within an Account
- `.
-
-.. _minio-auth-authz-pbac-policies:
-
-Policies
---------
-
-MinIO uses Policy-Based Access Control (PBAC) for supporting *authorization* of
-users who have successfully *authenticated* to the deployment. Each policy
-describes one or more rules that outline the permissions of a user or group of
-users. MinIO PBAC follows the guidelines and standards set by AWS Identity and
-Access Management (IAM). MinIO supports a subset of :iam-docs:`IAM actions and
-conditions ` when
-creating policies. By default, MinIO *denies* access to actions or resources not
-explicitly referenced in a user's assigned or inherited policies.
-
-This section focuses on MinIO's implementation and extensions of IAM policies
-and access management. A complete description of IAM or IAM policies is out
-of scope of this documentation. Consider deferring to the
-:iam-docs:`IAM documentation <>` for more complete documentation on the
-IAM service.
-
-.. _minio-auth-authz-pbac-built-in:
-
-Built-In Policies
-~~~~~~~~~~~~~~~~~
-
-MinIO provides the following built-in policies for assigning to users
-and groups:
-
-.. userpolicy:: readonly
-
- Grants read-only permissions for all buckets and objects on the MinIO server.
-
-.. userpolicy:: readwrite
-
- Grants read and write permissions for all buckets and objects on the
- MinnIO server.
-
-.. userpolicy:: diagnostics
-
- Grants permission to perform diagnostic actions on the MinIO server.
-
-.. userpolicy:: writeonly
-
- Grants write-only permissions for all buckets and objects on the MinIO
- server.
-
-.. _minio-auth-authz-pbac-document:
-
-Policy Document Structure
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-MinIO policy documents use the same schema as
-:aws-docs:`AWS IAM Policy ` documents.
-
-The following sample document provides a general schema for creating custom
-policies for use with a MinIO deployment. For more complete documentation on IAM
-policy elements, see the :aws-docs:`IAM JSON Policy Elements Reference
-`.
-
-.. code-block:: javascript
- :class: copyable
-
- {
- "Version" : "2012-10-17",
- "Statement" : [
- {
- "Effect" : "Allow",
- "Action" : [ "s3:", ... ],
- "Resource" : "arn:minio:s3:::*",
- "Condition" : { ... }
- },
- {
- "Effect" : "Deny",
- "Action" : [ "s3:", ... ],
- "Resource" : "arn:minio:s3:::*",
- "Condition" : { ... }
- }
- ]
- }
-
-- For the ``Statement.Action`` array, specify one or more
- :ref:`supported S3 actions `. MinIO deployments
- supports a subset of AWS S3 actions.
-
-- For the ``Statement.Resource`` key, you can replace the ``*`` with
- the specific bucket to which the policy statement should apply.
- Using ``*`` applies the statement to all resources on the MinIO deployment.
-
-- For the ``Statement.Condition`` key, you can specify one or more
- :ref:`supported Conditions `. MinIO
- deployments supports a subset of AWS S3 conditions.
-
-.. _minio-auth-authz-pbac-actions:
-
-Supported Policy Actions
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-MinIO policy documents support a subset of IAM
-:iam-docs:`S3 Action keys `.
-
-The following table lists the MinIO-supported policy action keys.
-
-.. policy-action:: s3:*
-
- Selector for all supported S3 actions.
-
-.. policy-action:: s3:AbortMultipartUpload
-
- Corresponds to the :s3-api:`s3:AbortMultipartUpload
- ` IAM action.
-
-.. policy-action:: s3:CreateBucket
-
- Corresponds to the :s3-api:`s3:CreateBucket ` IAM
- action.
-
-.. policy-action:: s3:DeleteBucket
-
- Corresponds to the :s3-api:`s3:DeleteBucket ` IAM
- action.
-
-.. policy-action:: s3:ForceDeleteBucket
-
- Corresponds to the :s3-api:`s3:DeleteBucket `
- IAM action for operations with the ``x-minio-force-delete`` flag.
-
-.. policy-action:: s3:DeleteBucketPolicy
-
- Corresponds to the :s3-api:`s3:DeleteBucketPolicy
- ` IAM action.
-
-.. policy-action:: s3:DeleteObject
-
- Corresponds to the :s3-api:`s3:DeleteObject ` IAM
- action.
-
-.. policy-action:: s3:GetBucketLocation
-
- Corresponds to the :s3-api:`s3:GetBucketLocation
- ` IAM action.
-
-.. policy-action:: s3:GetBucketNotification
-
- Corresponds to the :s3-api:`s3:GetBucketNotification
- ` IAM action.
-
-.. policy-action:: s3:GetBucketPolicy
-
- Corresponds to the :s3-api:`s3:GetBucketPolicy `
- IAM action.
-
-.. policy-action:: s3:GetObject
-
- Corresponds to the :s3-api:`s3:GetObject ` IAM action.
-
-.. policy-action:: s3:HeadBucket
-
- Corresponds to the :s3-api:`s3:HeadBucket ` IAM action.
-
- *This action is unused in MinIO.*
-
-.. policy-action:: s3:ListAllMyBuckets
-
- Corresponds to the :s3-api:`s3:ListAllMyBuckets `
- IAM action.
-
-.. policy-action:: s3:ListBucket
-
- Corresponds to the :s3-api:`s3:ListBucket ` IAM action.
-
-.. policy-action:: s3:ListMultipartUploads
-
- Corresponds to the :s3-api:`s3:ListMultipartUploads
- ` IAM action.
-
-.. policy-action:: s3:ListenNotification
-
- MinIO Extension for controlling API operations related to MinIO Bucket
- Notifications.
-
- This action is **not** intended for use with other S3-compatible services.
-
-.. policy-action:: s3:ListenBucketNotification
-
- MinIO Extension for controlling API operations related to MinIO Bucket
- Notifications.
-
- This action is **not** intended for use with other S3-compatible services.
-
-.. policy-action:: s3:ListParts
-
- Corresponds to the :s3-api:`s3:ListParts ` IAM action.
-
-.. policy-action:: s3:PutBucketLifecycle
-
- Corresponds to the :s3-api:`s3:PutBucketLifecycle
- ` IAM action.
-
-.. policy-action:: s3:GetBucketLifecycle
-
- Corresponds to the :s3-api:`s3:GetBucketLifecycle
- ` IAM action.
-
-.. policy-action:: s3:PutObjectNotification
-
- Corresponds to the :s3-api:`s3:PutObjectNotification
- ` IAM action.
-
-.. policy-action:: s3:PutBucketPolicy
-
- Corresponds to the :s3-api:`s3:PutBucketPolicy `
- IAM action.
-
-.. policy-action:: s3:PutObject
-
- Corresponds to the :s3-api:`s3:PutObject ` IAM action.
-
-.. policy-action:: s3:DeleteObjectVersion
-
- Corresponds to the :s3-api:`s3:DeleteObjectVersion
- ` IAM action.
-
-.. policy-action:: s3:DeleteObjectVersionTagging
-
- Corresponds to the :s3-api:`s3:DeleteObjectVersionTagging
- ` IAM action.
-
-.. policy-action:: s3:GetObjectVersion
-
- Corresponds to the :s3-api:`s3:GetObjectVersion
- ` IAM action.
-
-.. policy-action:: s3:GetObjectVersionTagging
-
- Corresponds to the :s3-api:`s3:GetObjectVersionTagging
- ` IAM action.
-
-.. policy-action:: s3:PutObjectVersionTagging
-
- Corresponds to the :s3-api:`s3:PutObjectVersionTagging
- ` IAM action.
-
-.. policy-action:: s3:BypassGovernanceRetention
-
- Corresponds to the :s3-docs:`s3:BypassGovernanceRetention
- ` IAM action.
-
- This action applies to the following API operations on objects locked under
- :mc-cmd:`GOVERNANCE ` retention mode:
-
- - ``PutObjectRetention``
- - ``PutObject``
- - ``DeleteObject``
-
-.. policy-action:: s3:PutObjectRetention
-
- Corresponds to the :s3-api:`s3:PutObjectRetention
- ` IAM action.
-
-.. policy-action:: s3:GetObjectRetention
-
- Corresponds to the :s3-api:`s3:GetObjectRetention
- ` IAM action.
-
- This action applies to the following API operations on objects locked under
- any retention mode:
-
- - ``GetObject``
- - ``HeadObject``
-
-.. policy-action:: s3:GetObjectLegalHold
-
- Corresponds to the :s3-api:`s3:GetObjectLegalHold
- ` IAM action.
-
- This action applies to the following API operations on objects locked under
- legal hold:
-
- - ``GetObject``
-
-.. policy-action:: s3:PutObjectLegalHold
-
- Corresponds to the :s3-api:`s3:PutObjectLegalHold
- ` IAM action.
-
- This action applies to the following API operations on objects locked
- under legal hold:
-
- - ``PutObject``
-
-.. policy-action:: s3:GetBucketObjectLockConfiguration
-
- Corresponds to the :s3-api:`s3:GetBucketObjectLockConfiguration
- ` IAM action.
-
-.. policy-action:: s3:PutBucketObjectLockConfiguration
-
- Corresponds to the :s3-api:`s3:PutBucketObjectLockConfiguration
- ` IAM action.
-
-.. policy-action:: s3:GetBucketTagging
-
- Corresponds to the :s3-api:`s3:GetBucketTagging `
- IAM action.
-
-.. policy-action:: s3:PutBucketTagging
-
- Corresponds to the :s3-api:`s3:PutBucketTagging `
- IAM action.
-
-.. policy-action:: s3:Get
-
- Corresponds to the :s3-api:`s3:Get ` IAM action.
-
-.. policy-action:: s3:Put
-
- Corresponds to the :s3-api:`s3:Put ` IAM action.
-
-.. policy-action:: s3:Delete
-
- Corresponds to the :s3-api:`s3:Delete ` IAM action.
-
-.. policy-action:: s3:PutBucketEncryption
-
- Corresponds to the :s3-api:`s3:PutBucketEncryption
- ` IAM action.
-
-.. policy-action:: s3:GetBucketEncryption
-
- Corresponds to the :s3-api:`s3:GetBucketEncryption
- ` IAM action.
-
-.. policy-action:: s3:PutBucketVersioning
-
- Corresponds to the :s3-api:`s3:PutBucketVersioning
- ` IAM action.
-
-.. policy-action:: s3:GetBucketVersioning
-
- Corresponds to the :s3-api:`s3:GetBucketVersioning
- ` IAM action.
-
-.. policy-action:: s3:GetReplicationConfiguration
-
- Corresponds to the :s3-api:`s3:GetReplicationConfiguration
- ` IAM action.
-
-.. policy-action:: s3:PutReplicationConfiguration
-
- Corresponds to the :s3-api:`s3:PutReplicationConfiguration
- ` IAM action.
-
-.. policy-action:: s3:ReplicateObject
-
- Corresponds to the :s3-api:`s3:ReplicateObject `
- IAM action.
-
-.. policy-action:: s3:ReplicateDelete
-
- Corresponds to the :s3-api:`s3:ReplicateDelete `
- IAM action.
-
-.. policy-action:: s3:ReplicateTags
-
- Corresponds to the :s3-api:`s3:ReplicateTags ` IAM
- action.
-
-.. policy-action:: s3:GetObjectVersionForReplication
-
- Corresponds to the :s3-api:`s3:GetObjectVersionForReplication
- ` IAM action.
-
-
-.. _minio-auth-authz-pbac-mc-admin-actions:
-
-``mc admin`` Policy Action Keys
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-MinIO supports the following actions for use with defining policies
-for :mc-cmd:`mc admin` operations. These actions are *only* valid for
-MinIO deployments and are *not* intended for use with other S3-compatible
-services:
-
-.. policy-action:: admin:*
-
- Selector for all admin action keys.
-
-.. policy-action:: admin:Heal
-
- Allows heal command
-
-.. policy-action:: admin:StorageInfo
-
- Allows listing server info
-
-.. policy-action:: admin:DataUsageInfo
-
- Allows listing data usage info
-
-.. policy-action:: admin:TopLocksInfo
-
- Allows listing top locks
-
-.. policy-action:: admin:Profiling
-
- Allows profiling
-
-.. policy-action:: admin:ServerTrace
-
- Allows listing server trace
-
-.. policy-action:: admin:ConsoleLog
-
- Allows listing console logs on terminal
-
-.. policy-action:: admin:KMSCreateKey
-
- Allows creating a new KMS master key
-
-.. policy-action:: admin:KMSKeyStatus
-
- Allows getting KMS key status
-
-.. policy-action:: admin:ServerInfo
-
- Allows listing server info
-
-.. policy-action:: admin:OBDInfo
-
- Allows obtaining cluster on-board diagnostics
-
-.. policy-action:: admin:ServerUpdate
-
- Allows MinIO binary update
-
-.. policy-action:: admin:ServiceRestart
-
- Allows restart of MinIO service.
-
-.. policy-action:: admin:ServiceStop
-
- Allows stopping MinIO service.
-
-.. policy-action:: admin:ConfigUpdate
-
- Allows MinIO config management
-
-.. policy-action:: admin:CreateUser
-
- Allows creating MinIO user
-
-.. policy-action:: admin:DeleteUser
-
- Allows deleting MinIO user
-
-.. policy-action:: admin:ListUsers
-
- Allows list users permission
-
-.. policy-action:: admin:EnableUser
-
- Allows enable user permission
-
-.. policy-action:: admin:DisableUser
-
- Allows disable user permission
-
-.. policy-action:: admin:GetUser
-
- Allows GET permission on user info
-
-.. policy-action:: admin:AddUserToGroup
-
- Allows adding user to group permission
-
-.. policy-action:: admin:RemoveUserFromGroup
-
- Allows removing user to group permission
-
-.. policy-action:: admin:GetGroup
-
- Allows getting group info
-
-.. policy-action:: admin:ListGroups
-
- Allows list groups permission
-
-.. policy-action:: admin:EnableGroup
-
- Allows enable group permission
-
-.. policy-action:: admin:DisableGroup
-
- Allows disable group permission
-
-.. policy-action:: admin:CreatePolicy"
-
- Allows create policy permission
-
-.. policy-action:: admin:DeletePolicy
-
- Allows delete policy permission
-
-.. policy-action:: admin:GetPolicy
-
- Allows get policy permission
-
-.. policy-action:: admin:AttachUserOrGroupPolicy
-
- Allows attaching a policy to a user/group
-
-.. policy-action:: admin:ListUserPolicies
-
- Allows listing user policies
-
-.. policy-action:: admin:SetBucketQuota
-
- Allows setting bucket quota
-
-.. policy-action:: admin:GetBucketQuota
-
- Allows getting bucket quota
-
-.. policy-action:: admin:SetBucketTarget
-
- Allows setting bucket target
-
-.. policy-action:: admin:GetBucketTarget
-
- Allows getting bucket targets
-
-.. _minio-auth-authz-pbac-conditions:
-
-Supported Policy Condition Keys
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-MinIO policy documents support IAM
-:iam-docs:`conditional statements `.
-
-Each condition element consists of
-:iam-docs:`operators `
-and condition keys. MinIO supports a subset of IAM condition keys. For complete
-information on any listed condition key, see the
-:iam-docs:`IAM Condition Element Documentation
-`
-
-MinIO supports the following condition keys for all supported
-:ref:`actions `:
-
-- ``aws:Referer``
-- ``aws:SourceIp``
-- ``aws:UserAgent``
-- ``aws:SecureTransport``
-- ``aws:CurrentTime``
-- ``aws:EpochTime``
-- ``aws:PrincipalType``
-- ``aws:userid``
-- ``aws:username``
-- ``s3:x-amz-content-sha256``
-
-The following table lists additional supported condition keys for specific
-actions:
-
-.. list-table::
- :header-rows: 1
- :widths: 30 70
- :width: 100%
-
- * - Action Key
- - Condition Keys
-
- * - :policy-action:`s3:GetObject`
- - | ``s3:x-amz-server-side-encryption``
- | ``s3:x-amz-server-side-encryption-customer-algorithm``
-
- * - :policy-action:`s3:ListBucket`
- - | ``s3:prefix``
- | ``s3:delimiter``
- | ``s3:max-keys``
-
- * - :policy-action:`s3:PutObject`
- - | ``s3:x-amz-copy-source``
- | ``s3:x-amz-server-side-encryption``
- | ``s3:x-amz-server-side-encryption-customer-algorithm``
- | ``s3:x-amz-metadata-directive``
- | ``s3:x-amz-storage-class``
- | ``s3:object-lock-retain-until-date``
- | ``s3:object-lock-mode``
- | ``s3:object-lock-legal-hold``
-
- * - :policy-action:`s3:PutObjectRetention`
- - | ``s3:x-amz-object-lock-remaining-retention-days``
- | ``s3:x-amz-object-lock-retain-until-date``
- | ``s3:x-amz-object-lock-mode``
-
- * - :policy-action:`s3:PutObjectLegalHold`
- - ``s3:object-lock-legal-hold``
-
- * - :policy-action:`s3:BypassGovernanceRetention`
- - | ``s3:object-lock-remaining-retention-days``
- | ``s3:object-lock-retain-until-date``
- | ``s3:object-lock-mode``
- | ``s3:object-lock-legal-hold``
-
- * - :policy-action:`s3:GetObjectVersion`
- - ``s3:versionid``
-
- * - :policy-action:`s3:GetObjectVersionTagging`
- - ``s3:versionid``
-
- * - :policy-action:`s3:DeleteObjectVersion`
- - ``s3:versionid``
-
- * - :policy-action:`s3:DeleteObjectVersionTagging`
- - ``s3:versionid``
-
-``mc admin`` Policy Condition Keys
-``````````````````````````````````
-
-MinIO supports the following conditions for use with defining policies for
-:mc-cmd:`mc admin` :ref:`actions `.
-
-- ``aws:Referer``
-- ``aws:SourceIp``
-- ``aws:UserAgent``
-- ``aws:SecureTransport``
-- ``aws:CurrentTime``
-- ``aws:EpochTime``
-
-For complete information on any listed condition key, see the :iam-docs:`IAM
-Condition Element Documentation `
-
-Creating Custom Policies
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Use the ``mc admin policy`` command to add a policy to the MinIO
-server. The policy *must* be a valid JSON document formatted according to
-IAM policy specifications. For example:
-
-.. code-block:: shell
-
- mc config host add myminio http://myminio1.example.net:9000
-
- mc admin policy add myminio/ new_policy new_policy.json
-
-To add this policy to a user or group, use the ``mc admin policy set`` command:
-
-.. code-block:: shell
-
- mc admin policy set myminio/ new_policy user=user_name
-
- mc admin policy set myminio/ new_policy group=group_name
-
diff --git a/source/security/minio-authentication-authorization.rst b/source/security/minio-authentication-authorization.rst
index 51cdb6c5..37228775 100644
--- a/source/security/minio-authentication-authorization.rst
+++ b/source/security/minio-authentication-authorization.rst
@@ -13,8 +13,8 @@ Overview
*Authentication* is the process of verifying the identity of a connecting
client. MinIO authentication requires providing user credentials in the form of
-an access key and corresponding secret key. The MinIO deployment only grants
-access *if*:
+an access key (username) and corresponding secret key (password). The MinIO
+deployment only grants access *if*:
- The access key corresponds to a user on the deployment, *and*
- The secret key corresponds to the specified access key.
@@ -37,15 +37,6 @@ referenced in a user's assigned or inherited policies.
- For more information on MinIO policy creation, see
:ref:`minio-auth-authz-pbac-policies`.
-MinIO also supports Secure Token Service (STS) authentication, where clients use
-a supported OIDC-compliant third-party identity provider to perform
-authentication. MinIO uses the security token returned by the provider to
-generate a random access key and secret key that the client can use for
-authenticating to the deployment. The username specified to the third-party
-identity provider *must* match an existing user on the MinIO deployment. MinIO
-uses the policies associated to that existing user for authorizing client
-operations. For more information, see :ref:`minio-sts-overview`.
-
.. _minio-auth-authz-users:
Users
@@ -569,8 +560,8 @@ The following table lists the MinIO-supported policy action keys.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MinIO supports the following actions for use with defining policies
-for :mc-cmd:`mc admin` operations. These actions are **only** valid for
-MinIO deployments and are **not** intended for use with other S3-compatible
+for :mc-cmd:`mc admin` operations. These actions are *only* valid for
+MinIO deployments and are *not* intended for use with other S3-compatible
services:
.. policy-action:: admin:*