Permitindo acesso público
Às vezes, os dados são destinados a serem compartilhados. Os depósitos podem reter conjuntos de dados abertos para pesquisa acadêmica e privada ou repositórios de imagem que são usados por aplicativos da web e redes de entrega de conteúdo. Torne esses depósitos acessíveis usando o grupo Acesso público.
Há três funções do IAM que podem ser usadas para o acesso público a um depósito: Administrator, ContentReader e ObjectReader A diferença entre eles é que o Administrator e o ContentReader podem listar os objetos em um depósito, que é útil para aplicativos que requerem facilidade de listagem (por exemplo, uma UI da web), além de objetos de leitura. Para obter mais informações, consulte a documentação de referência do IAM
Se o External Identity Isolation (EII) estiver definido como Limited, o acesso público falhará porque as solicitações anônimas não têm ID de conta e não podem atender ao requisito de correspondência de identidade.
Usando o console para configurar o acesso público
Primeiro, certifique-se de que você tenha um depósito. Caso contrário, siga o tutorial de introdução para se familiarizar com o console.
Ativar o acesso público
Antes de habilitar o acesso público a um bucket, o grupo “Acesso Público” deve estar habilitado no nível da conta. Somente o titular da conta ou um usuário com a função de Administrador de Grupos de Acesso do IAM pode alterar essa configuração. Para verificar ou ativar essa opção, acesse Gerenciar > Acesso (IAM) > Configurações e confirme se a opção Acesso público está definida como Ativado. Se essa configuração no nível da conta estiver desativada, os controles no nível do bucket descritos a seguir não terão efeito.
- No painel do console do IBM Cloud, selecione Armazenamento para visualizar sua lista de recursos.
- Em seguida, selecione a instância de serviço com seu depósito no menu Armazenamento. Isso leva você para o Object Storage Console.
- Escolha o depósito que você deseja que seja publicamente acessível. Lembre-se de que essa política torna todos os objetos de um bucket disponíveis para download por qualquer pessoa que possua o URL adequado.
- Selecione a aba “Permissões” entre as abas de navegação do bucket.
- Role a página até a seção “Acesso público ” e clique em “Criar política de acesso ”.
- Depois de ler o aviso, escolha Ativar.
- Agora todos os objetos nesse depósito são publicamente acessíveis!
Desativar o acesso público
- De qualquer lugar no console do IBM Cloud, selecione o menu Gerenciar e o Acesso (IAM).
- Selecione Grupos de acesso no menu de navegação.
- Selecione Acesso público para ver uma lista de todas as políticas de acesso público atualmente em uso.
- Localize a política que corresponde ao depósito que você deseja retornar ao controle de acesso cumprido.
- Na lista de ações na extrema direita da entrada de política, escolha Remover.
- Confirme a caixa de diálogo e a política é agora removida do depósito.
Permitindo acesso público em objetos individuais
Para tornar um objeto publicamente acessível por meio da API de REST, um cabeçalho x-amz-acl: public-read pode ser incluído na solicitação. A configuração desse cabeçalho efetua bypass de qualquer verificação de política do IAM e permite as solicitações HEAD e GET não autenticadas. Para obter mais informações sobre terminais, consulte Terminais e locais de armazenamento.
Além disso, as credenciais HMAC tornam possível permitir o acesso público temporário que usa URLs pré-assinadas.
Fazer upload de um objeto público
curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}" \
-H "x-amz-acl: public-read" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: text/plain; charset=utf-8" \
-d "{object-contents}"
Permitir acesso público a um objeto existente
Usando o parâmetro de consulta ?acl sem uma carga útil e o cabeçalho x-amz-acl: public-read permite acesso público ao objeto sem a necessidade de sobrescrever os dados.
curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}?acl" \
-H "x-amz-acl: public-read" \
-H "Authorization: Bearer {token}"
Tornar um objeto público privado novamente
Usar o parâmetro de consulta ?acl sem uma carga útil e um cabeçalho vazio x-amz-acl: revoga o acesso público ao objeto sem precisar sobrescrever os dados.
curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}?acl" \
-H "Authorization: Bearer {token}" \
-H "x-amz-acl:"
Websites estáticos
Embora o IBM Cloud Object Storage não ofereça suporte à hospedagem automática de sites estáticos, é possível configurar manualmente um servidor web e usá-lo para disponibilizar conteúdo acessível ao público hospedado em um bucket. Para obter mais informações, consulte a visão geral de opções de website estático