# Wymagane uprawnienia

#### Wymagane uprawnienia dla Azure DevOps oraz Azure DevOps Server określają poziomy dostępu, których Xopero ONE potrzebuje, aby bezpiecznie wykonywać backup oraz przywracać dane.

***

## Uprawnienia Azure DevOps

### <mark style="background-color:blue;">Poziomy dostępu użytkownika</mark>

Konto użyte do integracji musi mieć przypisany odpowiedni poziom dostępu w ramach **Azure DevOps**:

* **Basic**.
* **Visual Studio Subscriber** — poziom professional lub enterprise.
* **GitHub Enterprise** — poziom zbliżony do Basic.
* **Stakeholder** (niezalecany) — ten poziom posiada ograniczony dostęp i nie pozwala na prawidłowe zabezpieczenie repozytoriów.

{% hint style="warning" %}
**Xopero ONE** może zabezpieczać wyłącznie te projekty, do których zintegrowane konto użytkownika ma wyraźny dostęp.
{% endhint %}

### <mark style="background-color:blue;">Integracja OAuth</mark>

{% hint style="warning" %}
**Xopero** obsługuje wyłącznie konta organizacyjne (**Microsoft Entra ID**) — konta osobiste <mark style="color:red;">**nie są wspierane**</mark>. W przypadku kont prywatnych należy użyć metody **PAT**.
{% endhint %}

Aby zintegrować **Azure DevOps** z **Xopero ONE** przy użyciu **OAuth**, upewnij się, że konto posiada rolę administratora. W przeciwnym razie możesz napotkać błędy uprawnień lub przycisk zatwierdzania może być nieaktywny.

Podczas integracji Azure DevOps przez OAuth wymagane są następujące zakresy (scopes):

* [x] Build: <mark style="color:$success;">**read and execute**</mark> (vso.build\_execute)
* [x] Code: <mark style="color:$success;">**read, write and manage**</mark> (vso.code\_manage)
* [x] Environment: <mark style="color:$success;">**read and manage**</mark> (vso.environment\_manage)
* [x] Projects and Teams: <mark style="color:$success;">**read, write and manage**</mark> (vso.project\_manage)
* [x] Variable Groups: <mark style="color:$success;">**read and create**</mark> (vso.variablegroups\_write)
* [x] Wiki: <mark style="color:$success;">**read and write**</mark> (vso.wiki\_write)
* [x] Work Items: <mark style="color:$success;">**read and write**</mark> (vso.work\_write)
* [x] Packaging: <mark style="color:$success;">**read, write and manage**</mark> (vso.packaging\_manage)
* [x] Artifacts: user\_impersonation
* [x] Login and read the profile

#### <mark style="background-color:blue;">Uprawnienia do instalacji przy użyciu OAuth</mark>

Możliwość autoryzacji aplikacji **OAuth Xopero ONE** zależy od ustawień zgody użytkownika (**User consent settings**) w organizacji **Azure DevOps.** Dostępne są następujące opcje:

<table><thead><tr><th width="242">Consent Policy</th><th>Wymagania autoryzacji</th></tr></thead><tbody><tr><td>Allow user consent for apps from verified publishers, for selected permissions</td><td>Każdy użytkownik może autoryzować aplikację, pod warunkiem, że wszystkie wymagane uprawnienia zostały sklasyfikowane przez administratora jako uprawnienia o niskim wpływie (low impact).</td></tr><tr><td>Do not allow user consent</td><td>Tylko użytkownicy z rolą <strong>Application Administrator</strong> lub <strong>Global Administrator</strong> mogą autoryzować integrację.</td></tr><tr><td>Let Microsoft manage your consent settings</td><td>Autoryzacja podlega aktualnym wytycznym bezpieczeństwa firmy <strong>Microsoft</strong>. Choć obecnie pozwala to na integrację z <strong>Xopero ONE</strong>, dostępność ta może ulec zmianie w zależności od ewoluujących zasad firmy <strong>Microsoft</strong>.</td></tr></tbody></table>

<figure><img src="/files/d5nKrQ7PoGlE8hFg1vZz" alt=""><figcaption></figcaption></figure>

### <mark style="background-color:blue;">Integracja przez Personal Access Token (PAT)</mark>

#### Wymagania wstępne:

* [x] **Organization** — podczas generowania tokenu PAT <mark style="color:red;">**musisz**</mark> zaznaczyć opcję **All accessible organizations** w polu **Organization**.

#### Wymagane zakresy (scopes):&#x20;

* [x] Build: <mark style="color:$success;">**read and execute**</mark>&#x20;
* [x] Code: <mark style="color:$success;">**read, write and manage**</mark>
* [x] Environment: <mark style="color:$success;">**read and manage**</mark>
* [x] Project and Team: <mark style="color:$success;">**read, write and manage**</mark>
* [x] Variable Groups: <mark style="color:$success;">**read and create**</mark>
* [x] Wiki: <mark style="color:$success;">**read and write**</mark>
* [x] Work Items: <mark style="color:$success;">**read and write**</mark>
* [x] Packaging: <mark style="color:$success;">**read, write and manage**</mark>

{% hint style="danger" %}
Podczas wykonywania backupu z minimalnymi uprawnieniami niektóre metadane mogą zostać pominięte. Aby zapewnić pełną ochronę, dobierz uprawnienia zgodnie ze swoimi potrzebami w zakresie ochrony danych. Pamiętaj, że przy uprawnieniach wyłącznie do odczytu (read-only) można tworzyć kopie zapasowe, **ale** **przywracanie wymaga nowego tokenu lub hasła z dostępem do zapisu**.
{% endhint %}

### <mark style="background-color:blue;">Szczegółowe ustawienia uprawnień</mark>

Aby operacje backupu i przywracania zakończyły się sukcesem wymagane są następujące uprawnienia:

1. **Poziom organizacji:**
   1. **General**:
      1. Create new projects (przywracanie)
   2. **Boards**:
      1. Create process (przywracanie)
      2. Edit process (przywracanie)
2. **Poziom projektu:**
   1. **General**:
      1. View project-level information (backup)
3. **Poziom repozytoriów:**
   1. Create branch (przywracanie)
   2. Create repository (przywracanie)
   3. Read (backup)

***

## Uprawnienia Azure DevOps Server

### <mark style="background-color:blue;">Personal Access Token (PAT)</mark>

Dla instalacji on-premise, wykorzystaj metodę integracji za pomocą personal access token (PAT).

#### Wymagania wstępne:

* [x] **Organization** — podczas generowania tokenu PAT **musisz** zaznaczyć opcję **All accessible organizations** w polu **Organization**.

#### Wymagane zakresy (scopes):&#x20;

* [x] Build: <mark style="color:$success;">**read and execute**</mark>&#x20;
* [x] Code: <mark style="color:$success;">**read, write and manage**</mark>
* [x] Environment: <mark style="color:$success;">**read and manage**</mark>
* [x] Project and Team: <mark style="color:$success;">**read, write and manage**</mark>
* [x] Variable Groups: <mark style="color:$success;">**read and create**</mark>
* [x] Wiki: <mark style="color:$success;">**read and write**</mark>
* [x] Work Items: <mark style="color:$success;">**read and write**</mark>
* [x] Packaging: <mark style="color:$success;">**read, write and manage**</mark>

{% hint style="danger" %}
Podczas wykonywania backupu z minimalnymi uprawnieniami niektóre metadane mogą zostać pominięte. Aby zapewnić pełną ochronę, dobierz uprawnienia zgodnie ze swoimi potrzebami w zakresie ochrony danych. Pamiętaj, że przy uprawnieniach wyłącznie do odczytu (read-only) można tworzyć kopie zapasowe, **ale** **przywracanie wymaga nowego tokenu lub hasła z dostępem do zapisu**.
{% endhint %}


---

# 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/kopia-zapasowa-i-przywracanie/devops/azure-devops-i-devops-server/integracja/wymagane-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.
