Τι σας προσφέρει η σύνδεση
Η σύνδεση του δικού σας λογαριασμού Azure Static Web Apps σάς επιτρέπει να δημοσιεύσετε έναν στατικό ιστότοπο στον δικό σας λογαριασμό Azure Static Web Apps από τον πίνακα ελέγχου Zinn®. Εσείς διατηρείτε την κυριότητα του έργου και της χρέωσης· εμείς αναλαμβάνουμε τη δημοσίευση, το προσαρμοσμένο domain και τις εγγραφές DNS.
Πριν ξεκινήσετε
Μια συνδρομή Azure, μια ομάδα πόρων για τους ιστότοπους και ένας συνδεδεμένος λογαριασμός GitHub, GitLab ή Bitbucket που περιέχει τον κώδικα — το Azure Static Web Apps πραγματοποιεί μεταγλώττιση (build) από αποθετήριο. Το δωρεάν πρόγραμμα του Azure επιτρέπει εμπορική χρήση και δύο προσαρμοσμένα domains ανά εφαρμογή.
1. Δημιουργήστε το κλειδί στο Azure Static Web Apps
Το Azure το ονομάζει service principal. Στο κέντρο διαχείρισης Microsoft Entra, ανοίξτε την επιλογή Entra ID → Καταχωρήσεις εφαρμογών (App registrations) → Νέα καταχώρηση (New registration), δώστε της ένα όνομα και επιλέξτε Καταχώρηση (Register). Στην κεντρική σελίδα της εφαρμογής, αντιγράψτε το Αναγνωριστικό εφαρμογής (client) (Application (client) ID) και το Αναγνωριστικό καταλόγου (tenant) (Directory (tenant) ID). Στη συνέχεια, ανοίξτε την επιλογή Πιστοποιητικά και μυστικά (Certificates & secrets) → Μυστικά κlients (Client secrets) → Νέο μυστικό client (New client secret), επιλέξτε μια διάρκεια και πατήστε Προσθήκη (Add) — αντιγράψτε αμέσως την τιμή του μυστικού, καθώς το Azure την εμφανίζει μόνο μία φορά.
Στην πύλη (portal) του Azure, ανοίξτε την ομάδα πόρων που θέλετε να χρησιμοποιήσουμε και, στη συνέχεια, μεταβείτε στις επιλογές Έλεγχος πρόσβασης (IAM) (Access control (IAM)) → Προσθήκη (Add) → Προσθήκη ανάθεσης ρόλου (Add role assignment). Επιλέξτε τον ρόλο Συνεργάτης (Contributor), αναθέστε τον σε Χρήστης, ομάδα ή service principal (User, group, or service principal), αναζητήστε την εφαρμογή με το όνομά της και επιλέξτε Επισκόπηση + ανάθεση (Review + assign). Σημειώστε το όνομα της ομάδας πόρων και το Αναγνωριστικό συνδρομής (Subscription ID) στο οποίο ανήκει (αναζητήστε το πεδίο Συνδρομές (Subscriptions) στην πύλη).
2. Συνδέστε το εδώ
Ανοίξτε την επιλογή Ενοποιήσεις (Integrations) στον πίνακα ελέγχου σας και επιλέξτε Σύνδεση λογαριασμού (Connect an account). Επιλέξτε Στατική φιλοξενία (Static hosting) (Netlify, Vercel) ως ομάδα και Azure Static Web Apps ως λογαριασμό, συμπληρώστε τα πεδία Client ID, Client secret, Tenant ID, Subscription ID και Resource group και πατήστε Σύνδεση λογαριασμού (Connect account).
Δοκιμάζουμε τα στοιχεία που επικολλάτε προτού αποθηκευτεί οτιδήποτε. Ένα κλειδί που δεν λειτουργεί δεν αποθηκεύεται ποτέ και το μήνυμα εξηγεί τι δεν πήγε καλά. Ένα κλειδί που λειτουργεί διατηρείται κρυπτογραφημένο στον θησαυρόφυυλα μυστικών μας — ποτέ στη βάση δεδομένων μας — και δεν εμφανίζεται ποτέ ξανά, ούτε καν σε εσάς.
Τι συμβαίνει στη συνέχεια
- Όταν δημιουργείτε ή μεταφέρετε έναν στατικό ιστότοπο, αυτός ο λογαριασμός εμφανίζεται ως προορισμός δημοσίευσης.
Το Azure Static Web Apps πραγματοποιεί μεταγλώττιση (build) από αποθετήριο — δεν διαθέτει δυνατότητα αποδοχής μεταφόρτωσης έτοιμης μεταγλώττισης — επομένως ο κώδικας του ιστότοπου πρέπει να προέρχεται από συνδεδεμένο αποθετήριο GitHub, GitLab ή Bitbucket. Συνδέστε πρώτα ένα αποθετήριο, εάν δεν το έχετε κάνει.
- Δημιουργούμε την υπηρεσία στον λογαριασμό σας, την κατευθύνουμε στο αποθετήριο, συνάπτουμε το προσαρμοσμένο domain σας και ενεργοποιούμε τις δημοσιεύσεις. Η σελίδα του domain εμφανίζει τυχόν εγγραφές DNS που απαιτούνται από το Azure Static Web Apps.
- Η χρήση και η χρέωση αφορούν τον λογαριασμό σας και είναι ορατές στον δικό σας πίνακα ελέγχου παρόχου.
- Ένα κεντρικό (apex) domain επαληθεύεται μέσω εγγραφής TXT και ένα υποdomain μέσω εγγραφής CNAME· η σελίδα του domain δείχνει ποια από τις δύο απαιτείται για το domain σας.
Εάν η σύνδεση αποτύχει
Το Azure απέρριψε το service principal. Είτε το μυστικό client έχει λήξει — κάτι που συμβαίνει πάντα, με βάση τη διάρκεια που επιλέξατε — είτε η εφαρμογή δεν διαθέτει πλέον δικαιώματα Συνεργάτη (Contributor) στην ομάδα πόρων. Τα δύο μηνύματα μοιάζουν μεταξύ τους, γι' αυτό ελέγξτε την ανάθεση ρόλου πριν δημιουργήσετε νέο μυστικό.
Δεν βρέθηκε τίποτα. Βεβαιωθείτε ότι το Αναγνωριστικό συνδρομής (Subscription ID) και η Ομάδα πόρων (Resource group) είναι εκείνα στα οποία αναθέσατε τον ρόλο, και ότι το Αναγνωριστικό καταλόγου (Tenant ID) είναι ο κατάλογος στον οποίο έχει καταχωρηθεί η εφαρμογή.
Εμφανίζεται μήνυμα ότι το κλειδί απορρίφθηκε. Σχεδόν πάντα οφείλεται σε έναν από τους τρεις εξής λόγους: αντιγραφή κενου διαστήματος ή αλλαγής γραμμής μαζί με το κλειδί, λήξη του κλειδιού ή ανάκληση/αναγέννηση του κλειδιού μετά την αντιγραφή του. Δημιουργήστε ένα νέο και επικολλήστε το ξανά.
Η σύνδεση πραγματοποιείται, αλλά κάτι αποτυγχάνει αργότερα. Το κλειδί πραγματοποιεί έλεγχο ταυτότητας (authenticate) αλλά δεν διαθέτει τα απαιτούμενα δικαιώματα για τη συγκεκριμένη ενέργεια. Δημιουργήστε ένα νέο κλειδί με τα δικαιώματα που αναφέρονται παραπάνω, στη συνέχεια αποσυνδέστε την παλιά σύνδεση και συνδέστε το νέο κλειδί.
Αποσύνδεση
Ανοίξτε την επιλογή Ενοποιήσεις (Integrations), εντοπίστε τον λογαριασμό και πατήστε Αποσύνδεση (Disconnect). Αυτή η ενέργεια διαγράφει αμέσως το αποθηκευμένο κλειδί. Οτιδήποτε το χρησιμοποιούσε σταματά κατά την επόμενη ενέργειά του και οι οθόνες που εξαρτώνται από αυτό το δηλώνουν ρητά αντί να αποτυγχάνουν σιωπηρά.
Η αποσύνδεση δεν αναιρεί όσα έχουν ήδη πραγματοποιηθεί — οι εγγραφές, οι δημοσιεύσεις ή οι ρυθμίσεις που αλλάξαμε στον λογαριασμό σας παραμένουν ως έχουν. Εάν πιστεύετε ότι το ίδίο το κλειδί ενδέχεται να έχει διαρρεύσει, ανακαλέστε το επίσης και στον πάροχο· η αποσύνδεση αφαιρεί το δικό μας αντίγραφο, όχι το δικό τους.