# Como atualizar um bucket do Object Storage

import Tabs from '~/components/tabs/Tabs'
import DocButton from '~/components/webkit/DocButton.vue';

Este guia descreve como você pode atualizar um bucket do Object Storage usando o Console da Azion, a API da Azion e a Azion CLI. Isso inclui a alteração das permissões de um bucket, o que pode ser crucial para gerenciar o acesso aos seus dados.

## Atualizando um bucket

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.cli">Azion CLI</Fragment>
    <Fragment slot="tab.api">API</Fragment>

<Fragment slot="panel.console">

No [Console](https://console.azion.com/object-storage) da Azion, você pode atualizar um bucket seguindo estes passos:

1. Acesse o menu **Object Storage** no menu Produtos.
2. Na página Object Storage, clique no bucket que deseja atualizar.
3. Na página do bucket, clique no botão **Settings**.
4. Faça as alterações necessárias nas permissões e clique em **Salvar** para aplicar as alterações.
5. Em **Danger Zone**, é possível deletar permanentemente o bucket.
Observação: Não é possível excluir um bucket que não esteja vazio. Além disso, objetos excluídos nas últimas 24 horas também são levados em consideração.

</Fragment>

<Fragment slot="panel.cli">

## Requisitos

- [Azion CLI instalada](/pt-br/documentacao/produtos/azion-cli/visao-geral/#instalar-a-azion-cli). 
- [Um personal token configurado](/pt-br/documentacao/devtools/cli/globals/#token).

Para atualizar um bucket:

```bash 
azion update edge-storage bucket
```
A Azion CLI apresentará uma série de interações para que o bucket possa ser atualizado. Execute `azion update edge-storage bucket -h` para obter mais informações sobre os dados que podem ser atualizados.

</Fragment>

<Fragment slot="panel.api">
Neste exemplo, você irá alterar a permissão do bucket.
Execute a seguinte solicitação `PATCH` no seu terminal, substituindo `[TOKEN VALUE]` pelo seu [personal token](/pt-br/documentacao/produtos/guias/personal-tokens/) e `bucket_name` pelo nome do bucket para atribuir a permissão de leitura e escrita:

```bash
curl --location --request PATCH 'https://api.azion.com/v4/storage/buckets/<bucket_name>' \
--header 'Accept: application/json;' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token [TOKEN VALUE]' \
--data '{
    "edge_access": "read_write"
}'
```

Você deve receber a seguinte resposta:

```json
{
  "state": "executed",
  "data": {
    "name": "my-bucket-ro",
    "edge_access": "read_write"
  }
}
```

:::note 
O nome do bucket não pode ser modificado.
:::

</Fragment>

</Tabs>

:::caution[Atenção]
Quando um bucket é configurado com **permissões de read-write**, qualquer usuário pode acessar e modificar seu conteúdo (por exemplo, enviando uma requisição PUT para sobrescrever arquivos). Se o bucket for usado como origem para uma application, essa configuração pode expor o conteúdo a modificações não autorizadas. No entanto, se o bucket for acessado através de uma function, o risco é gerenciado pela lógica implementada no código da função, permitindo que os desenvolvedores imponham controles mais rigorosos sobre quem pode acessar ou modificar os dados. Para mitigar riscos, sempre verifique as permissões necessárias para cada caso de uso e implemente controles de acesso adequados. Saiba mais sobre [Autenticação e permissões](/pt-br/documentacao/produtos/gestao-de-contas/teams-permissions/). 
:::