diff --git a/src/pentesting-cloud/azure-security/az-basic-information/README.md b/src/pentesting-cloud/azure-security/az-basic-information/README.md index 6768848a4..0c8cab4c4 100644 --- a/src/pentesting-cloud/azure-security/az-basic-information/README.md +++ b/src/pentesting-cloud/azure-security/az-basic-information/README.md @@ -24,25 +24,25 @@ - Είναι ένα άλλο **λογικό δοχείο όπου μπορούν να εκτελούνται πόροι** (VMs, DBs…) και θα χρεώνονται. - Ο **γονέας** του είναι πάντα μια **ομάδα διαχείρισης** (και μπορεί να είναι η ριζική ομάδα διαχείρισης) καθώς οι συνδρομές δεν μπορούν να περιέχουν άλλες συνδρομές. - **Εμπιστεύεται μόνο έναν κατάλογο Entra ID** -- **Δικαιώματα** που εφαρμόζονται σε επίπεδο συνδρομής (ή οποιουδήποτε από τους γονείς της) κληρονομούνται σε όλους τους πόρους μέσα στη συνδρομή. +- **Δικαιώματα** που εφαρμόζονται σε επίπεδο συνδρομής (ή σε οποιοδήποτε από τους γονείς της) κληρονομούνται σε όλους τους πόρους μέσα στη συνδρομή. ### Ομάδες Πόρων [Από τα έγγραφα:](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-python?tabs=macos#what-is-a-resource-group) Μια ομάδα πόρων είναι ένα **δοχείο** που περιέχει **σχετικούς πόρους** για μια λύση Azure. Η ομάδα πόρων μπορεί να περιλαμβάνει όλους τους πόρους για τη λύση ή μόνο εκείνους τους **πόρους που θέλετε να διαχειριστείτε ως ομάδα**. Γενικά, προσθέστε **πόρους** που μοιράζονται τον **ίδιο κύκλο ζωής** στην ίδια ομάδα πόρων ώστε να μπορείτε να τους αναπτύσσετε, να τους ενημερώνετε και να τους διαγράφετε εύκολα ως ομάδα. -Όλοι οι **πόροι** πρέπει να είναι **μέσα σε μια ομάδα πόρων** και μπορούν να ανήκουν μόνο σε μια ομάδα και αν μια ομάδα πόρων διαγραφεί, όλοι οι πόροι μέσα σε αυτήν διαγράφονται επίσης. +Όλοι οι **πόροι** πρέπει να είναι **μέσα σε μια ομάδα πόρων** και μπορούν να ανήκουν μόνο σε μια ομάδα και αν διαγραφεί μια ομάδα πόρων, όλοι οι πόροι μέσα σε αυτήν διαγράφονται επίσης.

https://i0.wp.com/azuredays.com/wp-content/uploads/2020/05/org.png?resize=748%2C601&ssl=1

-### Ταυτοτήτες Πόρων Azure +### IDs Πόρων Azure -Κάθε πόρος στο Azure έχει μια Ταυτότητα Πόρου Azure που τον προσδιορίζει. +Κάθε πόρος στο Azure έχει ένα Azure Resource ID που τον προσδιορίζει. -Η μορφή μιας Ταυτότητας Πόρου Azure είναι η εξής: +Η μορφή ενός Azure Resource ID είναι η εξής: - `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}` -Για μια εικονική μηχανή ονόματι myVM σε μια ομάδα πόρων `myResourceGroup` κάτω από την ταυτότητα συνδρομής `12345678-1234-1234-1234-123456789012`, η Ταυτότητα Πόρου Azure φαίνεται ως εξής: +Για μια εικονική μηχανή ονόματι myVM σε μια ομάδα πόρων `myResourceGroup` κάτω από την ID συνδρομής `12345678-1234-1234-1234-123456789012`, το Azure Resource ID φαίνεται έτσι: - `/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM` @@ -54,7 +54,7 @@ ### Entra ID (πρώην Azure Active Directory) -Το Entra ID είναι μια υπηρεσία **διαχείρισης ταυτοτήτων και πρόσβασης** που βασίζεται στο νέφος, σχεδιασμένη να χειρίζεται την αυθεντικοποίηση, την εξουσιοδότηση και τον έλεγχο πρόσβασης χρηστών. Εξασφαλίζει ασφαλή πρόσβαση σε υπηρεσίες της Microsoft όπως το Office 365, το Azure και πολλές τρίτες SaaS εφαρμογές. Με δυνατότητες όπως η ενιαία είσοδος (SSO), η πολυπαραγοντική αυθεντικοποίηση (MFA) και οι πολιτικές πρόσβασης υπό προϋποθέσεις μεταξύ άλλων. +Το Entra ID είναι μια υπηρεσία **διαχείρισης ταυτότητας και πρόσβασης** που βασίζεται στο νέφος, σχεδιασμένη να χειρίζεται την αυθεντικοποίηση, την εξουσιοδότηση και τον έλεγχο πρόσβασης χρηστών. Εξασφαλίζει ασφαλή πρόσβαση σε υπηρεσίες της Microsoft όπως το Office 365, το Azure και πολλές τρίτες SaaS εφαρμογές. Με δυνατότητες όπως η ενιαία είσοδος (SSO), η πολυπαραγοντική αυθεντικοποίηση (MFA) και οι πολιτικές πρόσβασης υπό προϋποθέσεις μεταξύ άλλων. ### Υπηρεσίες Τομέα Entra (πρώην Azure AD DS) @@ -81,9 +81,9 @@ - Διαβάσει όλους τους χρήστες, Ομάδες, Εφαρμογές, Συσκευές, Ρόλους, Συνδρομές και τις δημόσιες ιδιότητές τους - Προσκαλέσει Επισκέπτες (_μπορεί να απενεργοποιηθεί_) -- Δημιουργήσει Ομάδες Ασφαλείας -- Διαβάσει μη κρυφές συμμετοχές Ομάδας -- Προσθέσει επισκέπτες σε Ιδιοκτησίες ομάδων +- Δημιουργήσει ομάδες ασφαλείας +- Διαβάσει μη κρυφές συμμετοχές ομάδας +- Προσθέσει επισκέπτες σε κατεχόμενες ομάδες - Δημιουργήσει νέα εφαρμογή (_μπορεί να απενεργοποιηθεί_) - Προσθέσει έως 50 συσκευές στο Azure (_μπορεί να απενεργοποιηθεί_) @@ -100,12 +100,12 @@ - Αυτό δεν περιορίζει την πρόσβαση API στην πύλη (μόνο στο web) - Επιτρέψτε στους χρήστες να συνδέουν τον λογαριασμό εργασίας ή σχολείου με το LinkedIn: Προεπιλεγμένο **Ναι** - Εμφάνιση διατήρησης του χρήστη συνδεδεμένου: Προεπιλεγμένο **Ναι** -- Περιορισμός χρηστών από την ανάκτηση του κλειδιού BitLocker για τις συσκευές τους: Προεπιλεγμένο Όχι (ελέγξτε στις Ρυθμίσεις Συσκευής) +- Περιορισμός χρηστών από την ανάκτηση του κλειδιού BitLocker για τις κατεχόμενες συσκευές τους: Προεπιλεγμένο Όχι (ελέγξτε στις Ρυθμίσεις Συσκευής) - Διαβάστε άλλους χρήστες: Προεπιλεγμένο **Ναι** (μέσω Microsoft Graph) - **Επισκέπτες** - **Περιορισμοί πρόσβασης επισκεπτών** επιλογές: - **Οι επισκέπτες έχουν την ίδια πρόσβαση με τα μέλη**. -- **Οι επισκέπτες έχουν περιορισμένη πρόσβαση σε ιδιότητες και συμμετοχές αντικειμένων καταλόγου (προεπιλογή)**. Αυτό περιορίζει την πρόσβαση των επισκεπτών μόνο στο δικό τους προφίλ χρήστη από προεπιλογή. Η πρόσβαση σε άλλους χρήστες και πληροφορίες ομάδας δεν επιτρέπεται πλέον. +- **Οι επισκέπτες έχουν περιορισμένη πρόσβαση σε ιδιότητες και συμμετοχές αντικειμένων καταλόγου (προεπιλογή)**. Αυτό περιορίζει την πρόσβαση των επισκεπτών μόνο στο προφίλ του χρήστη τους από προεπιλογή. Η πρόσβαση σε άλλους χρήστες και πληροφορίες ομάδας δεν επιτρέπεται πλέον. - **Η πρόσβαση των επισκεπτών περιορίζεται σε ιδιότητες και συμμετοχές των δικών τους αντικειμένων καταλόγου** είναι η πιο περιοριστική. - **Επιλογές πρόσκλησης επισκεπτών**: - **Οποιοσδήποτε στην οργάνωση μπορεί να προσκαλέσει επισκέπτες, συμπεριλαμβανομένων των επισκεπτών και μη διαχειριστών (η πιο περιεκτική) - Προεπιλογή** @@ -123,19 +123,19 @@ Υπάρχουν **2 τύποι ομάδων**: - **Ασφάλειας**: Αυτός ο τύπος ομάδας χρησιμοποιείται για να δώσει πρόσβαση στα μέλη σε εφαρμογές, πόρους και να αναθέσει άδειες. Χρήστες, συσκευές, υπηρεσίες και άλλες ομάδες μπορούν να είναι μέλη. -- **Microsoft 365**: Αυτός ο τύπος ομάδας χρησιμοποιείται για συνεργασία, δίνοντας στα μέλη πρόσβαση σε κοινόχρηστο ταχυδρομείο, ημερολόγιο, αρχεία, SharePoint site, κ.λπ. Τα μέλη της ομάδας μπορούν να είναι μόνο χρήστες. -- Αυτή θα έχει μια **διεύθυνση email** με τον τομέα του ενοικιαστή EntraID. +- **Microsoft 365**: Αυτός ο τύπος ομάδας χρησιμοποιείται για συνεργασία, δίνοντας στα μέλη πρόσβαση σε κοινόχρηστο ταχυδρομείο, ημερολόγιο, αρχεία, SharePoint site κ.λπ. Τα μέλη της ομάδας μπορούν να είναι μόνο χρήστες. +- Αυτή θα έχει μια **διεύθυνση email** με το τομέα του ενοικιαστή EntraID. Υπάρχουν **2 τύποι συμμετοχών**: - **Καθορισμένες**: Επιτρέπουν την προσθήκη συγκεκριμένων μελών σε μια ομάδα χειροκίνητα. -- **Δυναμική συμμετοχή**: Διαχειρίζεται αυτόματα τη συμμετοχή χρησιμοποιώντας κανόνες, ενημερώνοντας την ένταξη της ομάδας όταν αλλάζουν τα χαρακτηριστικά των μελών. +- **Δυναμική συμμετοχή**: Αυτόματα διαχειρίζεται τη συμμετοχή χρησιμοποιώντας κανόνες, ενημερώνοντας την ένταξη της ομάδας όταν αλλάζουν τα χαρακτηριστικά των μελών. ### **Υπηρεσίες Principals** Ένας **Service Principal** είναι μια **ταυτότητα** που δημιουργείται για **χρήση** με **εφαρμογές**, φιλοξενούμενες υπηρεσίες και αυτοματοποιημένα εργαλεία για πρόσβαση σε πόρους Azure. Αυτή η πρόσβαση είναι **περιορισμένη από τους ρόλους που ανατίθενται** στον service principal, δίνοντάς σας έλεγχο σχετικά με **ποιοι πόροι μπορούν να προσπελαστούν** και σε ποιο επίπεδο. Για λόγους ασφαλείας, συνιστάται πάντα να **χρησιμοποιείτε service principals με αυτοματοποιημένα εργαλεία** αντί να τους επιτρέπετε να συνδέονται με μια ταυτότητα χρήστη. -Είναι δυνατή η **άμεση σύνδεση ως service principal** δημιουργώντας του ένα **μυστικό** (κωδικό πρόσβασης), ένα **πιστοποιητικό** ή παρέχοντας **ομοσπονδιακή** πρόσβαση σε τρίτες πλατφόρμες (π.χ. Github Actions) πάνω σε αυτό. +Είναι δυνατό να **συνδεθείτε απευθείας ως service principal** δημιουργώντας του ένα **μυστικό** (κωδικό πρόσβασης), ένα **πιστοποιητικό** ή παρέχοντας **ομοσπονδιακή** πρόσβαση σε τρίτες πλατφόρμες (π.χ. Github Actions) μέσω αυτού. - Εάν επιλέξετε **αυθεντικοποίηση με κωδικό πρόσβασης** (προεπιλογή), **αποθηκεύστε τον κωδικό πρόσβασης που δημιουργήθηκε** καθώς δεν θα μπορείτε να έχετε πρόσβαση σε αυτόν ξανά. - Εάν επιλέξετε αυθεντικοποίηση με πιστοποιητικό, βεβαιωθείτε ότι η **εφαρμογή θα έχει πρόσβαση στο ιδιωτικό κλειδί**. @@ -146,11 +146,11 @@ #### Κύρια Στοιχεία: -1. **Ταυτότητα Εφαρμογής (Client ID):** Ένας μοναδικός αναγνωριστικός αριθμός για την εφαρμογή σας στο Azure AD. -2. **URI Ανακατεύθυνσης:** URLs όπου το Azure AD στέλνει τις απαντήσεις αυθεντικοποίησης. -3. **Πιστοποιητικά, Μυστικά & Ομοσπονδιακές Πιστοληπτικές Δεσμεύσεις:** Είναι δυνατή η δημιουργία ενός μυστικού ή ενός πιστοποιητικού για σύνδεση ως service principal της εφαρμογής ή για παροχή ομοσπονδιακής πρόσβασης σε αυτήν (π.χ. Github Actions). -1. Εάν δημιουργηθεί ένα **πιστοποιητικό** ή **μυστικό**, είναι δυνατή η **σύνδεση ως service principal** με εργαλεία CLI γνωρίζοντας την **ταυτότητα εφαρμογής**, το **μυστικό** ή το **πιστοποιητικό** και τον **ενοικιαστή** (τομέα ή ID). -4. **Δικαιώματα API:** Προσδιορίζει ποιους πόρους ή APIs μπορεί να προσπελάσει η εφαρμογή. +1. **Application ID (Client ID):** Ένας μοναδικός αναγνωριστικός αριθμός για την εφαρμογή σας στο Azure AD. +2. **Redirect URIs:** URLs όπου το Azure AD στέλνει τις απαντήσεις αυθεντικοποίησης. +3. **Πιστοποιητικά, Μυστικά & Ομοσπονδιακές Πιστοποίησεις:** Είναι δυνατό να δημιουργηθεί ένα μυστικό ή ένα πιστοποιητικό για να συνδεθείτε ως ο service principal της εφαρμογής ή να παραχωρήσετε ομοσπονδιακή πρόσβαση σε αυτό (π.χ. Github Actions). +1. Εάν δημιουργηθεί ένα **πιστοποιητικό** ή **μυστικό**, είναι δυνατό για ένα άτομο να **συνδεθεί ως ο service principal** με εργαλεία CLI γνωρίζοντας το **application ID**, το **μυστικό** ή το **πιστοποιητικό** και τον **ενοικιαστή** (τομέα ή ID). +4. **API Permissions:** Προσδιορίζει ποιους πόρους ή APIs μπορεί να προσπελάσει η εφαρμογή. 5. **Ρυθμίσεις Αυθεντικοποίησης:** Ορίζει τις υποστηριζόμενες ροές αυθεντικοποίησης της εφαρμογής (π.χ., OAuth2, OpenID Connect). 6. **Service Principal**: Ένας service principal δημιουργείται όταν δημιουργείται μια εφαρμογή (εάν γίνει από την ιστοσελίδα) ή όταν εγκαθίσταται σε έναν νέο ενοικιαστή. 1. Ο **service principal** θα αποκτήσει όλα τα ζητούμενα δικαιώματα με τα οποία έχει ρυθμιστεί. @@ -162,11 +162,11 @@ - **Μην επιτρέπετε τη συναίνεση χρηστών** - Ένας διαχειριστής θα απαιτείται για όλες τις εφαρμογές. - **Επιτρέψτε τη συναίνεση χρηστών για εφαρμογές από επαληθευμένους εκδότες, για επιλεγμένα δικαιώματα (Συνιστάται)** -- Όλοι οι χρήστες μπορούν να συναινέσουν για δικαιώματα που ταξινομούνται ως "χαμηλής επίπτωσης", για εφαρμογές από επαληθευμένους εκδότες ή εφαρμογές που έχουν εγγραφεί σε αυτήν την οργάνωση. +- Όλοι οι χρήστες μπορούν να συναινέσουν για δικαιώματα που ταξινομούνται ως "χαμηλής επίπτωσης", για εφαρμογές από επαληθευμένους εκδότες ή εφαρμογές που είναι εγγεγραμμένες σε αυτήν την οργάνωση. - **Προεπιλεγμένα** δικαιώματα χαμηλής επίπτωσης (αν και πρέπει να αποδεχθείτε να τα προσθέσετε ως χαμηλά): -- User.Read - σύνδεση και ανάγνωση προφίλ χρήστη +- User.Read - είσοδος και ανάγνωση προφίλ χρήστη - offline_access - διατήρηση πρόσβασης σε δεδομένα που οι χρήστες έχουν δώσει πρόσβαση -- openid - σύνδεση χρηστών +- openid - είσοδος χρηστών - profile - προβολή βασικού προφίλ χρήστη - email - προβολή διεύθυνσης email χρήστη - **Επιτρέψτε τη συναίνεση χρηστών για εφαρμογές (Προεπιλογή)** @@ -175,7 +175,7 @@ **Αιτήματα συναίνεσης διαχειριστή**: Προεπιλεγμένο **Όχι** - Οι χρήστες μπορούν να ζητήσουν συναίνεση διαχειριστή για εφαρμογές που δεν μπορούν να συναινέσουν -- Εάν **Ναι**: Είναι δυνατή η ένδειξη Χρηστών, Ομάδων και Ρόλων που μπορούν να συναινέσουν σε αιτήματα +- Εάν **Ναι**: Είναι δυνατό να υποδείξετε Χρήστες, Ομάδες και Ρόλους που μπορούν να συναινέσουν σε αιτήματα - Ρυθμίστε επίσης αν οι χρήστες θα λαμβάνουν ειδοποιήσεις μέσω email και υπενθυμίσεις λήξης ### **Διαχειριζόμενη Ταυτότητα (Μεταδεδομένα)** @@ -184,10 +184,10 @@ Υπάρχουν δύο τύποι διαχειριζόμενων ταυτοτήτων: -- **Ανατεθειμένη από το σύστημα**. Ορισμένες υπηρεσίες Azure σας επιτρέπουν να **ενεργοποιήσετε μια διαχειριζόμενη ταυτότητα απευθείας σε μια υπηρεσία**. Όταν ενεργοποιείτε μια διαχειριζόμενη ταυτότητα ανατεθειμένη από το σύστημα, δημιουργείται ένας **service principal** στον ενοικιαστή Entra ID που εμπιστεύεται τη συνδρομή όπου βρίσκεται ο πόρος. Όταν ο **πόρος** διαγραφεί, το Azure αυτόματα **διαγράφει** την **ταυτότητα** για εσάς. -- **Ανατεθειμένη από τον χρήστη**. Είναι επίσης δυνατή η δημιουργία διαχειριζόμενων ταυτοτήτων από τους χρήστες. Αυτές δημιουργούνται μέσα σε μια ομάδα πόρων σε μια συνδρομή και θα δημιουργηθεί ένας service principal στον EntraID που εμπιστεύεται τη συνδρομή. Στη συνέχεια, μπορείτε να αναθέσετε τη διαχειριζόμενη ταυτότητα σε μία ή **περισσότερες περιπτώσεις** μιας υπηρεσίας Azure (πολλοί πόροι). Για τις διαχειριζόμενες ταυτότητες ανατεθειμένες από τον χρήστη, η **ταυτότητα διαχειρίζεται ξεχωριστά από τους πόρους που τη χρησιμοποιούν**. +- **Συστημικά ανατεθειμένες**. Ορισμένες υπηρεσίες Azure σας επιτρέπουν να **ενεργοποιήσετε μια διαχειριζόμενη ταυτότητα απευθείας σε μια υπηρεσία**. Όταν ενεργοποιείτε μια συστημικά ανατεθειμένη διαχειριζόμενη ταυτότητα, δημιουργείται ένας **service principal** στον ενοικιαστή Entra ID που εμπιστεύεται τη συνδρομή όπου βρίσκεται ο πόρος. Όταν ο **πόρος** διαγραφεί, το Azure αυτόματα **διαγράφει** την **ταυτότητα** για εσάς. +- **Χρήστη-ανατεθειμένες**. Είναι επίσης δυνατό για τους χρήστες να δημιουργούν διαχειριζόμενες ταυτότητες. Αυτές δημιουργούνται μέσα σε μια ομάδα πόρων σε μια συνδρομή και θα δημιουργηθεί ένας service principal στον EntraID που εμπιστεύεται τη συνδρομή. Στη συνέχεια, μπορείτε να αναθέσετε τη διαχειριζόμενη ταυτότητα σε μία ή **περισσότερες περιπτώσεις** μιας υπηρεσίας Azure (πολλοί πόροι). Για τις διαχειριζόμενες ταυτότητες που ανατίθενται από χρήστες, η **ταυτότητα διαχειρίζεται ξεχωριστά από τους πόρους που τη χρησιμοποιούν**. -Οι Διαχειριζόμενες Ταυτότητες **δεν δημιουργούν αιώνια διαπιστευτήρια** (όπως κωδικούς πρόσβασης ή πιστοποιητικά) για πρόσβαση ως ο service principal που συνδέεται με αυτήν. +Οι διαχειριζόμενες ταυτότητες **δεν δημιουργούν αιώνια διαπιστευτήρια** (όπως κωδικούς πρόσβασης ή πιστοποιητικά) για πρόσβαση ως ο service principal που συνδέεται με αυτές. ### Επιχειρησιακές Εφαρμογές @@ -217,7 +217,7 @@ - Για να διαχειριστείτε το Entra ID υπάρχουν ορισμένοι **ενσωματωμένοι ρόλοι** που μπορούν να ανατεθούν σε principals Entra ID για να διαχειριστούν το Entra ID - Ελέγξτε τους ρόλους στο [https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference](https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference) - Ο πιο προνομιούχος ρόλος είναι ο **Παγκόσμιος Διαχειριστής** -- Στην περιγραφή του ρόλου είναι δυνατή η προβολή των **λεπτομερών δικαιωμάτων** του. +- Στην περιγραφή του ρόλου είναι δυνατό να δείτε τα **λεπτομερή δικαιώματα** του. ## Ρόλοι & Δικαιώματα @@ -227,7 +227,7 @@ Ανάλογα με το πεδίο στο οποίο ανατέθηκε ο ρόλος, ο **ρόλος** μπορεί να **κληρονομηθεί** σε **άλλους πόρους** μέσα στο δοχείο πεδίου. Για παράδειγμα, εάν ένας χρήστης A έχει έναν **ρόλο στη συνδρομή**, θα έχει αυτόν τον **ρόλο σε όλες τις ομάδες πόρων** μέσα στη συνδρομή και σε **όλους τους πόρους** μέσα στην ομάδα πόρων. -### **Κλασικοί Ρόλοι** +### Κλασικοί Ρόλοι | **Ιδιοκτήτης** | | Όλοι οι τύποι πόρων | | ----------------------------- | ---------------------------------------------------------------------------------------- | ------------------ | @@ -239,28 +239,30 @@ [Από τα έγγραφα: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[Ο έλεγχος πρόσβασης βάσει ρόλων Azure (Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) έχει αρκετούς **ενσωματωμένους ρόλους** Azure που μπορείτε να **αναθέσετε** σε **χρήστες, ομάδες, service principals και διαχειριζόμενες ταυτότητες**. Οι αναθέσεις ρόλων είναι ο τρόπος που ελέγχετε **την πρόσβαση στους πόρους Azure**. Εάν οι ενσωματωμένοι ρόλοι δεν καλύπτουν τις συγκεκριμένες ανάγκες της οργάνωσής σας, μπορείτε να δημιουργήσετε τους δικούς σας [**προσαρμοσμένους ρόλους Azure**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)**.** -Οι **Ενσωματωμένοι** ρόλοι ισχύουν μόνο για τους **πόρους** για τους οποίους προορίζονται, για παράδειγμα ελέγξτε αυτά τα 2 παραδείγματα **Ενσωματωμένων ρόλων πάνω σε Πόρους Υπολογισμού**: +Οι **ενσωματωμένοι** ρόλοι ισχύουν μόνο για τους **πόρους** για τους οποίους προορίζονται, για παράδειγμα ελέγξτε αυτά τα 2 παραδείγματα **ενσωματωμένων ρόλων σε πόρους Υπολογισμού**: -| [Αναγνώστης Αντίγραφου Δίσκου](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#disk-backup-reader) | Παρέχει άδεια στο vault αντιγράφων για να εκτελεί αντίγραφα δίσκων. | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 | +| [Disk Backup Reader](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#disk-backup-reader) | Παρέχει άδεια στο backup vault για να εκτελεί αντίγραφα ασφαλείας δίσκων. | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 | | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------ | -| [Σύνδεση Χρήστη Εικονικής Μηχανής](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | Προβολή Εικονικών Μηχανών στην πύλη και σύνδεση ως κανονικός χρήστης. | fb879df8-f326-4884-b1cf-06f3ad86be52 | +| [Virtual Machine User Login](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | Προβολή Εικονικών Μηχανών στην πύλη και είσοδος ως κανονικός χρήστης. | fb879df8-f326-4884-b1cf-06f3ad86be52 | -Αυτοί οι ρόλοι μπορούν **επίσης να ανατεθούν πάνω σε λογικά δοχεία** (όπως ομάδες διαχείρισης, συνδρομές και ομάδες πόρων) και οι principals που επηρεάζονται θα τους έχουν **πάνω στους πόρους μέσα σε αυτά τα δοχεία**. +Αυτοί οι ρόλοι μπορούν **επίσης να ανατεθούν σε λογικά δοχεία** (όπως ομάδες διαχείρισης, συνδρομές και ομάδες πόρων) και οι principals που επηρεάζονται θα τους έχουν **στους πόρους μέσα σε αυτά τα δοχεία**. - Βρείτε εδώ μια λίστα με [**όλους τους ενσωματωμένους ρόλους Azure**](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles). - Βρείτε εδώ μια λίστα με [**όλους τους ενσωματωμένους ρόλους Entra ID**](https://learn.microsoft.com/en-us/azure/active-directory/roles/permissions-reference). ### Προσαρμοσμένοι Ρόλοι -- Είναι επίσης δυνατή η δημιουργία [**προσαρμοσμένων ρόλων**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles) +- Είναι επίσης δυνατό να δημιουργήσετε [**προσαρμοσμένους ρόλους**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles) - Δημιουργούνται μέσα σε ένα πεδίο, αν και ένας ρόλος μπορεί να είναι σε αρκετά πεδία (ομάδες διαχείρισης, συνδρομή και ομάδες πόρων) -- Είναι δυνατή η ρύθμιση όλων των λεπτομερών δικαιωμάτων που θα έχει ο προσαρμοσμένος ρόλος -- Είναι δυνατή η εξαίρεση δικαιωμάτων +- Είναι δυνατό να ρυθμίσετε όλα τα λεπτομερή δικαιώματα που θα έχει ο προσαρμοσμένος ρόλος +- Είναι δυνατό να εξαιρέσετε δικαιώματα - Ένας principal με εξαιρεθέν δικαίωμα δεν θα μπορεί να το χρησιμοποιήσει ακόμα και αν το δικαίωμα χορηγείται αλλού -- Είναι δυνατή η χρήση wildcard +- Είναι δυνατό να χρησιμοποιήσετε χαρακτήρες μπαλαντέρ - Η χρησιμοποιούμενη μορφή είναι JSON -- `actions` είναι για τον έλεγχο ενεργειών πάνω στον πόρο -- `dataActions` είναι δικαιώματα πάνω στα δεδομένα εντός του αντικειμένου +- `actions` αναφέρονται σε δικαιώματα για διαχειριστικές ενέργειες σε πόρους, όπως η δημιουργία, η ενημέρωση ή η διαγραφή ορισμών και ρυθμίσεων πόρων. +- `dataActions` είναι δικαιώματα για ενέργειες δεδομένων εντός του πόρου, επιτρέποντάς σας να διαβάσετε, να γράψετε ή να διαγράψετε τα πραγματικά δεδομένα που περιέχονται στον πόρο. +- `notActions` και `notDataActions` χρησιμοποιούνται για να εξαιρέσουν συγκεκριμένα δικαιώματα από τον ρόλο. Ωστόσο, **δεν τα αρνούνται**, εάν ένας διαφορετικός ρόλος τους χορηγεί, ο principal θα τα έχει. +- `assignableScopes` είναι ένας πίνακας πεδίων όπου μπορεί να ανατεθεί ο ρόλος (όπως ομάδες διαχείρισης, συνδρομές ή ομάδες πόρων). Παράδειγμα δικαιωμάτων JSON για έναν προσαρμοσμένο ρόλο: ```json @@ -294,43 +296,60 @@ ``` ### Permissions order -- Για να έχει ένας **principal πρόσβαση σε έναν πόρο**, χρειάζεται να του παραχωρηθεί ρητά ένας ρόλος (με οποιονδήποτε τρόπο) **που του δίνει αυτή την άδεια**. -- Μια ρητή **ανάθεση ρόλου άρνησης έχει προτεραιότητα** σε σχέση με τον ρόλο που παραχωρεί την άδεια. +- Για να έχει ένας **principal πρόσβαση σε έναν πόρο**, χρειάζεται να του παραχωρηθεί ρητά ένας ρόλος (με οποιονδήποτε τρόπο) **παρέχοντάς του αυτή την άδεια**. +- Μια ρητή **ανάθεση άρνησης έχει προτεραιότητα** σε σχέση με τον ρόλο που παρέχει την άδεια.

https://link.springer.com/chapter/10.1007/978-1-4842-7325-8_10

### Global Administrator -Ο Global Administrator είναι ένας ρόλος από το Entra ID που παραχωρεί **πλήρη έλεγχο πάνω στον ενοικιαστή Entra ID**. Ωστόσο, δεν παραχωρεί καμία άδεια πάνω στους πόρους Azure από προεπιλογή. +Ο Global Administrator είναι ένας ρόλος από το Entra ID που παρέχει **πλήρη έλεγχο πάνω στον ενοικιαστή Entra ID**. Ωστόσο, δεν παρέχει καμία άδεια πάνω στους πόρους Azure από προεπιλογή. -Οι χρήστες με τον ρόλο Global Administrator έχουν τη δυνατότητα να '**ανυψώσουν' τον ρόλο User Access Administrator Azure στην Κεντρική Διαχείριση**. Έτσι, οι Global Administrators μπορούν να διαχειρίζονται την πρόσβαση σε **όλες τις συνδρομές Azure και τις ομάδες διαχείρισης.**\ -Αυτή η ανύψωση μπορεί να γίνει στο τέλος της σελίδας: [https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/\~/Properties](https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Properties) +Οι χρήστες με τον ρόλο του Global Administrator έχουν τη δυνατότητα να '**ανεβάσουν' σε ρόλο User Access Administrator Azure στην Root Management Group**. Έτσι, οι Global Administrators μπορούν να διαχειρίζονται την πρόσβαση σε **όλες τις συνδρομές Azure και τις ομάδες διαχείρισης.**\ +Αυτή η αναβάθμιση μπορεί να γίνει στο τέλος της σελίδας: [https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/\~/Properties](https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Properties)
+### Assignments Conditions & MFA + +Είναι δυνατόν να **καθοριστούν ορισμένες προϋποθέσεις όταν ανατίθεται ένας ρόλος** σε έναν principal. Μια κοινή προϋπόθεση που προστίθεται είναι να απαιτείται MFA για την πρόσβαση σε ορισμένες άδειες ρόλου: +```bash +az role assignment create \ +--assignee \ +--role \ +--scope "/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f" \ +--condition "PrincipalClaims['amr'] contains 'mfa'" \ +--condition-version 2.0 +``` +### Deny Assignments + +Ακριβώς όπως οι ρόλοι, οι **deny assignments** χρησιμοποιούνται για να **ελέγχουν την πρόσβαση στους πόρους του Azure**. Ωστόσο, οι **deny assignments** χρησιμοποιούνται για να **αρνηθούν ρητά την πρόσβαση** σε έναν πόρο, ακόμη και αν σε έναν χρήστη έχει παραχωρηθεί πρόσβαση μέσω ρόλου. Οι **deny assignments** έχουν προτεραιότητα έναντι των **role assignments**, πράγμα που σημαίνει ότι αν σε έναν χρήστη έχει παραχωρηθεί πρόσβαση μέσω ρόλου αλλά του έχει επίσης ρητά αρνηθεί η πρόσβαση μέσω deny assignment, η deny assignment θα έχει προτεραιότητα. + +Ακριβώς όπως οι ρόλοι, οι **deny assignments** εφαρμόζονται σε κάποιο πεδίο που υποδεικνύει τους επηρεαζόμενους φορείς και τις άδειες που αρνούνται. Επιπλέον, στην περίπτωση των deny assignments, είναι δυνατόν να **αποτραπεί η κληρονομία της άρνησης** από τους παιδικούς πόρους. + ### Azure Policies -**Azure Policies** είναι κανόνες που βοηθούν τις οργανώσεις να διασφαλίσουν ότι οι πόροι τους πληρούν συγκεκριμένα πρότυπα και απαιτήσεις συμμόρφωσης. Επιτρέπουν να **επιβάλλετε ή να ελέγχετε ρυθμίσεις σε πόρους στο Azure**. Για παράδειγμα, μπορείτε να αποτρέψετε τη δημιουργία εικονικών μηχανών σε μη εξουσιοδοτημένη περιοχή ή να διασφαλίσετε ότι όλοι οι πόροι έχουν συγκεκριμένες ετικέτες για παρακολούθηση. +Οι **Azure Policies** είναι κανόνες που βοηθούν τις οργανώσεις να διασφαλίσουν ότι οι πόροι τους πληρούν συγκεκριμένα πρότυπα και απαιτήσεις συμμόρφωσης. Επιτρέπουν να **επιβάλλετε ή να ελέγχετε ρυθμίσεις στους πόρους του Azure**. Για παράδειγμα, μπορείτε να αποτρέψετε τη δημιουργία εικονικών μηχανών σε μη εξουσιοδοτημένη περιοχή ή να διασφαλίσετε ότι όλοι οι πόροι έχουν συγκεκριμένες ετικέτες για παρακολούθηση. Οι Azure Policies είναι **προληπτικές**: μπορούν να σταματήσουν τη δημιουργία ή την αλλαγή μη συμμορφούμενων πόρων. Είναι επίσης **αντιδραστικές**, επιτρέποντάς σας να βρείτε και να διορθώσετε υπάρχοντες μη συμμορφούμενους πόρους. #### **Key Concepts** 1. **Policy Definition**: Ένας κανόνας, γραμμένος σε JSON, που καθορίζει τι επιτρέπεται ή απαιτείται. -2. **Policy Assignment**: Η εφαρμογή μιας πολιτικής σε συγκεκριμένο πεδίο (π.χ., συνδρομή, ομάδα πόρων). +2. **Policy Assignment**: Η εφαρμογή μιας πολιτικής σε ένα συγκεκριμένο πεδίο (π.χ., συνδρομή, ομάδα πόρων). 3. **Initiatives**: Μια συλλογή πολιτικών που ομαδοποιούνται για ευρύτερη επιβολή. 4. **Effect**: Καθορίζει τι συμβαίνει όταν ενεργοποιείται η πολιτική (π.χ., "Deny," "Audit," ή "Append"). **Ορισμένα παραδείγματα:** -1. **Διασφάλιση Συμμόρφωσης με Συγκεκριμένες Περιοχές Azure**: Αυτή η πολιτική διασφαλίζει ότι όλοι οι πόροι αναπτύσσονται σε συγκεκριμένες περιοχές Azure. Για παράδειγμα, μια εταιρεία μπορεί να θέλει να διασφαλίσει ότι όλα τα δεδομένα της αποθηκεύονται στην Ευρώπη για συμμόρφωση με τον GDPR. -2. **Επιβολή Προτύπων Ονοματοδοσίας**: Οι πολιτικές μπορούν να επιβάλλουν συμβάσεις ονοματοδοσίας για τους πόρους Azure. Αυτό βοηθά στην οργάνωση και την εύκολη αναγνώριση των πόρων με βάση τα ονόματά τους, κάτι που είναι χρήσιμο σε μεγάλες περιβάλλοντα. -3. **Περιορισμός Ορισμένων Τύπων Πόρων**: Αυτή η πολιτική μπορεί να περιορίσει τη δημιουργία ορισμένων τύπων πόρων. Για παράδειγμα, μια πολιτική θα μπορούσε να ρυθμιστεί ώστε να αποτρέπει τη δημιουργία ακριβών τύπων πόρων, όπως ορισμένα μεγέθη VM, για τον έλεγχο του κόστους. -4. **Επιβολή Πολιτικών Ετικετών**: Οι ετικέτες είναι ζεύγη κλειδιού-τιμής που σχετίζονται με τους πόρους Azure και χρησιμοποιούνται για τη διαχείριση πόρων. Οι πολιτικές μπορούν να επιβάλλουν ότι ορισμένες ετικέτες πρέπει να είναι παρούσες ή να έχουν συγκεκριμένες τιμές για όλους τους πόρους. Αυτό είναι χρήσιμο για την παρακολούθηση κόστους, την ιδιοκτησία ή την κατηγοριοποίηση πόρων. +1. **Διασφάλιση Συμμόρφωσης με Συγκεκριμένες Περιοχές του Azure**: Αυτή η πολιτική διασφαλίζει ότι όλοι οι πόροι αναπτύσσονται σε συγκεκριμένες περιοχές του Azure. Για παράδειγμα, μια εταιρεία μπορεί να θέλει να διασφαλίσει ότι όλα τα δεδομένα της αποθηκεύονται στην Ευρώπη για συμμόρφωση με τον GDPR. +2. **Επιβολή Προτύπων Ονοματοδοσίας**: Οι πολιτικές μπορούν να επιβάλλουν συμβάσεις ονοματοδοσίας για τους πόρους του Azure. Αυτό βοηθά στην οργάνωση και την εύκολη αναγνώριση των πόρων με βάση τα ονόματά τους, κάτι που είναι χρήσιμο σε μεγάλες περιβάλλοντα. +3. **Περιορισμός Ορισμένων Τύπων Πόρων**: Αυτή η πολιτική μπορεί να περιορίσει τη δημιουργία ορισμένων τύπων πόρων. Για παράδειγμα, μια πολιτική θα μπορούσε να ρυθμιστεί για να αποτρέψει τη δημιουργία ακριβών τύπων πόρων, όπως ορισμένα μεγέθη VM, για τον έλεγχο του κόστους. +4. **Επιβολή Πολιτικών Ετικετών**: Οι ετικέτες είναι ζεύγη κλειδιού-τιμής που σχετίζονται με τους πόρους του Azure και χρησιμοποιούνται για τη διαχείριση πόρων. Οι πολιτικές μπορούν να επιβάλλουν ότι ορισμένες ετικέτες πρέπει να είναι παρούσες ή να έχουν συγκεκριμένες τιμές για όλους τους πόρους. Αυτό είναι χρήσιμο για την παρακολούθηση κόστους, την ιδιοκτησία ή την κατηγοριοποίηση των πόρων. 5. **Περιορισμός Δημόσιας Πρόσβασης σε Πόρους**: Οι πολιτικές μπορούν να επιβάλλουν ότι ορισμένοι πόροι, όπως οι λογαριασμοί αποθήκευσης ή οι βάσεις δεδομένων, δεν έχουν δημόσιες τελικές σημεία, διασφαλίζοντας ότι είναι προσβάσιμοι μόνο εντός του δικτύου της οργάνωσης. -6. **Αυτόματη Εφαρμογή Ρυθμίσεων Ασφαλείας**: Οι πολιτικές μπορούν να χρησιμοποιηθούν για την αυτόματη εφαρμογή ρυθμίσεων ασφαλείας σε πόρους, όπως η εφαρμογή μιας συγκεκριμένης ομάδας ασφαλείας δικτύου σε όλες τις VM ή η διασφάλιση ότι όλοι οι λογαριασμοί αποθήκευσης χρησιμοποιούν κρυπτογράφηση. +6. **Αυτόματη Εφαρμογή Ρυθμίσεων Ασφαλείας**: Οι πολιτικές μπορούν να χρησιμοποιηθούν για την αυτόματη εφαρμογή ρυθμίσεων ασφαλείας στους πόρους, όπως η εφαρμογή μιας συγκεκριμένης ομάδας ασφαλείας δικτύου σε όλα τα VMs ή η διασφάλιση ότι όλοι οι λογαριασμοί αποθήκευσης χρησιμοποιούν κρυπτογράφηση. -Σημειώστε ότι οι Azure Policies μπορούν να προσαρτηθούν σε οποιοδήποτε επίπεδο της ιεραρχίας Azure, αλλά χρησιμοποιούνται **συνήθως στην κεντρική ομάδα διαχείρισης** ή σε άλλες ομάδες διαχείρισης. +Σημειώστε ότι οι Azure Policies μπορούν να προσαρτηθούν σε οποιοδήποτε επίπεδο της ιεραρχίας του Azure, αλλά χρησιμοποιούνται **συνήθως στην κύρια ομάδα διαχείρισης** ή σε άλλες ομάδες διαχείρισης. Azure policy json example: ```json @@ -363,7 +382,7 @@ Azure policy json example: **RBAC** (έλεγχος πρόσβασης βάσει ρόλου) είναι αυτό που έχουμε δει ήδη στις προηγούμενες ενότητες: **Ανάθεση ενός ρόλου σε έναν κύριο για να του παραχωρηθεί πρόσβαση** σε έναν πόρο.\ Ωστόσο, σε ορισμένες περιπτώσεις μπορεί να θέλετε να παρέχετε **πιο λεπτομερή διαχείριση πρόσβασης** ή να **απλοποιήσετε** τη διαχείριση **εκατοντάδων** αναθέσεων ρόλων. -Το Azure **ABAC** (έλεγχος πρόσβασης βάσει χαρακτηριστικών) βασίζεται στο Azure RBAC προσθέτοντας **συνθήκες ανάθεσης ρόλου βάσει χαρακτηριστικών** στο πλαίσιο συγκεκριμένων ενεργειών. Μια _συνθήκη ανάθεσης ρόλου_ είναι μια **επιπλέον έλεγχο που μπορείτε προαιρετικά να προσθέσετε στην ανάθεση ρόλου σας** για να παρέχετε πιο λεπτομερή έλεγχο πρόσβασης. Μια συνθήκη φιλτράρει τα δικαιώματα που παραχωρούνται ως μέρος του ορισμού ρόλου και της ανάθεσης ρόλου. Για παράδειγμα, μπορείτε να **προσθέσετε μια συνθήκη που απαιτεί ένα αντικείμενο να έχει μια συγκεκριμένη ετικέτα για να διαβάσετε το αντικείμενο**.\ +Το Azure **ABAC** (έλεγχος πρόσβασης βάσει χαρακτηριστικών) βασίζεται στο Azure RBAC προσθέτοντας **συνθήκες ανάθεσης ρόλου βάσει χαρακτηριστικών** στο πλαίσιο συγκεκριμένων ενεργειών. Μια _συνθήκη ανάθεσης ρόλου_ είναι ένας **επιπλέον έλεγχος που μπορείτε προαιρετικά να προσθέσετε στην ανάθεση ρόλου σας** για να παρέχετε πιο λεπτομερή έλεγχο πρόσβασης. Μια συνθήκη φιλτράρει τα δικαιώματα που παραχωρούνται ως μέρος του ορισμού ρόλου και της ανάθεσης ρόλου. Για παράδειγμα, μπορείτε να **προσθέσετε μια συνθήκη που απαιτεί ένα αντικείμενο να έχει μια συγκεκριμένη ετικέτα για να διαβάσετε το αντικείμενο**.\ Δεν μπορείτε να **αρνηθείτε** ρητά την **πρόσβαση** σε συγκεκριμένους πόρους **χρησιμοποιώντας συνθήκες**. ## Αναφορές