指派對個別儲存區的存取權
使用使用者介面或 CLI 來建立原則,以針對儲存區指派使用者及「服務 ID」的存取角色。
| 存取角色 | 範例動作 |
|---|---|
| 管理員 | 將物件設為公用、建立及破壞儲存區和物件 |
| 撰寫者 | 建立及破壞儲存區和物件 |
| 讀者 | 列出儲存區、列出物件及下載物件。 |
| 內容讀者 | 列出及下載物件 |
| 物件讀取器 | 下載物件 |
| 物件寫入器 | 上傳物件 |
授與存取權給使用者
如果使用者需要能夠使用主控台,並且能夠查看實例內所有儲存區的清單,則可以使用自訂平台存取角色。 這可讓他們只檢視特定儲存區的內容。 如果使用者不適合讀取其他儲存區的名稱,則必須使用 API 來設計及實作自訂入口網站或其他使用者介面。
如果使用者使用 API 與資料互動並且不需要控制台存取權限,_並且_他們是您帳戶的成員,您可以使用預設角色授予對單一儲存桶的存取權限,而無需對父實例進行任何存取。
原則強制執行
IAM 原則會以從最大存取層次到最受限制層次的階層式方式強制執行。 衝突會解析為較寬鬆的原則。 例如,如果使用者同時具有儲存區的Writer及Reader服務存取角色,則會忽略授與Reader角色的原則。
這也適用於服務實例及儲存區層次原則。
- 如果使用者的原則授與服務實例的
Writer角色及單一儲存區的Reader角色,則會忽略儲存區層次原則。 - 如果使用者的原則授與服務實例的
Reader角色及單一儲存區的Writer角色,則會強制執行兩個原則,而且會優先使用個別儲存區的較寬鬆的Writer角色。
如果需要限制對單一儲存桶(或一組儲存桶)的訪問,請使用控制台或 CLI 確保使用者或服務 ID 沒有任何其他實例級策略。
請參閱 組織資源及指派存取權的最佳作法,以進一步瞭解。
為使用者建立新策略
若要建立新的儲存區層次原則,請執行下列動作:
- 從管理功能表中,導覽至存取 IAM 主控台。
- 從左導覽功能表中,選取使用者。
- 選取使用者。
- 選取存取原則標籤,以檢視使用者的現有原則、指派新的原則,或編輯現有原則。
- 按一下指派存取權,以建立新的原則。
- 選擇指派對資源的存取權。
- 首先從「服務」功能表中選取 Cloud Object Storage。
- 然後,選取適當的服務實例。 在
bucket資源類型欄位中輸入,並在資源 ID 欄位中輸入儲存區名稱。 - 選取所需的服務存取角色。 選取含動作數目的菱形,會顯示角色可用的動作,如圖 1 中的「內容讀者」所舉例說明。
- 按一下指派。
請注意,讓資源類型或資源欄位保留空白,將會建立實例層次原則。
建立使用者 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」。
為使用者建立新策略
- 從管理功能表中,導覽至存取 (IAM) 主控台。
- 從左導覽功能表中,選取服務 ID。
- 選取「服務 ID」以檢視所有現有原則,並指派新的原則或編輯現有原則。
- 選取服務實例、服務 ID 及所需的角色。
- 在
bucket資源類型欄位中輸入,並在資源欄位中輸入儲存區名稱。 - 按一下提交。
請注意,讓資源類型或資源欄位保留空白,將會建立實例層次原則。
為服務 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>