文件

存取管理

概觀

MinIO 使用基於政策的存取控制 (PBAC) 來定義經過驗證的使用者可以存取的授權動作和資源。每個政策都描述了一個或多個動作條件,這些動作和條件概述了使用者使用者群組的權限。

MinIO PBAC 的建構是為了與 AWS IAM 政策語法、結構和行為相容。MinIO 文件盡力涵蓋 IAM 特定的行為和功能。請考慮參考IAM 文件,以取得更完整的 AWS IAM 特定主題文件。

mc admin policy 命令支援在 MinIO 部署上建立和管理政策。請參閱命令參考以了解使用範例。

基於標籤的政策條件

在版本 RELEASE.2022-10-02T19-29-29Z 中變更:政策可以使用條件來限制使用者僅能存取具有特定標籤的物件。

MinIO 支援基於標籤的條件,用於選定的動作的政策。在政策的 Condition 陳述式中使用 s3:ExistingObjectTag/<key>

內建政策

MinIO 提供下列內建政策,可指派給使用者群組

consoleAdmin

授予對 MinIO 部署上所有資源的所有 S3 和管理 API 操作的完整存取權。相當於下列動作集

readonly

授予對 MinIO 部署上任何物件的唯讀權限。GET 動作必須套用至特定物件,而不需要任何清單。相當於下列動作集

例如,此政策特別支援在特定路徑 (例如 GET play/mybucket/object.file) 上的物件的 GET 操作,例如

排除列出權限是故意的,因為典型的使用案例不希望「唯讀」角色在物件儲存資源上具有完整的可探索性(列出所有儲存桶和物件)。

readwrite

授予對 MinIO 伺服器上所有儲存桶和物件的讀取和寫入權限。等同於 s3:*

diagnostics

授予對 MinIO 部署執行診斷動作的權限。具體包括以下動作

writeonly

授予對 MinIO 部署的任何命名空間(儲存桶和物件路徑)的唯寫權限。PUT 動作*必須*適用於特定的物件位置,而無需任何列出。等同於 s3:PutObject 動作。

使用 mc admin policy attach 將策略與 MinIO 部署上的使用者或群組關聯。

例如,考慮以下使用者表。每個使用者都被分配一個 內建策略 或支援的 動作。該表描述了如果以該使用者身份驗證,客戶端可以執行的一組操作的子集

使用者

策略

操作

操作

readwritefinance 儲存桶上
readonlyaudit 儲存桶上
finance 儲存桶上進行 PUTGET
audit 儲存桶上進行 GET

稽核

readonlyaudit 儲存桶上

audit 儲存桶上進行 GET

管理員

admin:*

所有 mc admin 命令。

每個使用者只能存取內建角色*明確*授予的資源和操作。MinIO 預設拒絕存取任何其他資源或動作。

Deny 覆蓋 Allow

MinIO 遵循 IAM 策略評估規則,其中 Deny 規則會覆蓋對同一動作/資源的 Allow 規則。例如,如果使用者具有明確分配的策略,其中包含對動作/資源的 Allow 規則,而其某個群組具有分配的策略,其中包含對該動作/資源的 Deny 規則,則 MinIO 將僅套用 Deny 規則。

有關 IAM 策略評估邏輯的更多資訊,請參閱 IAM 文件中的判斷是否在帳戶中允許或拒絕請求

策略文件結構

MinIO 策略文件使用與 AWS IAM 策略文件相同的架構。

以下範例文件提供了建立自訂策略以用於 MinIO 部署的範本。有關 IAM 策略元素的更完整文件,請參閱IAM JSON 策略元素參考

任何單一策略文件的最大大小為 20KiB。可以附加到使用者或群組的策略文件數量沒有限制。

{
   "Version" : "2012-10-17",
   "Statement" : [
      {
         "Effect" : "Allow",
         "Action" : [ "s3:<ActionName>", ... ],
         "Resource" : "arn:aws:s3:::*",
         "Condition" : { ... }
      },
      {
         "Effect" : "Deny",
         "Action" : [ "s3:<ActionName>", ... ],
         "Resource" : "arn:aws:s3:::*",
         "Condition" : { ... }
      }
   ]
}
  • 對於 Statement.Action 陣列,請指定一個或多個支援的 S3 API 操作

  • 對於 Statement.Resource 鍵,請指定要限制策略的儲存桶或儲存桶字首。您可以依照 S3 資源規範使用 *? 萬用字元。

    根據模式比對* 萬用字元可能會導致策略意外地應用於多個儲存桶或字首。例如,arn:aws:s3:::data* 會比對儲存桶 datadata_privatedata_internal。僅指定 * 作為資源鍵會將策略套用到部署中的所有儲存桶和字首。

  • 對於 Statement.Condition 鍵,您可以指定一個或多個支援的條件

支援的 S3 策略動作

MinIO 策略文件支援 IAM S3 動作鍵的子集。本節還包括特定動作支援的任何 條件鍵,超出支援的通用鍵集。

以下動作控制對常見 S3 操作的存取。其餘小節記錄了更進階 S3 操作的動作

s3:*

適用於*所有* MinIO S3 操作的選擇器。將此動作應用於給定的資源,允許使用者對該資源執行*任何* S3 操作。

s3:CreateBucket

控制對 CreateBucket S3 API 操作的存取。

s3:DeleteBucket

控制對 DeleteBucket S3 API 操作的存取。

s3:ForceDeleteBucket

控制對具有 x-minio-force-delete 標誌的操作的 DeleteBucket S3 API 操作的存取。移除非空儲存桶所必需。

s3:GetBucketLocation

控制對 GetBucketLocation S3 API 操作的存取。

s3:ListAllMyBuckets

控制對 ListBuckets S3 API 操作的存取。

s3:DeleteObject

控制對 DeleteObject S3 API 操作的存取。

s3:GetObject

控制對 GetObject S3 API 操作的存取。

支援以下其他 條件鍵

s3:x-amz-server-side-encryption
s3:x-amz-server-side-encryption-customer-algorithm
s3:ExistingObjectTag/<key>
s3:versionid
s3:ListBucket

控制對 ListObjectsV2 S3 API 操作的存取。

支援以下其他 條件鍵

s3:prefix
s3:delimiter
s3:max-keys
s3:PutObject

控制對 PutObject S3 API 操作的存取。

支援以下其他 條件鍵

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:versionid
s3:object-lock-retain-until-date
s3:object-lock-mode
s3:object-lock-legal-hold
s3:RequestObjectTagKeys
s3:RequestObjectTag/<key>
s3:PutObjectTagging

控制對 PutObjectTagging S3 API 操作的存取權。

支援以下其他 條件鍵

s3:versionid
s3:ExistingObjectTag/<key>
s3:RequestObjectTagKeys
s3:RequestObjectTag/<key>
s3:GetObjectTagging

控制對 GetObjectTagging S3 API 操作的存取權。

支援以下其他 條件鍵

s3:versionid
s3:ExistingObjectTag/<key>
s3:DeleteObjectTagging

控制對 DeleteObjectTagging S3 API 操作的存取權。

支援以下其他 條件鍵

s3:versionid
s3:ExistingObjectTag/<key>

儲存貯體組態

s3:GetBucketPolicy

控制對 GetBucketPolicy S3 API 操作的存取權。

s3:PutBucketPolicy

控制對 PutBucketPolicy S3 API 操作的存取權。

s3:DeleteBucketPolicy

控制對 DeleteBucketPolicy S3 API 操作的存取權。

s3:GetBucketTagging

控制對 GetBucketTagging S3 API 操作的存取權。

s3:PutBucketTagging

控制對 PutBucketTagging S3 API 操作的存取權。

支援以下其他 條件鍵

s3:RequestObjectTagKeys
s3:RequestObjectTag/<key>

分段上傳

s3:AbortMultipartUpload

控制對 AbortMultipartUpload S3 API 操作的存取權。

s3:ListMultipartUploadParts

控制對 ListParts S3 API 操作的存取權。

s3:ListBucketMultipartUploads

控制對 ListMultipartUploads S3 API 操作的存取權。

版本控制和保留

s3:PutBucketVersioning

控制對 PutBucketVersioning S3 API 操作的存取權。

s3:GetBucketVersioning

控制對 GetBucketVersioning S3 API 操作的存取權。

s3:DeleteObjectVersion

控制對 DeleteObjectVersion S3 API 操作的存取權。

支援以下其他 條件鍵

s3:versionid
s3:ExistingObjectTag/<key>
s3:ListBucketVersions

控制對 ListBucketVersions S3 API 操作的存取權。

支援以下其他 條件鍵

s3:prefix
s3:delimiter
s3:max-keys
s3:PutObjectVersionTagging

控制對 PutObjectVersionTagging S3 API 操作的存取權。

支援以下其他 條件鍵

s3:versionid
s3:ExistingObjectTag/<key>
s3:RequestObjectTagKeys
s3:RequestObjectTag/<key>
s3:GetObjectVersionTagging

控制對 GetObjectVersionTagging S3 API 操作的存取權。

支援以下其他 條件鍵

s3:versionid
s3:ExistingObjectTag/<key>
s3:DeleteObjectVersionTagging

控制對 DeleteObjectVersionTagging S3 API 操作的存取權。

支援以下其他 條件鍵

s3:versionid
s3:ExistingObjectTag/<key>
s3:GetObjectVersion

控制對 GetObjectVersion S3 API 操作的存取權。

支援以下其他 條件鍵

s3:versionid
s3:ExistingObjectTag/<key>
s3:BypassGovernanceRetention

控制對在 GOVERNANCE 保留模式下鎖定的物件執行的以下 S3 API 操作

  • s3:PutObjectRetention

  • s3:PutObject

  • s3:DeleteObject

請參閱 S3 文件中關於 s3:BypassGovernanceRetention 的更多資訊。

支援以下其他 條件鍵

s3:versionid
s3:object-lock-remaining-retention-days
s3:object-lock-retain-until-date
s3:object-lock-mode
s3:object-lock-legal-hold
s3:RequestObjectTagKeys
s3:RequestObjectTag/<key>
s3:PutObjectRetention

控制對 PutObjectRetention S3 API 操作的存取權。

任何指定保留元數據PutObject 操作皆需此權限。

支援以下其他 條件鍵

s3:x-amz-server-side-encryption
s3:x-amz-server-side-encryption-customer-algorithm
s3:x-amz-object-lock-remaining-retention-days
s3:x-amz-object-lock-retain-until-date
s3:x-amz-object-lock-mode
s3:versionid
s3:GetObjectRetention

控制對 GetObjectRetention S3 API 操作的存取權。

GetObjectHeadObject 操作的回應中,要包含物件鎖定元數據時,需要此權限。

支援以下其他 條件鍵

s3:x-amz-server-side-encryption
s3:x-amz-server-side-encryption-customer-algorithm
s3:versionid
s3:GetObjectLegalHold

控制對 GetObjectLegalHold S3 API 操作的存取權。

GetObjectHeadObject 操作的回應中,要包含物件鎖定元數據時,需要此權限。

s3:PutObjectLegalHold

控制對 PutObjectLegalHold S3 API 操作的存取權。

任何指定法律保留元數據PutObject 操作皆需此權限。

支援以下其他 條件鍵

s3:x-amz-server-side-encryption
s3:x-amz-server-side-encryption-customer-algorithm
s3:object-lock-legal-hold
s3:versionid
s3:GetBucketObjectLockConfiguration

控制對 GetObjectLockConfiguration S3 API 操作的存取權。

s3:PutBucketObjectLockConfiguration

控制對 PutObjectLockConfiguration S3 API 操作的存取權。

儲存貯體通知

s3:GetBucketNotification

控制對 GetBucketNotification S3 API 操作的存取權。

s3:PutBucketNotification

控制對 PutBucketNotification S3 API 操作的存取權。

s3:ListenNotification

MinIO 擴充功能,用於控制與 MinIO 儲存貯體通知相關的 API 操作。

此操作**不**適用於其他與 S3 相容的服務。

s3:ListenBucketNotification

MinIO 擴充功能,用於控制與 MinIO 儲存貯體通知相關的 API 操作。

此操作**不**適用於其他與 S3 相容的服務。

物件生命週期管理

s3:PutLifecycleConfiguration

控制對 PutLifecycleConfiguration S3 API 操作的存取權。

s3:GetLifecycleConfiguration

控制對 GetLifecycleConfiguration S3 API 操作的存取權。

物件加密

s3:PutEncryptionConfiguration

控制對 PutEncryptionConfiguration S3 API 操作的存取權。

s3:GetEncryptionConfiguration

控制對 GetEncryptionConfiguration S3 API 操作的存取權。

儲存桶複寫

s3:GetReplicationConfiguration

控制對 GetBucketReplication S3 API 操作的存取權。

s3:PutReplicationConfiguration

控制對 PutBucketReplication S3 API 操作的存取權。

s3:ReplicateObject

MinIO 擴充功能,用於控制與伺服器端儲存桶複寫相關的 API 操作。

MinIO 伺服器端複寫所需。

支援以下其他 條件鍵

s3:versionid
s3:ExistingObjectTag/<key>
s3:ReplicateDelete

MinIO 擴充功能,用於控制與伺服器端儲存桶複寫相關的 API 操作。

同步 刪除操作 作為 MinIO 伺服器端複寫的一部分所需。

支援以下其他 條件鍵

s3:versionid
s3:ExistingObjectTag/<key>
s3:ReplicateTags

MinIO 擴充功能,用於控制與伺服器端儲存桶複寫相關的 API 操作。

MinIO 伺服器端複寫所需。

支援以下其他 條件鍵

s3:versionid
s3:ExistingObjectTag/<key>
s3:GetObjectVersionForReplication

MinIO 擴充功能,用於控制與伺服器端儲存桶複寫相關的 API 操作。

MinIO 伺服器端複寫所需。

支援以下其他 條件鍵

s3:versionid
s3:ExistingObjectTag/<key>

支援的 S3 政策條件金鑰

MinIO 政策文件支援 IAM 條件陳述式

每個條件元素都包含運算子和條件金鑰。MinIO 支援 IAM 條件金鑰的子集。有關任何列出的條件金鑰的完整資訊,請參閱IAM 條件元素文件

MinIO 針對所有支援的動作支援下列條件金鑰

  • aws:Referer

  • aws:SourceIp

  • aws:UserAgent

  • aws:SecureTransport

  • aws:CurrentTime

  • aws:EpochTime

  • aws:PrincipalType

  • aws:userid

  • aws:username

  • x-amz-content-sha256

  • s3:signatureAge

警告

aws:Refereraws:SourceIpaws.UserAgent 金鑰可能很容易被偽造,因此會構成潛在的安全風險。MinIO 建議僅使用這些條件金鑰來拒絕存取作為次要安全措施。

絕對不要單獨使用這三個金鑰來授予存取權。

如需特定 S3 動作支援的其他金鑰,請參閱該動作的參考文件。

MinIO 擴充條件金鑰

MinIO 使用下列擴充金鑰來擴充 S3 標準條件金鑰

sts:DurationSeconds

在版本 MinIO 中新增:SERVER RELEASE.2024-02-06T21-36-22Z

以秒為單位指定時間,以限制由AssumeRoleWithWebIdentity產生的所有安全權杖服務憑證的持續時間。

此值會覆寫傳遞至用戶端的 DurationSeconds 欄位。

例如

{
   "Version": "2012-10-17",
   "Statement": [
      {
            "Effect": "Allow",
            "Action": [
               "sts:AssumeRoleWithWebIdentity"
            ],
            "Condition": {
               "NumericLessThanEquals": {
                  "sts:DurationSeconds": "300"
               }
            }
      }
   ]
}

mc admin 政策動作金鑰

MinIO 支援下列動作,以用於定義mc admin 操作的政策。這些動作對 MinIO 部署有效,並且打算與其他 S3 相容服務一起使用

admin:*

所有管理動作金鑰的選取器。

admin:Heal

允許 heal 命令

admin:StorageInfo

允許列出伺服器資訊

admin:DataUsageInfo

允許列出資料使用資訊

admin:TopLocksInfo

允許列出最常用的鎖

admin:Profiling

允許分析

admin:ServerTrace

允許列出伺服器追蹤

admin:ConsoleLog

允許在終端機上列出主控台記錄

admin:KMSCreateKey

允許建立新的 KMS 主金鑰

admin:KMSKeyStatus

允許取得 KMS 金鑰狀態

admin:ServerInfo

允許列出伺服器資訊

admin:OBDInfo

允許取得叢集機載診斷

admin:ServerUpdate

允許 MinIO 二進位更新

admin:ServiceRestart

允許重新啟動 MinIO 服務。

admin:ServiceStop

允許停止 MinIO 服務。

admin:ConfigUpdate

允許 MinIO 組態管理

admin:CreateUser

允許建立 MinIO 使用者

admin:DeleteUser

允許刪除 MinIO 使用者

admin:ListUsers

允許列出使用者權限

admin:EnableUser

允許啟用使用者權限

admin:DisableUser

允許停用使用者權限

admin:GetUser

允許對使用者資訊使用 GET 權限

admin:AddUserToGroup

允許將使用者新增至群組權限

admin:RemoveUserFromGroup

允許將使用者從群組移除的權限

admin:GetGroup

允許取得群組資訊

admin:ListGroups

允許列出群組權限

admin:EnableGroup

允許啟用群組權限

admin:DisableGroup

允許停用群組權限

admin:CreatePolicy

允許建立政策權限

admin:DeletePolicy

允許刪除原則的權限

admin:GetPolicy

允許取得原則的權限

admin:AttachUserOrGroupPolicy

允許將原則附加到使用者/群組

admin:ListUserPolicies

允許列出使用者原則

admin:CreateServiceAccount

允許建立 MinIO 存取金鑰

admin:UpdateServiceAccount

允許更新 MinIO 存取金鑰

admin:RemoveServiceAccount

允許刪除 MinIO 存取金鑰

admin:ListServiceAccounts

允許列出 MinIO 存取金鑰

admin:SetBucketQuota

允許設定儲存桶配額

admin:GetBucketQuota

允許取得儲存桶配額

admin:SetBucketTarget

允許設定儲存桶目標

admin:GetBucketTarget

允許取得儲存桶目標

admin:SetTier

允許使用 mc ilm tier 命令建立和修改遠端儲存層。

admin:ListTier

允許使用 mc ilm tier 命令列出已設定的遠端儲存層。

admin:BandwidthMonitor

允許檢索與目前頻寬消耗量相關的指標。

admin:Prometheus

允許存取 MinIO 指標。 僅當 MinIO 需要驗證才能擷取指標時才需要。

admin:ListBatchJobs

允許存取以列出作用中的批次作業。

admin:DescribeBatchJobs

允許存取以查看執行中批次作業的定義詳細資訊。

admin:StartBatchJob

允許使用者開始批次作業執行。

admin:CancelBatchJob

允許使用者停止目前正在進行的批次作業。

admin:Rebalance

允許存取以開始、查詢或停止在具有不同可用儲存空間的集區之間重新平衡物件。

mc admin 原則條件金鑰

MinIO 支援以下條件,用於定義 mc admin 動作 的原則。

  • aws:Referer

  • aws:SourceIp

  • aws:UserAgent

  • aws:SecureTransport

  • aws:CurrentTime

  • aws:EpochTime

如需有關任何列出的條件金鑰的完整資訊,請參閱 IAM 條件元素文件

原則變數

MinIO 支援使用原則變數,以便自動將已驗證的使用者和/或操作的內容替換到使用者已指派的原則中。 使用 ${POLICYVARIABLE} 格式在 ConditionResource 定義中,指定要套用到原則的變數。 MinIO 原則變數的功能類似於 AWS IAM 原則元素:變數和標籤

每個 MinIO 身分識別提供者 都支援其本身的一組原則變數

MinIO 原則變數

下表包含建議用於授權 MinIO 管理的使用者 的原則變數清單

變數

描述

aws:referrer

已驗證 API 呼叫的 HTTP 標頭中的參照位址。

aws:SourceIp

已驗證 API 呼叫的 HTTP 標頭中的來源 IP。

aws:username

與已驗證 API 呼叫相關聯的使用者名稱。

例如,下列原則使用變數來取代已驗證使用者的使用者名稱,作為 Resource 欄位的一部分,以便使用者只能存取與其使用者名稱相符的前置詞

{
"Version": "2012-10-17",
"Statement": [
      {
         "Action": ["s3:ListBucket"],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::mybucket"],
         "Condition": {"StringLike": {"s3:prefix": ["${aws:username}/*"]}}
      },
      {
         "Action": [
         "s3:GetObject",
         "s3:PutObject"
         ],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::mybucket/${aws:username}/*"]
      }
   ]
}

MinIO 會將 Resource 欄位中的 ${aws:username} 變數取代為使用者名稱。 然後,MinIO 會評估原則,並授予或撤銷對所要求的 API 和資源的存取權。

OpenID 原則變數

下表包含支援的原則變數清單,用於授權 OIDC 管理的使用者

每個變數對應於作為已驗證使用者的 JWT 權杖一部分傳回的宣告

變數

描述

jwt:sub

傳回使用者的 sub 宣告。

jwt:iss

從 ID 權杖傳回發行者識別碼宣告。

jwt:aud

從 ID 權杖傳回對象宣告。

jwt:jti

從用戶端驗證資訊傳回 JWT ID 宣告。

jwt:upn

從用戶端驗證資訊傳回使用者主體名稱宣告。

jwt:name

傳回使用者的 name 宣告。

jwt:groups

傳回使用者的 groups 宣告。

jwt:given_name

傳回使用者的 given_name 宣告。

jwt:family_name

傳回使用者的 family_name 宣告。

jwt:middle_name

傳回使用者的 middle_name 宣告。

jwt:nickname

傳回使用者的 nickname 宣告。

jwt:preferred_username

傳回使用者的 preferred_username 宣告。

jwt:profile

傳回使用者的 profile 宣告。

jwt:picture

傳回使用者的 picture 宣告。

jwt:website

傳回使用者的 website 宣告。

jwt:email

傳回使用者的 email 宣告。

jwt:gender

傳回使用者的 gender 宣告。

jwt:birthdate

傳回使用者的 birthdate 宣告。

jwt:phone_number

傳回使用者的 phone_number 宣告。

jwt:address

傳回使用者的 address 宣告。

jwt:scope

傳回使用者的 scope 宣告。

jwt:client_id

傳回使用者的 client_id 宣告。

如需這些範圍的詳細資訊,請參閱 OpenID Connect Core 1.0 文件。 您選擇的 OIDC 提供者可能有更具體的說明文件。

例如,下列原則使用變數來取代已驗證使用者的 preferred_username 作為 Resource 欄位的一部分,以便使用者只能存取與其使用者名稱相符的前置詞

{
"Version": "2012-10-17",
"Statement": [
      {
         "Action": ["s3:ListBucket"],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::mybucket"],
         "Condition": {"StringLike": {"s3:prefix": ["${jwt:preferred_username}/*"]}}
      },
      {
         "Action": [
         "s3:GetObject",
         "s3:PutObject"
         ],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::mybucket/${jwt:preferred_username}/*"]
      }
   ]
}

MinIO 會將 Resource 欄位中的 ${jwt:preferred_username} 變數,替換為 JWT Token 中 preferred_username 的值。接著,MinIO 會評估該政策,並授予或撤銷對請求的 API 和資源的存取權。

Active Directory / LDAP 政策變數

下表列出用於授權 AD/LDAP 使用者 的支援政策變數。

變數

描述

ldap:username

已驗證使用者的簡單使用者名稱 (name)。

這與使用者的 DistinguishedName 或 CommonName 不同。

ldap:user

已驗證使用者所使用的 Distinguished Name。

ldap:groups

已驗證使用者的群組 Distinguished Name。

例如,以下政策使用變數來替換已驗證使用者的 name 作為 Resource 欄位的一部分,如此一來,使用者只能存取與其名稱相符的前綴。

{
"Version": "2012-10-17",
"Statement": [
      {
         "Action": ["s3:ListBucket"],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::mybucket"],
         "Condition": {"StringLike": {"s3:prefix": ["${ldap:username}/*"]}}
      },
      {
         "Action": [
         "s3:GetObject",
         "s3:PutObject"
         ],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::mybucket/${ldap:username}/*"]
      }
   ]
}

MinIO 會將 Resource 欄位中的 ${ldap:username} 變數,替換為已驗證使用者的 name 值。接著,MinIO 會評估該政策,並授予或撤銷對請求的 API 和資源的存取權。