管理 IAM 访问权限 InstructLab

您账户中用户访问 Red Hat AI InstructLab 项目的权限由 IBM Cloud® Identity and Access Management (IAM) 控制。 访问 Red Hat AI InstructLab 服务的每个用户都必须分配一个具有 IAM 角色的访问策略。 查看以下角色、操作等,以帮助确定分配访问权限到 Red Hat AI InstructLab 的最佳方式。

在账户中为用户分配的访问策略决定了用户可以在所选服务或特定项目的范围内执行哪些操作。 允许的操作由 Red Hat AI InstructLab 自定义,并定义为允许在服务上执行的操作。 每个操作都对应一个IAM平台或服务角色,您可以将其分配给用户。

确保您也拥有要使用的资源组的查看器角色。

IAM 访问策略支持不同级别的访问。 部分选项包括:

  • 允许读者或作家访问特定项目。
  • 允许读者或作家访问可能有许多项目的特定资源组。
  • 让阅读者或写作者访问整个账户,因为账户中可能有许多资源组和许多项目。
  • 允许查看器访问资源组内的 InstructLab 项目和账户级别。
  • 赋予创建权限,以便在资源组和账户级别内创建 InstructLab 项目。

如果某个特定角色及其操作不符合您要解决的问题,您可以 创建自定义角色 并选择要包含的操作。

查看以下表格,了解使用 Red Hat AI InstructLab 服务时,每个角色允许执行的任务类型。 平台管理角色使用户能够在平台层面对服务资源执行任务,例如分配用户对服务的访问权限、创建或删除项目以及将项目绑定到应用程序。 服务访问角色使用户能够访问 Red Hat AI InstructLab 并调用 Red Hat AI InstructLab 的应用程序接口。

这是平台角色允许用户执行操作的高级视图。 用通俗易懂的语言描述用户在分配每个角色时可以完成哪些任务或常见工作。

IAM 角色和操作

IAM 平台作用
平台角色 描述
查看者 作为查看器,您可以查看项目,但不能修改项目。
运算符 作为操作员,您可以执行配置和操作项目所需的平台操作,例如查看服务的仪表板。
编辑者 作为编辑者,您可以执行所有平台操作,但管理帐户和分配访问策略除外。
管理员 作为管理员,您可以基于分配给此角色的资源,执行所有平台操作,包括向其他用户分配访问策略。
服务配置阅读器 为治理管理读取服务配置的能力。
主要负责人 作为密钥管理器,该服务可以执行管理资源密钥所需的平台操作,例如创建新的资源密钥。
IAM 服务访问角色
服务角色 描述
读者 作为读取者,您可以在服务中执行只读操作,如查看服务特定资源。
写入者 作为写入者,您的许可权超过读取者角色,包括创建和编辑服务特定资源。
管理者 作为管理者,您的许可权超过写入者角色,可以完成服务所定义的特权操作。 此外,您还可以创建和编辑服务特定资源。
IAM 行动
操作和事件 描述 角色
instructlab.dashboard.view 查看 InstructLab 仪表板。 操作员、管理员、编辑
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 人工制品

为 Object Storage 服务赋予 InstructLab Writer 访问角色。 登录用户也必须拥有相同的权限。

  1. 为 InstructLab 和 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
    
  2. 确认已创建授权策略。

    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
    
  3. 可选项如果使用私有存储库,请为 InstructLab 和 Secrets Manager

    ibmcloud iam authorization-policy-create Reader --source-service-name instructlab --target-service-name secrets-manager
    
  4. 如有必要,将 Writer 权限赋予登录用户。 包括上一步中的 Object Storage 服务实例 ID。

    ibmcloud iam user-policy-create <user> --roles Writer --service-instance <cloud-object-storage-instance-id>
    

分配用户访问资源的权限

您可以控制账户中的哪些用户(或用户组)访问 InstructLab 资源。 请按照以下步骤在控制台中分配访问权限。

有关如何分配访问权限的详细信息,如使用 CLI 的步骤或访问 InstructLab 或 Object Storage 邮筒的不同方法,请参阅 IBM Cloud 上的管理 Red Hat AI InstructLab 的 IAM 访问权限。

分配访问权限有两种常见方法:

每个用户的访问权限。
您可以从控制台中的管理 > 访问 (IAM) > 用户页面管理每个用户的访问策略。 有关分配IAM访问权限的步骤,请参阅 控制台中的资源访问管理。
访问组。
访问组用于简化访问管理,只需将访问权限分配给一个组,然后根据需要添加或删除组中的用户,即可控制他们的访问权限。 您可以在控制台的 “管理 > 访问(IAM) > 访问组 ”页面中管理访问组及其访问权限。 更多信息,请参阅 在控制台中为组分配访问权限。

{{../account/iam-mng-access.md#access-resources-console}}

{{../account/iam-mng-access.md#access-to-resources-console}}

{{../account/iam-mng-access.md#access-to-resource-group}}

使用 CLI 分配访问 InstructLab

有关分配、删除和查看访问权限的详细步骤,请参阅 使用 CLI 分配资源访问权限。 以下示例显示了为 instructlab 分配 Writer 角色的命令:

服务名称请使用 instructlab。 要查找角色 ID,请运行 ibmcloud iam roles 命令。 此外,角色名称如果超过一个单词,请使用引号。 例如 "Service Configuration Reader"。

示例命令为账户中的特定 InstructLab 项目赋予用户“查看器”角色。

ibmcloud iam user-policy-create name@example.com --roles Viewer --service-name instructlab --attributes "projectId=1b111111-1ef1-11f1-1111-111bae11111a"

示例命令,为账户中的特定 InstructLab 项目赋予用户密钥管理器角色。

ibmcloud iam user-policy-create name@email.com --roles "Key Manager" --service-name instructlab

示例命令为账户中的所有 InstructLab 项目赋予用户 Writer 角色。

ibmcloud iam user-policy-create USER@EXAMPLE.COM --service-name instructlab --roles Writer

为账户中 InstructLab 服务的所有实例分配管理员角色的示例命令。

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

使用应用程序接口为 InstructLab 分配用户访问权限

有关分配、删除和审查访问权限的详细步骤,请参阅 使用API分配资源访问权限 或 创建策略API文档。 下表中的角色云资源名称(CRN)用于通过API分配访问权限。

使用 instructlab 作为服务名称,并参阅角色 CRN 值表,确保使用了正确的角色值。 查看以下角色 CRN 列表。

IAM 角色 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

下面的示例为 instructlab 指定了 Writer 角色。

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"
        }
      ]
    }
  ]
}

{{../account/iam-mng-access.md#access-resources-api}}

{{../account/iam-mng-access.md#access-resourcegroups-api}}