# Metody integracji Azure

## Metody integracji <a href="#shared_access_signature_configuration" id="shared_access_signature_configuration"></a>

Po utworzeniu **konta magazynu** i **kontenera obiektów blob** możesz zintegrować je, korzystając z jednej z dwóch metod — **kluczy dostępu** lub **podpisu współdzielonego dostępu (SAS)**.

1. **Klucze dostępu** zapewniają **pełny dostęp administracyjny** do konta magazynu i umożliwiają wykonywanie <mark style="color:$danger;">dowolnych operacji</mark>. Są odpowiednie w scenariuszach wymagających pełnej kontroli, jednak <mark style="color:$danger;">należy je traktować z najwyższą ostrożnością</mark> ze względu na wysoki poziom uprawnień.
2. **Podpis współdzielonego dostępu (SAS)** umożliwia bardziej szczegółową kontrolę, pozwalając na dostęp do określonych zasobów przez ograniczony czas i z ograniczonymi uprawnieniami. Ta metoda jest idealna w sytuacjach, gdy trzeba przyznać tymczasowy dostęp klientom lub aplikacjom <mark style="color:$danger;">bez ujawniania</mark> <mark style="color:$danger;"></mark><mark style="color:$danger;">**kluczy podstawowych**</mark>, co zwiększa bezpieczeństwo i elastyczność zarządzania zasobami magazynu.

***

## Konfiguracja SAS <a href="#shared_access_signature_configuration" id="shared_access_signature_configuration"></a>

Minimalne wymagane uprawnienia do skonfigurowania **Azure Blob Storage** do użycia z:

1. Dozwolone usługi:

* [x] **Blob**

2. Dozwolone typy zasobów:

* [x] **Container**
* [x] **Objects**

3. Dozwolone uprawnienia:

* [x] **Read**
* [x] **Write**
* [x] **Delete**
* [x] **List**

{% hint style="warning" %}
Aby używać zadań replikacji podczas nadawania uprawnień, te uprawnienia <mark style="color:$danger;">**muszą**</mark> muszą być albo pełne, albo rozszerzone o **Add** oraz **Create**.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/EC9KCJmN2tYPiAU2RFwD/image.png" alt=""><figcaption><p><em>Przykład poprawnych uprawnień dla <strong>Azure Blob Storage</strong>.</em></p></figcaption></figure>

4. Dozwolone uprawnienia dla replikacji:

* [x] **Read**
* [x] **Write**
* [x] **Delete**
* [x] **List**
* [x] **Add**
* [x] **Create**

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/JYdfV3Fvr3cGBmDMLFTQ/image.png" alt=""><figcaption><p><em>Przykład poprawnych uprawnień replikacji dla <strong>Azure Blob Storage</strong>.</em></p></figcaption></figure>

***

## Generowanie ciągu połączenia <a href="#the_connection_string_generation" id="the_connection_string_generation"></a>

#### Generowanie ciągu połączenia z określonymi uprawnieniami:

1. Zaloguj się do portalu **Azure** jako administrator.
2. Wybierz konto magazynu (storage account) i kliknij **Shared Access Signature** w zakładce **Settings**.
3. Wybierz uprawnienia opisane w sekcji [Konfiguracja SAS](#shared_access_signature_configuration-1).
4. Kliknij przycisk **Generate SAS and connection string**.

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

5. Do konfiguracji magazynu blobów będziesz potrzebować ciągu połączenia (connection string):

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

#### Generowanie ciągu połączenia z pełnymi uprawnieniami:

1. Zaloguj się do portalu **Azure** jako administrator.
2. Wybierz konto magazynu (storage account).
3. Przejdź do **Access keys** w sekcji **Security + networking**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/2EmwuJ3GnjygfFGpyMkZ/image.png" alt=""><figcaption></figcaption></figure>

4. Do konfiguracji magazynu blobów będziesz potrzebować ciągu połączenia (connection string):

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

***

## Przydatne linki i materiały

{% embed url="<https://learn.microsoft.com/en-us/rest/api/storageservices/define-stored-access-policy>" %}

{% embed url="<https://learn.microsoft.com/pl-pl/rest/api/storageservices/define-stored-access-policy>" %}

{% embed url="<https://learn.microsoft.com/en-us/azure/storage/blobs/immutable-storage-overview>" %}

{% embed url="<https://learn.microsoft.com/pl-pl/azure/storage/blobs/immutable-storage-overview>" %}
