指派對個別儲存區的存取權

使用使用者介面或 CLI 來建立原則,以針對儲存區指派使用者及「服務 ID」的存取角色。

儲存區
存取角色 範例動作
管理員 將物件設為公用、建立及破壞儲存區和物件
撰寫者 建立及破壞儲存區和物件
讀者 列出儲存區、列出物件及下載物件。
內容讀者 列出及下載物件
物件讀取器 下載物件
物件寫入器 上傳物件

授與存取權給使用者

如果使用者需要能夠使用主控台,並且能夠查看實例內所有儲存區的清單,則可以使用自訂平台存取角色。 這可讓他們只檢視特定儲存區的內容。 如果使用者不適合讀取其他儲存區的名稱,則必須使用 API 來設計及實作自訂入口網站或其他使用者介面。

如果使用者使用 API 與資料互動並且不需要控制台存取權限,_並且_他們是您帳戶的成員,您可以使用預設角色授予對單一儲存桶的存取權限,而無需對父實例進行任何存取。

原則強制執行

IAM 原則會以從最大存取層次到最受限制層次的階層式方式強制執行。 衝突會解析為較寬鬆的原則。 例如,如果使用者同時具有儲存區的WriterReader服務存取角色,則會忽略授與Reader角色的原則。

這也適用於服務實例及儲存區層次原則。

  • 如果使用者的原則授與服務實例的Writer角色及單一儲存區的Reader角色,則會忽略儲存區層次原則。
  • 如果使用者的原則授與服務實例的Reader角色及單一儲存區的Writer角色,則會強制執行兩個原則,而且會優先使用個別儲存區的較寬鬆的Writer角色。

如果需要限制對單一儲存桶(或一組儲存桶)的訪問,請使用控制台或 CLI 確保使用者或服務 ID 沒有任何其他實例級策略。

請參閱 組織資源及指派存取權的最佳作法,以進一步瞭解。

為使用者建立新策略

若要建立新的儲存區層次原則,請執行下列動作:

  1. 管理功能表中,導覽至存取 IAM 主控台。
  2. 從左導覽功能表中,選取使用者
  3. 選取使用者。
  4. 選取存取原則標籤,以檢視使用者的現有原則、指派新的原則,或編輯現有原則。
  5. 按一下指派存取權,以建立新的原則。
  6. 選擇指派對資源的存取權
  7. 首先從「服務」功能表中選取 Cloud Object Storage
  8. 然後,選取適當的服務實例。 在bucket資源類型欄位中輸入,並在資源 ID 欄位中輸入儲存區名稱。
  9. 選取所需的服務存取角色。 選取含動作數目的菱形,會顯示角色可用的動作,如圖 1 中的「內容讀者」所舉例說明。
  10. 按一下指派

每個內容閱讀者角色的範例操作
角色資訊

請注意,讓資源類型資源欄位保留空白,將會建立實例層次原則。

建立使用者 CLI 指令的新原則

從終端機中,執行下列指令:

ibmcloud iam user-policy-create <user-name> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id> \
      --resource-type bucket \
      --resource <bucket-name>

若要列出現有原則,請執行下列指令:

ibmcloud iam user-policies <user-name>

若要編輯現有原則,請執行下列動作:

ibmcloud iam user-policy-update <user-name> <policy-id> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id> \
      --resource-type bucket \
      --resource <bucket-name>

授與對服務 ID 的存取權

如果您需要授予應用程式或其他非人類實體對儲存桶的存取權限,請使用服務 ID。 基於此用途,會特別建立「服務 ID」,「服務 ID」也可以是正在使用的現有「服務 ID」。

為使用者建立新策略

  1. 管理功能表中,導覽至存取 (IAM) 主控台。
  2. 從左導覽功能表中,選取服務 ID
  3. 選取「服務 ID」以檢視所有現有原則,並指派新的原則或編輯現有原則。
  4. 選取服務實例、服務 ID 及所需的角色。
  5. bucket資源類型欄位中輸入,並在資源欄位中輸入儲存區名稱。
  6. 按一下提交

請注意,讓資源類型資源欄位保留空白,將會建立實例層次原則。

為服務 ID 建立新策略

從終端機中,執行下列指令:

ibmcloud iam service-policy-create <service-id-name> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id> \
      --resource-type bucket \
      --resource <bucket-name>

若要列出現有原則,請執行下列指令:

ibmcloud iam service-policies <service-id-name>

若要編輯現有原則,請執行下列動作:

ibmcloud iam service-policy-update <service-id-name> <policy-id> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id>
      --resource-type bucket \
      --resource <bucket-name>