Designando acesso a um depósito individual

Designe funções de acesso a usuários e IDs de serviço nos depósitos usando a IU ou a CLI para criar políticas.

Depósitos
Função de acesso Ações de exemplo
Gerente Tornar os objetos públicos, criar e destruir depósitos e objetos
Gravador Criar e destruir depósitos e objetos
Leitor Listar depósitos, objetos de lista e objetos de download.
Leitor de conteúdo Listar e fazer download de objetos
Leitor de objetos Fazer download de objetos
Gravador de objetos Fazer upload de objetos

Concedendo acesso a um usuário

Se o usuário precisar ser capaz de usar o console e conseguir ver a lista de todos os depósitos dentro de uma instância, será possível usar uma função de acesso à plataforma customizada. Isso permite visualizar apenas o conteúdo de depósitos específicos. Se não for apropriado que um usuário leia os nomes de outros depósitos, será necessário projetar e implementar um portal customizado ou outra interface com o usuário usando a API.

Se o usuário interagir com os dados usando a API, não precisar de acesso ao console e for membro da sua conta, você poderá conceder acesso a um único bucket sem nenhum acesso à instância principal usando as funções padrão.

Execução de política

As políticas do IAM são cumpridas hierarquicamente do maior nível de acesso ao mais restrito. Os conflitos são resolvidos para a política mais permissiva. Por exemplo, se um usuário tiver ambas as funções de acesso ao serviço Writer e Reader em um depósito, a política que concede a função Reader será ignorada.

Isso também é aplicável às políticas de instância de serviço e de nível do depósito.

  • Se um usuário tiver uma política que conceda a função Writer em uma instância de serviço e a função Reader em um único depósito, a política de nível de depósito será ignorada.
  • Se um usuário tiver uma política que conceda a função Reader em uma instância de serviço e a função Writer em um único depósito, ambas as políticas serão utilizadas e a função Writer mais permissiva terá precedência para o depósito individual.

Se for necessário restringir o acesso a um único compartimento (ou conjunto de compartimentos), certifique-se de que o usuário ou a ID de serviço não tenha nenhuma outra política de nível de instância usando o console ou a CLI.

Consulte Melhores práticas para organizar recursos e designar acesso para saber mais.

Criar uma nova política para um usuário

Para criar uma nova política de nível do depósito:

  1. Navegue para o console de Acesso IAM no menu Gerenciar.
  2. Selecione Usuários no menu de navegação esquerdo.
  3. Selecione um usuário.
  4. Selecione a guia Acessar políticas para visualizar as políticas existentes do usuário, designar uma nova política ou editar uma política existente.
  5. Clique em Designar acesso para criar uma nova política.
  6. Escolha Designar acesso a recursos.
  7. Primeiro, selecione Cloud Object Storage no menu de serviços.
  8. Em seguida, selecione a instância de serviço apropriada. Insira bucket no campo Tipo de recurso e o nome do depósito no campo ID do recurso.
  9. Selecione a função de acesso ao serviço desejada. A seleção do losango com o número de ações mostra as ações disponíveis para a função, como exemplificado para "Leitor de Conteúdo" na Figura 1.
  10. Clique em Designar

Exemplo de ações por função de leitor de conteúdo
Informações da função

Observe que deixar os campos Tipo de recurso ou Recurso em branco criará uma política de nível de instância.

Criar uma nova política para um comando da CLI do usuário

Em um terminal, execute o comando a seguir:

ibmcloud iam user-policy-create <user-name> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id> \
      --resource-type bucket \
      --resource <bucket-name>

Para listar políticas existentes:

ibmcloud iam user-policies <user-name>

Para editar uma política existente:

ibmcloud iam user-policy-update <user-name> <policy-id> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id> \
      --resource-type bucket \
      --resource <bucket-name>

Concedendo acesso a um ID de serviço

Se for necessário conceder acesso a um depósito para um aplicativo ou outra entidade não humana, use um ID de serviço. O ID de serviço pode ser criado especificamente para esse propósito ou pode ser um ID de serviço existente já em uso.

Criar uma nova política para um usuário

  1. Navegue para o console de Acesso (IAM) no menu Gerenciar.
  2. Selecione IDs de serviço no menu de navegação esquerdo.
  3. Selecione um ID de serviço para visualizar quaisquer políticas existentes e designe uma nova política ou edite uma política existente.
  4. Selecione a instância de serviço, o ID de serviço e a função desejada.
  5. Insira bucket no campo Tipo de recurso e o nome do depósito no campo Recurso.
  6. Clique em Enviar

Observe que deixar os campos Tipo de recurso ou Recurso em branco criará uma política de nível de instância.

Criar uma nova política para uma ID de serviço

Em um terminal, execute o comando a seguir:

ibmcloud iam service-policy-create <service-id-name> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id> \
      --resource-type bucket \
      --resource <bucket-name>

Para listar políticas existentes:

ibmcloud iam service-policies <service-id-name>

Para editar uma política existente:

ibmcloud iam service-policy-update <service-id-name> <policy-id> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id>
      --resource-type bucket \
      --resource <bucket-name>