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.
| 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
Writerem uma instância de serviço e a funçãoReaderem 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
Readerem uma instância de serviço e a funçãoWriterem um único depósito, ambas as políticas serão utilizadas e a funçãoWritermais 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:
- Navegue para o console de Acesso IAM no menu Gerenciar.
- Selecione Usuários no menu de navegação esquerdo.
- Selecione um usuário.
- 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.
- Clique em Designar acesso para criar uma nova política.
- Escolha Designar acesso a recursos.
- Primeiro, selecione Cloud Object Storage no menu de serviços.
- Em seguida, selecione a instância de serviço apropriada. Insira
bucketno campo Tipo de recurso e o nome do depósito no campo ID do recurso. - 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.
- Clique em Designar
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
- Navegue para o console de Acesso (IAM) no menu Gerenciar.
- Selecione IDs de serviço no menu de navegação esquerdo.
- Selecione um ID de serviço para visualizar quaisquer políticas existentes e designe uma nova política ou edite uma política existente.
- Selecione a instância de serviço, o ID de serviço e a função desejada.
- Insira
bucketno campo Tipo de recurso e o nome do depósito no campo Recurso. - 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>