# Uprawnienia

## Ograniczenia klucza aplikacji <a href="#application_key_restrictions" id="application_key_restrictions"></a>

{% hint style="warning" %}
Tylko klucze aplikacji utworzone ręcznie w interfejsie sieciowym **Backblaze** lub za pomocą natywnego API **Backblaze B2** mogą być używane do uwierzytelniania z API kompatybilnym z **Backblaze S3**.
{% endhint %}

{% hint style="danger" %}
Automatycznie utworzony **master application key** <mark style="color:$danger;">**nie jest wspierany**</mark> w API kompatybilnym z **Backblaze S3**.
{% endhint %}

\
Jeśli klucz aplikacji jest ograniczony do zasobnika (bucketu), wymagane jest uprawnienie `listAllBucketNames` dla zgodności z SDK i integracjami. To uprawnienie można włączyć podczas tworzenia w interfejsie sieciowym lub za pomocą wywołania (call) API: `b2_create_key`.

Zasadniczo zarówno uprawnienia `writeFiles` jak i `deleteFiles` muszą być przypisane do każdego klucza używanego do usuwania plików w API kompatybilnych z **S3**.

{% hint style="warning" %}
API kompatybilne z **Backblaze S3** <mark style="color:$danger;">**nie wspiera**</mark> nieuwierzytelnionych wywołań`ListObject` dla publicznych zasobników (bucketów).
{% endhint %}

<figure><img src="https://desk.zoho.com/galleryDocuments/edbsnd8a23fc149ed44937c4ba90979a556d711bb4eba6153654a99eb700783f8ac3f343e40cc548f65540ef8a214f6e100e1?inline=true" 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"
               ],
```

***

## Przydatne linki i materiały

{% embed url="<https://www.backblaze.com/b2/docs/b2_create_bucket.html>" %}

{% embed url="<https://www.backblaze.com/blog/five-ways-to-use-object-lock-immutability/>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://helpcenter.xopero.com/xopero-one-en/pl/magazyny-danych/magazyn-w-chmurze/backblaze-b2/uprawnienia.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
