Gerenciando o acesso do IAM para o InstructLab
O acesso aos projetos Red Hat AI InstructLab para os usuários da sua conta é controlado pelo IBM Cloud® Identity and Access Management (IAM). Todo usuário que acessa o serviço Red Hat AI InstructLab em sua conta deve ter designada uma política de acesso com uma função do IAM. Analise as seguintes funções, ações e muito mais para ajudar a determinar a melhor maneira de atribuir acesso a Red Hat AI InstructLab.
A política de acesso que você atribui aos usuários da sua conta determina quais ações um usuário pode executar no contexto do serviço ou do projeto específico que você selecionou. As ações permitidas são personalizadas e definidas pelo site Red Hat AI InstructLab como operações que podem ser realizadas no serviço. Cada ação é mapeada para uma função de plataforma ou de serviço do IAM que pode ser designada a um usuário.
Certifique-se de que você também tenha a função Viewer para os grupos de recursos que deseja usar.
As políticas de acesso do IAM permitem o acesso em diferentes níveis. Algumas opções incluem as seguintes:
- Conceder ao Reader ou Writer acesso a um projeto específico.
- Conceder ao Reader ou Writer acesso a um grupo de recursos específico onde pode haver muitos projetos.
- Conceder ao Reader ou Writer acesso a toda a conta, onde pode haver muitos grupos de recursos com muitos projetos.
- Conceder ao Viewer acesso ao(s) projeto(s) InstructLab em um grupo de recursos e no nível da conta.
- Conceder acesso de criação para criar projeto(s) InstructLab em um grupo de recursos e no nível da conta.
Se uma função específica e suas ações não se ajustarem ao caso de uso que você deseja abordar, é possível criar uma função customizada e selecionar as ações a serem incluídas.
Analise as tabelas a seguir que descrevem os tipos de tarefas que cada função permite quando você está trabalhando com o serviço Red Hat AI InstructLab. As funções de gerenciamento da plataforma permitem que os usuários executem tarefas nos recursos de serviço no nível da plataforma, por exemplo, atribuir acesso de usuário ao serviço, criar ou excluir projetos e vincular projetos a aplicativos. As funções de acesso ao serviço permitem que os usuários acessem o site Red Hat AI InstructLab e a capacidade de chamar a API do site Red Hat AI InstructLab.
Essa é uma visão de alto nível do que as funções da plataforma permitem que os usuários façam. Use uma descrição em linguagem simples sobre os tipos de tarefas que podem ser concluídas ou os trabalhos comuns que os usuários podem esperar fazer quando têm cada função atribuída.
Funções e ações do IAM
| Função da plataforma | Descrição |
|---|---|
| Visualizador | Como visualizador, você pode ver os projetos, mas não pode modificá-los. |
| Operador | Como operador, você pode executar as ações de plataforma necessárias para configurar e operar projetos, como visualizar o painel de um serviço. |
| Editor | Como um editor, é possível executar todas as ações da plataforma, exceto gerenciar a conta e designar políticas de acesso. |
| Administrador | Como um administrador, é possível executar todas as ações da plataforma com base no recurso ao qual essa função está sendo designada, incluindo a designação de políticas de acesso a outros usuários. |
| Leitor do configurador de serviços | A capacidade de leitura da configuração de serviços do Gerenciamento de controle. |
| Gerente principal | Como um gerenciador de chaves, o serviço pode executar ações de plataforma necessárias para gerenciar chaves de recursos, como a criação de uma nova chave de recurso. |
| Função de serviço | Descrição |
|---|---|
| Leitor | Como um leitor, é possível executar ações somente leitura em um serviço, como visualizar recursos específicos do serviço. |
| Gravador | Como um gravador, você tem permissões além da função de leitor, incluindo a criação e a edição de recursos específicos do serviço. |
| Gerente | Como um gerenciador, você tem permissões além da função de gravador para concluir ações privilegiadas, conforme definido pelo serviço. Além disso, é possível criar e editar recursos específicos do serviço. |
| ações e eventos | Descrição | Funções |
|---|---|---|
instructlab.dashboard.view |
Visualize os painéis do site InstructLab. | Operador, administrador, editor |
instructlab.taxonomy.read |
Leia os detalhes de uma taxonomia. | Leitor, Gravador, Gerenciador |
instructlab.taxonomy.create |
Criar taxonomias | Gravador, Gerente |
instructlab.taxonomy.list |
Listar taxonomias. | Leitor, Gravador, Gerenciador |
instructlab.taxonomy.delete |
Excluir taxonomias. | Gravador, Gerente |
instructlab.sdgdata.read |
Leia os detalhes de uma execução de geração de dados. | Leitor, Gravador, Gerenciador |
instructlab.sdgdata.list |
Listar execuções de geração de dados. | Leitor, Gravador, Gerenciador |
instructlab.sdgdata.create |
Crie uma execução de geração de dados. | Gravador, Gerente |
instructlab.sdgdata.delete |
Excluir uma execução de geração de dados. | Gravador, Gerente |
instructlab.sdgdata.stop |
Interromper uma execução de geração de dados. | Gravador, Gerente |
instructlab.sdgdata.stop |
Interromper uma execução de geração de dados. | Gravador, Gerente |
instructlab.model.read |
Leia os detalhes de uma execução de treinamento de modelo. | Leitor, Gravador, Gerenciador |
instructlab.model.list |
Liste as execuções de treinamento do modelo. | Leitor, Gravador, Gerenciador |
instructlab.model.create |
Crie uma execução de treinamento de modelo. | Gravador, Gerente |
instructlab.model.delete |
Excluir uma execução de treinamento de modelo. | Gravador, Gerente |
instructlab.model.stop |
Interromper uma execução de treinamento de modelo. | Gravador, Gerente |
Conceda a InstuctLab permissão para criar e atualizar os artefatos de Object Storage
Atribua a InstructLab a função de acesso Writer para o serviço Object Storage. O usuário conectado também deve ter a mesma permissão.
-
Crie a política de autorização para InstructLab e Object Storage.
ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storageSe você já tiver recursos do site Object Storage para usar, poderá definir o escopo da autorização apenas para esses recursos.
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 -
Verifique se a política de autorização foi criada.
ibmcloud iam authorization-policiesResultado quando a autorização não tem o escopo de um intervalo específico do site 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: WriterResultado quando a autorização tem o escopo de um intervalo específico de 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 -
Opcional Se você estiver usando um repositório privado, crie outra autorização de serviço para InstructLab e Secrets Manager
ibmcloud iam authorization-policy-create Reader --source-service-name instructlab --target-service-name secrets-manager -
Se necessário, conceda a permissão
Writerao usuário conectado. Inclua o ID da instância do serviço Object Storage da etapa anterior.ibmcloud iam user-policy-create <user> --roles Writer --service-instance <cloud-object-storage-instance-id>
Atribuir acesso de usuário aos seus recursos
É possível controlar quais usuários (ou grupos de usuários) da sua conta acessam os recursos do site InstructLab. Siga estas etapas para atribuir acesso no console.
Para obter mais detalhes sobre como você pode atribuir acesso, como as etapas para usar a CLI ou as diferentes formas de escopo de acesso a InstructLab ou ao seu bucket Object Storage, consulte Gerenciar o acesso IAM para Red Hat AI InstructLab em IBM Cloud.
Há duas maneiras comuns de atribuir acesso:
- Políticas de acesso por usuário.
- É possível gerenciar políticas de acesso por usuário na página Gerenciar > Acesso (IAM) > Usuários no console. Para obter informações sobre as etapas de atribuição de acesso ao IAM, consulte Gerenciamento de acesso a recursos no console.
- Grupos de acesso.
- Os grupos de acesso são usados para aperfeiçoar o gerenciamento de acesso, designando acesso a um grupo uma vez, em seguida, podendo incluir ou remover usuários do grupo, conforme necessário, para controlar seus acessos. Você gerencia grupos de acesso e seus acessos na página Gerenciar > Acesso (IAM) > Grupos de acesso no console. Para obter mais informações, consulte Designado acesso a um grupo no console.
{{../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}}
Atribuição de acesso a InstructLab usando a CLI
Para obter instruções passo a passo para designar, remover e revisar o acesso, consulte Designando acesso a recursos usando a CLI. O exemplo
a seguir mostra um comando para atribuir a função Writer para instructlab:
Use instructlab para o nome do serviço. Para localizar os IDs de função, execute o comando ibmcloud iam roles. Além disso, use aspas ao redor de nomes de funções que contenham mais de uma palavra. Por exemplo, "Service Configuration Reader".
Exemplo de comando para atribuir a um usuário a função Viewer para um projeto InstructLab específico na conta.
ibmcloud iam user-policy-create name@example.com --roles Viewer --service-name instructlab --attributes "projectId=1b111111-1ef1-11f1-1111-111bae11111a"
Exemplo de comando para atribuir a um usuário a função de Key Manager para um projeto InstructLab específico na conta.
ibmcloud iam user-policy-create name@email.com --roles "Key Manager" --service-name instructlab
Exemplo de comando para atribuir a um usuário a função Writer em todos os projetos InstructLab da conta.
ibmcloud iam user-policy-create USER@EXAMPLE.COM --service-name instructlab --roles Writer
Exemplo de comando para atribuir a função de Administrador a todas as instâncias do serviço InstructLab na conta.
ibmcloud iam user-policy-create name@example.com --roles Administrator --service-name instructlab
Exemplo de comando para atribuir a função Viewer a todos os grupos de recursos da conta.
ibmcloud iam user-policy-create name@example.com --roles Viewer --resource-type resource-group
Exemplo de comando para atribuir a função Viewer a todos os usuários em um grupo de recursos específico.
ibmcloud iam user-policy-create name@example.com --roles Viewer --resource-type resource-group
Exemplo de comando para obter um grupo de recursos com a função Administrador.
ibmcloud iam service-policy-create test --roles Administrator --resource-group-name sample-resource-group
Atribuição de acesso de usuário a InstructLab usando a API
Para obter instruções passo a passo para designar, remover e revisar o acesso, consulte Designando acesso a recursos usando a API ou Criar uma política nos docs da API. Os cloud resource names (CRNs) de função na tabela a seguir são usados para designar acesso com a API.
Use instructlab para o nome do serviço e consulte a tabela de valores de CRN da função para garantir que esteja usando o valor correto para a função. Analise a seguinte lista de CRNs de função.
| Função | CRN |
|---|---|
| Leitor | crn:v1:bluemix:public:iam::::serviceRole:Reader |
| Gravador | crn:v1:bluemix:public:iam::::serviceRole:Writer |
| Gerente | crn:v1:bluemix:public:iam::::serviceRole:Manager |
| Visualizador | crn:v1:bluemix:public:iam::::role:Viewer |
| Operador | crn:v1:bluemix:public:iam::::role:Operator |
| Editor | crn:v1:bluemix:public:iam::::role:Editor |
| Administrador | crn:v1:bluemix:public:iam::::role:Administrator |
| Leitor do configurador de serviços | crn:v1:bluemix:public:iam::::role:ConfigReader |
| Gerente principal | crn:v1:bluemix:public:resource-controller::::role:KeyManager |
O exemplo a seguir atribui a função Writer para 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"
}
]
}
]
}
{{../account/iam-mng-access.md#access-resources-api}}
{{../account/iam-mng-access.md#access-resourcegroups-api}}