# Uprawnienia

Ten artykuł zawiera minimalne uprawnienia wymagane dla bucketa **Wasabi**, aby mógł być używany jako magazyn kopii zapasowych w **Xopero ONE**. Poniższe polityki pozwalają dodać magazyn **Wasabi** do platformy **Xopero ONE**, przechowywać dane kopii zapasowych i przywracać je w razie potrzeby.

***

## Polityka bucketa Wasabi <a href="#wasabi_bucket_policy" id="wasabi_bucket_policy"></a>

Klucze dostępu są generowane dla każdego konta użytkownika **Wasabi**. Możesz wyświetlić listę kluczy dostępu, logując się na swoje konto **Wasabi** i przechodząc do zakładki **Access Keys**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/WqwqWJM6RzSjzLbs1MeA/wasabiper1.png" alt=""><figcaption></figcaption></figure>

Aby utworzyć nowe konto użytkownika lub edytować istniejące, przejdź do zakładki**Users**. W sekcji **Policies**, wybierz **WasabiReadOnlyAccess** oraz **WasabiWriteOnlyAccess**, zależnie od potrzeby.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/RSvVdXingFE7dazEpjuB/wasabiper2.png" alt=""><figcaption></figcaption></figure>

***

## Obsługa niezmiennego magazynu <a href="#support_for_immutable_storage" id="support_for_immutable_storage"></a>

{% hint style="warning" %}
Pamiętaj, że konfiguracja niezmiennego magazynu jest dostępna wyłącznie podczas tworzenia nowego zasobnika (bucketu) — nie ma opcji włączenia jej dla już istniejącego zasobnika.
{% endhint %}

{% hint style="danger" %}
Włączenie retencji i/lub wersjonowania dla zasobnika może spowodować przechowywanie dodatkowych danych — zaleca się, aby okres retencji w **Xopero ONE** był dłuższy niż ustawiony dla magazynu. W przeciwnym razie może to prowadzić do przeciążenia magazynu.
{% endhint %}

Jeśli chcesz używać opcji niezmiennego magazynu, wymagane są następujące uprawnienia:

{% code title="Wymagane do odczytu konfiguracji blokady obiektu (Object Lock)" overflow="wrap" %}

```json
s3:GetBucketObjectLockConfiguration
```

{% endcode %}

{% code title="Wymagane do odczytu konfiguracji wersjonowania" overflow="wrap" %}

```json
configuration.s3:GetBucketVersioning
```

{% endcode %}

Należy dodać je do sekcji **Action**, po zmianach sekcja powinna wyglądać jak pokazano poniżej:

```json
"Action": [
                    "s3:ListBucket",
                    "s3:GetObject",
                    "s3:PutObject",
                    "s3:DeleteObject",
		    "s3:GetBucketVersioning",
	            "s3:GetBucketObjectLockConfiguration"
               ],
```

{% code title="Przykładowa konfiguracja polityk" %}

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowPublicRead",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::100000176259:user/xone-storage"
      },
      "Action": [
        "s3:ListBucket",
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:GetBucketVersioning",
        "s3:GetBucketObjectLockConfiguration"
      ],
      "Resource": [
        "arn:aws:s3:::xopero-test/*",
        "arn:aws:s3:::xopero-test"
      ]
    }
  ]
}
```

{% endcode %}

> `arn:aws:iam::100000176259:user/xone-storage` - **Wasabi** user
>
> `arn:aws:s3:::xopero-test` - **Wasabi** bucket

## Przydatne linki i materiały

{% embed url="<https://docs.wasabi.com/docs/bucket-policy>" %}

{% embed url="<https://wasabi.com/objectlock/>" %}
