Gerenciando o acesso do IAM para o Inferência de IA da Red Hat

O acesso aos projetos do Red Hat AI Inference 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 Inference em sua conta deve ter designada uma política de acesso com uma função do IAM. Analise as funções, ações e outros aspectos a seguir para ajudar a determinar a melhor maneira de conceder acesso ao site Red Hat AI Inference.

A política de acesso que você atribui aos usuários em sua conta determina quais ações um usuário pode realizar no contexto do serviço ou projeto específico que você selecionar. As ações permitidas são personalizadas e definidas pelo Red Hat AI Inference 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 também de que possui a função “Visualizador” para os grupos de recursos que deseja utilizar.

As políticas de acesso do IAM permitem o acesso em diferentes níveis. Algumas opções incluem o seguinte:

  • Conceder acesso de Leitor ou Escritor a um projeto específico.
  • Conceder acesso de Leitor ou Escritor a um grupo de recursos específico, no qual pode haver vários projetos.
  • Conceder acesso de Leitor ou Escritor a toda a conta, na qual pode haver vários grupos de recursos com muitos projetos.
  • Conceder ao usuário o acesso de “Visualizador” aos projetos do Inferência de IA da Red Hat dentro de um grupo de recursos e no nível da conta.
  • Conceder à criação acesso para criar um ou mais projetos d Inferência de IA da Red Hat dentro de 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 ao trabalhar com o serviço “ Red Hat AI Inference ”. As funções de gerenciamento da plataforma permitem que os usuários realizem tarefas nos recursos do serviço no nível da plataforma; por exemplo, atribuir acesso de usuários 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 Red Hat AI Inference e chamem a API do Red Hat AI Inference.

Esta é uma visão geral do que as funções da plataforma permitem que os usuários façam. Descreva, em linguagem simples, que tipo de tarefas podem ser realizadas ou quais são as funções mais comuns que os usuários podem esperar desempenhar ao ter cada função atribuída.

Funções e ações do IAM

Funções da plataforma IAM
Função da plataforma Descrição
Visualizador Como visualizador, você pode visualizar os projetos, mas não pode modificá-los.
Operador Como operador, você pode realizar as ações na plataforma necessárias para configurar e operar projetos, como visualizar o painel de controle 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 de Chaves Como gerenciador de chaves, o serviço pode realizar as ações na plataforma necessárias para gerenciar chaves de recursos, como a criação de uma nova chave de recurso.
Funções de acesso ao serviço IAM
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 do IAM
ações e eventos Descrição Funções
instructlab.dashboard.view Visualizar os painéis do Red Hat AI Inference. 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 simulação de treinamento do modelo. Leitor, Gravador, Gerenciador
instructlab.model.list Listar as execuções de treinamento do modelo. Leitor, Gravador, Gerenciador
instructlab.model.create Crie uma execução de treinamento do modelo. Gravador, Gerente
instructlab.model.delete Excluir uma sessão de treinamento do modelo. Gravador, Gerente
instructlab.model.stop Interromper uma execução de treinamento do modelo. Gravador, Gerente

Conceda permissão a InstuctLab para criar e atualizar artefatos d Object Storage

Inferência de IA da Red Hat Atribua a função de acesso “ Writer ” ao serviço “ Object Storage ”. O usuário conectado também deve ter a mesma permissão.

  1. Crie a política de autorização para Inferência de IA da Red Hat e Object Storage.

    ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storage
    

    Se você já dispõe de recursos d Object Storage, pode restringir a autorização apenas a 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
    
  2. Verifique se a política de autorização foi criada.

    ibmcloud iam authorization-policies
    

    Resultado quando a autorização não está restrita a um bucket específico do 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
    

    Resultado quando a autorização é restrita a um bucket específico do 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. Opcional: Se você estiver usando um repositório privado, crie outra autorização de serviço para Inferência de IA da Red Hat e Secrets Manager

    ibmcloud iam authorization-policy-create Reader --source-service-name instructlab --target-service-name secrets-manager
    
  4. Se necessário, conceda a permissão “ Writer ” ao 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ários aos seus recursos

Você pode controlar quais usuários (ou grupos de usuários) da sua conta têm acesso aos recursos do Red Hat AI Inference. Siga estas etapas para atribuir acesso no console.

Para obter mais detalhes sobre como conceder acesso, quais etapas seguir para usar a CLI ou as diferentes maneiras de definir o escopo de acesso ao Red Hat AI Inference ou ao seu bucket Object Storage, consulte Gerenciamento de acesso do IAM para Red Hat AI Inference.

Existem duas formas comuns de conceder 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 para atribuir acesso ao IAM, consulte “Gerenciamento do acesso aos 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.

{{../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}}

Atribuição de acesso a Inferência de IA da Red Hat por meio da 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 de “ Writer ” a instructlab:

Use instructlab para o nome do serviço. Para localizar os IDs das funções, execute o comando ibmcloud iam roles . Além disso, coloque aspas nos nomes de funções que tenham mais de uma palavra. Por exemplo, "Service Configuration Reader".

Exemplo de comando para atribuir a função “Visualizador” a um usuário para um projeto específico do Inferência de IA da Red Hat 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 função “Gerenciador de Chaves” a um usuário para um projeto específico do Inferência de IA da Red Hat na conta.

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

Exemplo de comando para atribuir a função “Writer” a um usuário em todos os projetos do Inferência de IA da Red Hat 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 “ Inferência de IA da Red Hat ” na conta.

ibmcloud iam user-policy-create name@example.com --roles Administrator --service-name instructlab

Exemplo de comando para atribuir a função “Visualizador” 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 “Visualizador” a todos os usuários de um grupo de recursos específico.

ibmcloud iam user-policy-create name@example.com --roles Viewer --resource-type resource-group

Exemplo de comando para atribuir a função de Administrador a um grupo de recursos.

ibmcloud iam service-policy-create test --roles Administrator --resource-group-name sample-resource-group

Concedendo acesso de usuário ao Inferência de IA da Red Hat por meio da 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 ” como nome do serviço e consulte a tabela de valores de CRN de funções para garantir que você esteja usando o valor correto para a função. Analise a lista a seguir de CRNs de funções.

CRNs de funções do IAM
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 de Chaves crn:v1:bluemix:public:resource-controller::::role:KeyManager

O exemplo a seguir atribui a função “ Writer ” a 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}}