Pular para o conteúdo principal

Considerações para configurar o IBM Quantum Platform para uma organização

Em uma organização onde pessoas podem trabalhar em vários projetos, a governança do IBM Quantum Platform pode parecer complexa. No entanto, o gerenciamento de acesso pode ser usado para facilitar a colaboração entre usuários e restringir a visibilidade de usuários e projetos quando necessário. Gerenciar o acesso torna-se mais relevante com recursos do IBM Quantum Platform que não são gratuitos — ou seja, instâncias de serviço que usam planos pagos (pelos quais as organizações são cobradas).

Visão geral

nota

O IBM Cloud® oferece diversas maneiras de implementar os mecanismos descritos neste guia. Há várias formas de atingir esses objetivos. Além disso, a maioria das etapas deste guia é genérica para o IBM Cloud e não específica ao IBM Quantum Platform, exceto pelos detalhes de funções personalizadas.

Personas envolvidas

Há várias personas principais mencionadas neste guia:

  • Usuário: Alguém que obtém acesso aos recursos do IBM Quantum Platform (instâncias de serviço) e pode potencialmente colaborar com outros usuários nesses recursos. O acesso dos usuários é controlado por um administrador, e eles não podem criar ou excluir instâncias de serviço.
  • Administrador de Cloud: Um proprietário de conta IBM Cloud que possui recursos do IBM Quantum Platform e gerencia quais usuários podem acessar esses recursos. Como proprietário dos recursos, o administrador é cobrado por qualquer uso de recursos pagos.
  • Administrador de IDP: Um administrador que define identidades e seus atributos em um provedor de identidade (IDP).

Terminologia

Este guia utiliza os seguintes termos:

  • Recurso: Um termo genérico do IBM Cloud que se refere a um objeto que pode ser gerenciado pela interface de usuário, CLI ou API da Cloud. Neste guia, um recurso é uma instância de serviço do IBM Quantum Platform.

  • Instância de serviço: Uma instância de serviço é usada para acessar serviços da Cloud — especificamente, computadores quânticos. Ela é definida por meio do catálogo. Você pode definir várias instâncias de serviço com base nos mesmos planos ou em planos diferentes, que oferecem acesso a diferentes backends de computação quântica. Consulte Plano IBM Cloud disponível para obter detalhes.

  • Projeto: Uma unidade de agrupamento que permite que os usuários trabalhem nos mesmos recursos. Este guia usa dois projetos: ml e finance. Consulte Estruturas hierárquicas de projetos para mais informações.

    nota

    Este projeto não está relacionado ao conceito de "projeto" na versão clássica do IBM Quantum® Platform.

Planeje sua configuração

Antes de configurar o IBM Quantum Platform para sua organização, você precisa tomar as seguintes decisões:

  • Como as identidades dos usuários são definidas? Você pode configurar usuários do IBM Cloud, usuários de outro IDP ou ambos.

    • Se você estiver usando um IDP diferente, o administrador de Cloud ou o administrador de IDP atribui usuários aos recursos do projeto?
    • Se o administrador de IDP atribui usuários a projetos, você precisa de uma string para ser usada como chave, como project (que este guia utiliza) para comparações de projetos.
  • Quais são os projetos e quais instâncias de serviço pertencerão a cada um? Você deve planejar os nomes dos projetos com cuidado.

    • Não use nomes de projetos que sejam substrings de outro. Por exemplo, se você usar ml e chemlab como nomes de projetos e depois configurar uma correspondência para ml, ela será acionada para ambos os valores, concedendo mais acesso do que o esperado acidentalmente. Em vez disso, use nomes únicos como ml e chem-lab. Alternativamente, use valores de prefixo ou sufixo para evitar correspondências de substrings não intencionais.
    • Usar convenções de nomenclatura junto com valores de prefixo ou sufixo pode ajudar você a facilmente permitir acesso a vários projetos.
    • Experimentos quânticos (jobs) pertencem a instâncias de serviço, e usuários com acesso a uma instância podem ver seus jobs.
    • Instâncias de serviço podem ser baseadas em planos diferentes, permitindo acesso a diferentes backends.
  • Quais usuários precisam acessar quais projetos?

  • Os usuários devem ser capazes de excluir jobs? Manter os jobs nas instâncias de serviço fornece maior rastreabilidade para os custos de faturamento.

  • Você usará grupos de acesso que referenciam diretamente as instâncias de serviço do IBM Quantum Platform ou organizará os serviços em grupos de recursos?

    • Grupos de acesso são uma forma conveniente e comum de controlar o acesso de usuários a recursos do IBM Cloud. Eles são uma maneira simples, mas poderosa, de atribuir acesso de forma consistente. Criamos um grupo de acesso para cada projeto e mapeamos usuários para grupos de acesso. Cada grupo de acesso usa uma função personalizada que permite aos usuários acessar instâncias de serviço específicas ou grupos de recursos.
    • Grupos de recursos são usados apenas quando você precisa manter uma separação clara entre as instâncias de serviço. Se mais instâncias de serviço forem criadas em um grupo de recursos, todos os usuários com acesso ao grupo de recursos as verão automaticamente sem precisar atualizar os grupos de acesso. Se você optar por usar grupos de recursos, criará grupos de acesso e depois os atribuirá aos grupos de recursos.
    nota

    Uma instância de serviço pode pertencer a apenas um grupo de recursos, e depois que as instâncias são atribuídas a grupos de recursos, isso não pode ser alterado. Isso também significa que a atribuição ao grupo de recursos só pode ocorrer no momento da criação da instância de serviço. Portanto, os grupos de recursos podem não oferecer flexibilidade suficiente se as atribuições de instâncias de serviço a grupos de recursos precisarem ser alteradas.

Considerações

Você deve compreender as seguintes considerações ao configurar seu ambiente.

Defina funções mais granulares

As ações nas funções personalizadas podem ser usadas para um controle de acesso mais granular. Por exemplo, alguns usuários podem precisar de acesso completo para trabalhar nas instâncias de serviço, enquanto outros podem precisar apenas de acesso de leitura às instâncias de serviço, programas e jobs.

Para conseguir isso, defina duas funções personalizadas diferentes, como MLreader e MLwriter. Remova todas as funções de cancelamento, exclusão e atualização da função personalizada MLreader e inclua todas as ações na função personalizada MLwriter. Em seguida, adicione as funções a dois grupos de acesso diferentes de forma adequada.

nota

Ao usar regras dinâmicas, ou seja, quando o administrador do provedor de identidade (IDP) gerencia o acesso por meio de atributos de usuário IDP personalizados, não use atributos de usuário IDP personalizados que sejam substrings uns dos outros. Por exemplo, não use ml e mlReader, pois a comparação de strings de ml também aceitaria mlReader. Você poderia usar MLreader e MLwriter para evitar esse conflito.

Para um exemplo de configuração de funções personalizadas, consulte Criar grupos de acesso para projetos.

Acesso compartilhado a cargas de trabalho

É importante notar que o acesso se aplica às instâncias de serviço. Assim, usuários com acesso de 'escrita' a uma instância podem cancelar suas próprias cargas de trabalho, mas também podem visualizar e cancelar as cargas de trabalho de outros usuários. Isso é uma função de como o IAM funciona e não pode ser alterado.

Outros recursos de Cloud

As etapas deste guia também podem ser usadas para gerenciar o acesso a outros recursos da Cloud. Inclua as permissões apropriadas nos grupos de acesso dos projetos relevantes.

Estruturas hierárquicas de projetos

Neste guia, o mapeamento de usuários para projetos e instâncias de serviço foi mantido simples. No entanto, ao associar vários usuários a grupos de acesso e referenciar instâncias de serviço de vários grupos de acesso, mapeamentos mais complexos podem ser implementados.

Esse método pode acomodar uma estrutura hierárquica. Ou seja, ele pode se alinhar à forma como os usuários podem ser atribuídos à estrutura de acesso Hub/Group/Project na versão clássica do IBM Quantum® Platform. Por exemplo, um grupo poderia ser um grupo de acesso atribuído a todas as instâncias de serviço dos projetos do grupo. Usuários que devem ter acesso a todos os projetos do grupo só precisariam ser adicionados ao grupo de acesso do grupo.

Implantação consistente e reproduzível da configuração

As etapas deste guia podem ser automatizadas para um gerenciamento consistente e reproduzível de usuários, projetos e o mapeamento entre eles. Consulte a documentação do Terraform IBM Cloud® Provider para modelos.

Próximas etapas