管理 IAM 存取權限以供 Red Hat AI 推論
您帳戶中使用者對 Red Hat AI Inference 專案的存取權限,由 IBM Cloud® Identity and Access Management (IAM)進行管控。 您帳戶中每位存取 Red Hat AI Inference 服務的使用者,都必須被指派一項包含 IAM 角色的存取政策。 請檢視以下角色、操作等相關資訊,以協助您決定授予 Red Hat AI Inference 存取權限的最佳方式。
您在帳戶中為使用者指派的存取權限政策,將決定該使用者在您所選定的服務或特定專案的範圍內,可執行哪些操作。 允許的操作是由服務管理員( Red Hat AI Inference )根據服務可執行的操作進行自訂與定義的。 每項操作都會對應至一個 IAM 平台或服務角色,您可以將該角色指派給使用者。
請確保您對欲使用的資源群組也具備「檢視者」角色。
IAM 存取政策可啟用不同層級的存取權限。 以下是一些選項:
- 授予特定專案的「讀取」或「寫入」權限。
- 授予「讀取」或「寫入」權限,以存取可能包含多個專案的特定資源群組。
- 授予「讀取」或「寫入」權限至整個帳戶,而該帳戶中可能包含多個資源群組,每個資源群組下又可能有許多專案。
- 授予檢視者對資源群組內及帳戶層級的「Red Hat AI 推論」專案的存取權限。
- 授予「創建」權限,以便在資源群組及帳戶層級內建立 Red Hat AI 推論 專案。
如果某個特定角色及其動作不符合您想要處理的使用情境,您可以 建立自訂角色,並選擇要包含的動作。
請參閱以下表格,其中概述了在使用「Red Hat AI Inference」服務時,各角色可執行的任務類型。 平台管理角色可讓使用者在平台層級對服務資源執行各項任務,例如:授予使用者對該服務的存取權限、建立或刪除專案,以及將專案綁定至應用程式。 服務存取角色可讓使用者存取 Red Hat AI Inference,並能呼叫 Red Hat AI Inference 的 API。
以下是關於平台角色允許使用者執行哪些操作的高階概覽。 請以淺顯易懂的語言說明,當被指派各角色時,使用者可以完成哪些類型的任務,或是預期會執行哪些常見的工作。
IAM 角色和動作
| 平台角色 | 說明 |
|---|---|
| 檢視者 | 身為瀏覽者,您可以檢視專案,但無法修改它們。 |
| 操作員 | 身為操作員,您可以執行配置和運作專案所需的平臺操作,例如檢視服務的儀表板。 |
| 編輯者 | 身為編輯者,您可以可能所有平台動作,但管理帳戶及指派存取原則除外。 |
| 管理者 | 身為管理者,您可以根據指派此角色的資源執行所有平台動作,包括指派存取原則給其他使用者。 |
| 服務配置器讀取器 | 讀取服務設定以進行治理管理的能力。 |
| 金鑰管理員 | 身為金鑰管理員,此服務可執行管理資源金鑰所需的平台操作,例如建立新的資源金鑰。 |
| 服務角色 | 說明 |
|---|---|
| 讀者 | 身為讀取者,您可以在服務內執行唯讀動作,例如檢視服務特定的資源。 |
| 撰寫者 | 身為撰寫者,您具有讀者角色之外的許可權,包括建立及編輯服務特定的資源。 |
| 管理員 | 身為管理員,您具有撰寫者角色之外的許可權,以完成服務所定義的特許動作。 此外,您可以建立及編輯服務特定的資源。 |
| 行動與活動 | 說明 | 角色 |
|---|---|---|
instructlab.dashboard.view |
檢視 Red Hat AI Inference 的儀表板。 | 操作員、管理員、編輯 |
instructlab.taxonomy.read |
閱讀分類法的詳細資訊。 | 讀者、撰寫者、管理員 |
instructlab.taxonomy.create |
建立分類法 | 作者、管理員 |
instructlab.taxonomy.list |
列出分類法。 | 讀者、撰寫者、管理員 |
instructlab.taxonomy.delete |
刪除分類法。 | 作者、管理員 |
instructlab.sdgdata.read |
閱讀資料產生執行任務的詳細資訊。 | 讀者、撰寫者、管理員 |
instructlab.sdgdata.list |
列出資料產生執行紀錄。 | 讀者、撰寫者、管理員 |
instructlab.sdgdata.create |
建立一個資料產生執行任務。 | 作者、管理員 |
instructlab.sdgdata.delete |
刪除一次資料產生執行。 | 作者、管理員 |
instructlab.sdgdata.stop |
停止一次資料產生執行。 | 作者、管理員 |
instructlab.sdgdata.stop |
停止一次資料產生執行。 | 作者、管理員 |
instructlab.model.read |
閱讀某次模型訓練執行詳情。 | 讀者、撰寫者、管理員 |
instructlab.model.list |
列出模型訓練的執行紀錄。 | 讀者、撰寫者、管理員 |
instructlab.model.create |
建立一個模型訓練執行程序。 | 作者、管理員 |
instructlab.model.delete |
刪除一個模型訓練執行。 | 作者、管理員 |
instructlab.model.stop |
停止模型的訓練執行。 | 作者、管理員 |
授予 InstuctLab 權限,以建立及更新 Object Storage 的構建產出
請為 Red Hat AI 推論 授予 Object Storage 服務的「Writer」存取角色。 已登入的使用者也必須擁有相同的權限。
-
為 Red Hat AI 推論 和 Object Storage 建立授權政策。
ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storage如果您已有可用的 Object Storage 資源,您可以將授權範圍限定為僅這些資源。
ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storage --target-service-instance-id CLOUD-OBJECT-STORAGE-INSTANCE-ID --target-resource CLOUD-OBJECT-STORAGE-BUCKET --target-resource-type bucket -
請確認授權政策已建立。
ibmcloud iam authorization-policies當授權未限定於特定的 Object Storage 儲存桶時,結果如下:
Getting authorization policies under account abc1234 as user... OK ID: <id> Source service name: instructlab Source service instance: All instances Target service name: cloud-object-storage Target service instance: All instances Roles: Writer當授權範圍限定於特定的 Object Storage 儲存桶時,結果如下:
Getting authorization policies under account abc1234 as user... OK ID: <id> Source service name: instructlab Source service instance: All instances Target service name: cloud-object-storage Target service instance: bucket Roles: Writer -
( 可選 )若您使用的是私有儲存庫,請為 Red Hat AI 推論 建立另一項服務授權,並 Secrets Manager
ibmcloud iam authorization-policy-create Reader --source-service-name instructlab --target-service-name secrets-manager -
如有需要,請授予已登入的使用者「
Writer」權限。 請包含上一步驟中取得的「Object Storage」服務實例 ID。ibmcloud iam user-policy-create <user> --roles Writer --service-instance <cloud-object-storage-instance-id>
為您的資源指派使用者存取權限
您可以控制帳戶中的哪些使用者(或使用者群組)可以存取您的 Red Hat AI Inference 資源。 請依照以下步驟,在控制台中指派存取權限。
如需進一步了解如何指派存取權限、使用 CLI 的相關步驟,或是限制對 Red Hat AI Inference 或您的 Object Storage 儲存桶存取權限的各種方法,請參閱 《 管理 Red Hat AI Inference 的 IAM 存取權限 》。
授予存取權限有兩種常見的方式:
- 依使用者設定的存取政策。
- 您可透過控制台中的「管理」>「存取權限 (IAM)」>「使用者」頁面,針對每位使用者管理存取權限政策。 有關指派 IAM 存取權限的步驟,請參閱「在主控台中管理資源存取權限」。
- 存取群組。
- 存取群組用於簡化存取管理:只需對群組進行一次存取權限設定,之後即可根據需要向群組中新增或移除使用者,藉此控制其存取權限。 您可透過控制台中的「管理 > 存取權限 (IAM) > 存取群組」頁面,管理存取群組及其存取權限。 如需更多資訊,請參閱「在主控台中為群組指派存取權限」。
{{../iam/iam-mng-access.md#access-resources-console}}
{{../iam/iam-mng-access.md#access-to-resources-console}}
{{../iam/iam-mng-access.md#access-to-resource-group}}
使用 CLI 授予對 Red Hat AI 推論 的存取權限
有關指派、撤銷及檢視存取權限的逐步說明,請參閱 《 使用 CLI 指派資源存取權限 》。 以下範例展示了一條用於將「Writer」角色指派給「instructlab」的指令:
請將服務名稱設定為「instructlab」。 若要找出角色 ID,請執行 ibmcloud iam roles 指令。 此外,若角色名稱由多個單字組成,請用引號將其括起來。 例如 "Service Configuration Reader"。
以下為賦予使用者該帳戶中特定 Red Hat AI 推論 專案之「檢視者」角色的範例指令。
ibmcloud iam user-policy-create name@example.com --roles Viewer --service-name instructlab --attributes "projectId=1b111111-1ef1-11f1-1111-111bae11111a"
以下為賦予使用者該帳戶中某個特定 Red Hat AI 推論 專案之「金鑰管理員」角色的範例指令。
ibmcloud iam user-policy-create name@email.com --roles "Key Manager" --service-name instructlab
以下為賦予使用者該帳戶中所有 Red Hat AI 推論 專案之「撰寫者」角色的範例指令。
ibmcloud iam user-policy-create USER@EXAMPLE.COM --service-name instructlab --roles Writer
以下為範例指令,用於將「管理員」角色指派給該帳戶中所有「Red Hat AI 推論」服務的執行個體。
ibmcloud iam user-policy-create name@example.com --roles Administrator --service-name instructlab
將「檢視者」角色指派給帳戶中所有資源群組的範例指令。
ibmcloud iam user-policy-create name@example.com --roles Viewer --resource-type resource-group
將「檢視者」角色指派給特定資源群組中所有使用者的範例指令。
ibmcloud iam user-policy-create name@example.com --roles Viewer --resource-type resource-group
以下為賦予資源群組「管理員」角色的範例指令。
ibmcloud iam service-policy-create test --roles Administrator --resource-group-name sample-resource-group
使用 API 為 Red Hat AI 推論 指派使用者存取權限
有關指派、撤銷及檢視存取權限的逐步操作說明,請參閱 使用 API 授予資源存取權限 或 建立政策 API 文件。 下表中所列的角色雲端資源名稱(CRN)用於透過 API 授予存取權限。
請將服務名稱設定為「instructlab」,並參閱「角色 CRN 值」表格,以確保您為該角色使用的是正確的值。 請檢視以下角色 CRN 清單。
| 角色 | CRN |
|---|---|
| 讀者 | crn:v1:bluemix:public:iam::::serviceRole:Reader |
| 撰寫者 | crn:v1:bluemix:public:iam::::serviceRole:Writer |
| 管理員 | crn:v1:bluemix:public:iam::::serviceRole:Manager |
| 檢視者 | crn:v1:bluemix:public:iam::::role:Viewer |
| 操作員 | crn:v1:bluemix:public:iam::::role:Operator |
| 編輯者 | crn:v1:bluemix:public:iam::::role:Editor |
| 管理者 | crn:v1:bluemix:public:iam::::role:Administrator |
| 服務配置器讀取器 | crn:v1:bluemix:public:iam::::role:ConfigReader |
| 金鑰管理員 | crn:v1:bluemix:public:resource-controller::::role:KeyManager |
以下範例將「Writer」角色指派給 instructlab。
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{
"type": "access",
"description": "Writer role for InstructLab",
"subjects": [
{
"attributes": [
{
"name": "iam_id",
"value": "IBMid-123453user"
}
]
}'
],
"roles":[
{
"role_id": "crn:v1:bluemix:public:iam::::serviceRole:Writer"
}
],
"resources":[
{
"attributes": [
{
"name": "accountId",
"value": "$ACCOUNT_ID"
},
{
"name": "serviceName",
"value": "instructlab"
}
]
}
]
}
{{../iam/iam-mng-access.md#access-resources-api}}
{{../iam/iam-mng-access.md#access-resourcegroups-api}}