Azure Arc-kompatibilis adatszolgáltatások üzemeltetése minimális jogosultságokkal
Az Arc-kompatibilis adatszolgáltatások minimális jogosultságokkal történő üzemeltetése ajánlott biztonsági eljárás. Csak a felhasználók és a szolgáltatásfiókok számára adja meg a szükséges feladatok elvégzéséhez szükséges engedélyeket. Az Azure és a Kubernetes egyaránt biztosít egy szerepköralapú hozzáférés-vezérlési modellt, amely ezen engedélyek megadására használható. Ez a cikk olyan gyakori forgatókönyveket ismertet, amelyekben a minimális jogosultsági szintű biztonságot kell alkalmazni.
Megjegyzés:
Ebben a cikkben egy névtérnevet arc
használunk. Ha másik nevet szeretne használni, akkor az egész folyamat során ugyanazt a nevet kell használnia.
Ebben a cikkben a kubectl
CLI segédprogramot használjuk példaként. A Kubernetes API-t használó bármely eszköz vagy rendszer használható.
Az Azure Arc-adatkezelő üzembe helyezése
Az Azure Arc-adatkezelő üzembe helyezéséhez olyan engedélyekre van szükség, amelyek magas szintű jogosultságnak tekinthetők, például Kubernetes-névtér létrehozása vagy fürtszerepkör létrehozása. Az alábbi lépéseket követve az adatkezelő üzembe helyezését több lépésre bonthatja, amelyeket egy felhasználó vagy egy olyan szolgáltatásfiók hajthat végre, amely rendelkezik a szükséges engedélyekkel. A feladatok elkülönítése biztosítja, hogy a folyamat minden felhasználója vagy szolgáltatásfiókja csak a szükséges engedélyekkel és semmi többel rendelkezik.
Olyan névtér üzembe helyezése, amelyben az adatkezelő létrejön
Ez a lépés létrehoz egy új, dedikált Kubernetes-névteret, amelyben az Arc-adatkezelő üzembe lesz helyezve. Először ezt a lépést kell elvégezni, mert a következő lépések ezt az új névteret fogják használni a megadott engedélyek hatóköreként.
A művelet végrehajtásához szükséges engedélyek:
- Névtér
- Létrehozás
- Szerkesztés (ha az OpenShift-fürtök esetében szükséges)
Az alábbiakhoz hasonló parancs futtatásával hozzon létre egy új, dedikált névteret, amelyben az adatkezelő létrejön.
kubectl create namespace arc
Ha OpenShift-et használ, a openshift.io/sa.scc.supplemental-groups
névtérben lévő megjegyzéseket és openshift.io/sa.scc.uid-range
széljegyzeteket a következővel kubectl edit namespace <name of namespace>
kell szerkesztenie: . Módosítsa ezeket a meglévő széljegyzeteket úgy, hogy megfeleljenek ezeknek az adott UID-nek és fsGroup-azonosítóknak/-tartományoknak.
openshift.io/sa.scc.supplemental-groups: 1000700001/10000
openshift.io/sa.scc.uid-range: 1000700001/10000
Engedélyek hozzárendelése az üzembe helyezési szolgáltatásfiókhoz és a felhasználókhoz/csoportokhoz
Ez a lépés létrehoz egy szolgáltatásfiókot, és szerepköröket és fürtszerepköröket rendel hozzá a szolgáltatásfiókhoz, hogy a szolgáltatásfiók egy feladatban használható legyen az Arc-adatkezelő üzembe helyezéséhez a minimálisan szükséges jogosultságokkal.
A művelet végrehajtásához szükséges engedélyek:
- Szolgáltatásfiók
- Létrehozás
- Szerepet
- Létrehozás
- Szerepkör kötése
- Létrehozás
- Fürtszerepkör
- Létrehozás
- Fürtszerepkör kötése
- Létrehozás
- A szolgáltatásfióknak adott összes engedély (részletekért tekintse meg az arcdata-deployer.yaml szakaszt)
Mentse az arcdata-deployer.yaml másolatát, és cserélje le a fájlban lévő helyőrzőt {{NAMESPACE}}
az előző lépésben létrehozott névtérre, például: arc
. Futtassa a következő parancsot a telepítő szolgáltatásfiókjának a szerkesztett fájllal való létrehozásához.
kubectl apply --namespace arc -f arcdata-deployer.yaml
Engedélyek megadása a felhasználók számára a bootstrapper-feladat és az adatkezelő létrehozásához
A művelet végrehajtásához szükséges engedélyek:
- Szerepet
- Létrehozás
- Szerepkör kötése
- Létrehozás
Mentse az arcdata-installer.yaml másolatát, és cserélje le a fájl helyőrzőjének {{INSTALLER_USERNAME}}
nevét a felhasználó nevére, és adja meg például a következő engedélyeket: john@contoso.com
. Szükség szerint adjon hozzá további szerepkörkötési témákat, például más felhasználókat vagy csoportokat. Futtassa a következő parancsot a telepítő engedélyeinek létrehozásához a szerkesztett fájllal.
kubectl apply --namespace arc -f arcdata-installer.yaml
A bootstrapper-feladat üzembe helyezése
A művelet végrehajtásához szükséges engedélyek:
- Az arcdata-installer-role szerepkörhöz az előző lépésben hozzárendelt felhasználó
Futtassa a következő parancsot a bootstrapper-feladat létrehozásához, amely előkészítő lépéseket fog végrehajtani az adatkezelő üzembe helyezéséhez.
kubectl apply --namespace arc -f https://raw.githubusercontent.com/microsoft/azure_arc/main/arc_data_services/deploy/yaml/bootstrapper.yaml
Az Arc-adatkezelő létrehozása
Most már készen áll az adatkezelő létrehozására.
Először hozzon létre egy másolatot a sablonfájlról helyileg a számítógépen, hogy módosíthasson néhány beállítást.
A metrikák és naplók irányítópultjának felhasználóneveinek és jelszavainak létrehozása
A fájl tetején megadhat egy felhasználónevet és jelszót, amellyel rendszergazdaként hitelesíthetők a metrikák és naplók irányítópultjai. Válasszon biztonságos jelszót, és ossza meg csak azokkal, akiknek rendelkezniük kell ezekkel a jogosultságokkal.
A Kubernetes-titkos kódokat a rendszer base64 kódolású sztringként tárolja – egyet a felhasználónévhez, egyet pedig a jelszóhoz.
echo -n '<your string to encode here>' | base64
# echo -n 'example' | base64
Szükség esetén SSL-/TLS-tanúsítványokat is létrehozhat a naplók és metrikák irányítópultjaihoz. Kövesse az SSL/TLS-tanúsítványok megadása a Kubernetes natív eszközeinek üzembe helyezése során című témakör utasításait.
Az adatkezelő konfigurációjának szerkesztése
Szükség szerint módosítsa az adatkezelő konfigurációját:
SZÜKSÉGES
location
: Módosítsa ezt az Azure-helyet az adatkezelő metaadatainak tárolására. Tekintse át az elérhető régiók listáját.logsui-certificate-secret
: A Kubernetes-fürtben a naplók felhasználói felületi tanúsítványához létrehozott titkos kód neve.metricsui-certificate-secret
: A Kubernetes-fürtön a metrikák felhasználói felületi tanúsítványához létrehozott titkos kód neve.
Ajánlott: az alapértelmezett beállítások áttekintése és esetleges módosítása
Tekintse át ezeket az értékeket, és frissítse az üzembe helyezést:
storage..className
: az adatkezelő adataihoz és naplófájljaihoz használandó tárolási osztály. Ha nem biztos a Kubernetes-fürtben elérhető tárolási osztályokban, futtassa a következő parancsot:kubectl get storageclass
. Az alapértelmezett érték az alapértelmezett, amely feltételezi, hogy létezik egy tárolási osztály, és az alapértelmezett név nem az alapértelmezett tárolási osztály. Megjegyzés: Két className-beállítást kell beállítani a kívánt tárolási osztályhoz – egyet az adatokhoz, egyet pedig a naplókhoz.serviceType
: Módosítsa a szolgáltatás típusát NodePortra, ha nem Használ LoadBalancert.Az Azure Red Hat OpenShift vagy Red Hat OpenShift tárolóplatform biztonsága: a beállításokat cserélje le az adatkezelő yaml-fájljának következő értékeire.
security: allowDumps: false allowNodeMetricsCollection: false allowPodMetricsCollection: false
Választható
Az alábbi beállítások megadása nem kötelező.
name
: Az adatkezelő alapértelmezett neve arc, de igény szerint módosíthatja.displayName
: Állítsa be ugyanazt az értéket, mint a fájl tetején lévő névattribútum.registry
: Az alapértelmezett beállításjegyzék a Microsoft Container Registry. Ha lekérte a rendszerképeket a Microsoft Container Registryből, és egy privát tárolóregisztrációs adatbázisba küldi őket, itt adja meg a beállításjegyzék IP-címét vagy DNS-nevét.dockerRegistry
: A rendszerképek privát tárolóregisztrációs adatbázisból való lekéréséhez használható titkos kód, ha szükséges.repository
: A Microsoft Container Registry alapértelmezett adattára az arcdata. Ha privát tárolóregisztrációs adatbázist használ, adja meg az Azure Arc-kompatibilis adatszolgáltatások tárolólemezképét tartalmazó mappa/adattár elérési útját.imageTag
: A jelenlegi legújabb verziócímke alapértelmezés szerint szerepel a sablonban, de ha régebbi verziót szeretne használni, módosíthatja.logsui-certificate-secret
: A Kubernetes-fürtben a naplók felhasználói felületi tanúsítványához létrehozott titkos kód neve.metricsui-certificate-secret
: A Kubernetes-fürtön a metrikák felhasználói felületi tanúsítványához létrehozott titkos kód neve.
Az alábbi példa egy befejezett adatvezérlő yaml-et mutat be.
apiVersion: v1
data:
password: <your base64 encoded password>
username: <your base64 encoded username>
kind: Secret
metadata:
name: metricsui-admin-secret
type: Opaque
---
apiVersion: v1
data:
password: <your base64 encoded password>
username: <your base64 encoded username>
kind: Secret
metadata:
name: logsui-admin-secret
type: Opaque
---
apiVersion: arcdata.microsoft.com/v5
kind: DataController
metadata:
name: arc-dc
spec:
credentials:
dockerRegistry: arc-private-registry # Create a registry secret named 'arc-private-registry' if you are going to pull from a private registry instead of MCR.
serviceAccount: sa-arc-controller
docker:
imagePullPolicy: Always
imageTag: v1.31.0_2024-07-09
registry: mcr.microsoft.com
repository: arcdata
infrastructure: other # Must be a value in the array [alibaba, aws, azure, gcp, onpremises, other]
security:
allowDumps: true # Set this to false if deploying on OpenShift
allowNodeMetricsCollection: true # Set this to false if deploying on OpenShift
allowPodMetricsCollection: true # Set this to false if deploying on OpenShift
services:
- name: controller
port: 30080
serviceType: LoadBalancer # Modify serviceType based on your Kubernetes environment
settings:
ElasticSearch:
vm.max_map_count: "-1"
azure:
connectionMode: indirect # Only indirect is supported for Kubernetes-native deployment for now.
location: eastus # Choose a different Azure location if you want
resourceGroup: <your resource group>
subscription: <your subscription GUID>
controller:
displayName: arc-dc
enableBilling: true
logs.rotation.days: "7"
logs.rotation.size: "5000"
storage:
data:
accessMode: ReadWriteOnce
className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
size: 15Gi
logs:
accessMode: ReadWriteOnce
className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
size: 10Gi
Mentse a szerkesztett fájlt a helyi számítógépen, és futtassa a következő parancsot az adatkezelő létrehozásához:
kubectl create --namespace arc -f <path to your data controller file>
#Example
kubectl create --namespace arc -f data-controller.yaml
A létrehozási állapot figyelése
A vezérlő létrehozása néhány percet vesz igénybe. Az előrehaladást egy másik terminálablakban az alábbi parancsokkal figyelheti:
kubectl get datacontroller --namespace arc
kubectl get pods --namespace arc
Az alábbi parancsok futtatásával bármely pod létrehozási állapotát vagy naplóit is ellenőrizheti. Ez különösen hasznos a problémák elhárításához.
kubectl describe pod/<pod name> --namespace arc
kubectl logs <pod name> --namespace arc
#Example:
#kubectl describe pod/control-2g7bl --namespace arc
#kubectl logs control-2g7b1 --namespace arc
Kapcsolódó tartalom
Az Azure Arc-adatkezelő létrehozásához számos további lehetőség közül választhat:
Csak ki szeretné próbálni a dolgokat? Az Azure Arc Jumpstart használatának első lépései az AKS-en, az Amazon EKS-en vagy a GKE-n vagy egy Azure-beli virtuális gépen.
- Adatkezelő létrehozása közvetlen kapcsolati módban az Azure Portallal
- Adatkezelő létrehozása közvetett kapcsolati módban a parancssori felülettel
- Adatkezelő létrehozása közvetett kapcsolati módban az Azure Data Studióval
- Adatkezelő létrehozása közvetett kapcsolati módban az Azure Portalról egy Jupyter-jegyzetfüzeten keresztül az Azure Data Studióban
- Adatkezelő létrehozása közvetett kapcsolati módban a Kubernetes-eszközökkel, például
kubectl
oc
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: