szerepkörök és engedélyek Azure Container Registry

A Azure Container Registry szolgáltatás olyan beépített Azure-szerepköröket támogat, amelyek különböző szintű engedélyeket biztosítanak egy Azure-tárolóregisztrációs adatbázishoz. Az Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) használatával adott engedélyeket rendelhet a regisztrációs adatbázissal interakciót igénylő felhasználókhoz, szolgáltatásnevekhez vagy más identitásokhoz, például tárolórendszerképek lekéréséhez vagy leküldéséhez. A különböző műveletek beállításjegyzékéhez részletes engedélyekkel rendelkező egyéni szerepköröket is definiálhat.

Szerepkör/Engedély Access-Resource Manager Beállításjegyzék létrehozása/törlése Leküldéses kép Lekéréses kép Képadatok törlése Szabályzatok módosítása Képek aláírása
Tulajdonos X X X X X X
Közreműködő X X X X X X
Olvasó X X
AcrPush X X
AcrPull X
AcrDelete X
AcrImageSigner X

Szerepkörök hozzárendelése

A szerepkör-hozzárendelés meglévő felhasználóhoz, csoporthoz, szolgáltatásnévhez vagy felügyelt identitáshoz való hozzáadásához tekintse meg a szerepkör-hozzárendelés hozzáadásának lépéseit. Használhatja a Azure Portal, az Azure CLI, a Azure PowerShell vagy más Azure-eszközöket.

Szolgáltatásnév létrehozásakor konfigurálja annak hozzáférését és engedélyeit az Azure-erőforrásokhoz, például a tárolóregisztrációs adatbázishoz. Az Azure CLI-t használó példaszkriptért lásd: Azure Container Registry hitelesítés szolgáltatásnevekkel.

Felhasználók és szolgáltatások megkülönböztetése

Az engedélyek alkalmazásakor az ajánlott eljárás az, ha egy adott személy vagy szolgáltatás számára a legszűkebb engedélyeket adja meg egy feladat végrehajtásához. Az alábbi engedélykészletek olyan képességeket jelölnek, amelyeket az emberek és a fej nélküli szolgáltatások használhatnak.

CI/CD-megoldások

A CI/CD-megoldások parancsainak automatizálásakor docker build képességekre van szükség docker push . Ezekben a fej nélküli szolgáltatási forgatókönyvekben az AcrPush szerepkör hozzárendelését javasoljuk. Ez a szerepkör a szélesebb körű Közreműködő szerepkörtől eltérően megakadályozza, hogy a fiók más beállításjegyzék-műveleteket végezzen, vagy hozzáférjen az Azure Resource Manager.

Tárológazdacsomópontok

Hasonlóképpen, a tárolókat futtató csomópontoknak az AcrPull szerepkörre van szükségük, de nem igényelnek olvasói képességeket.

Visual Studio Code Docker-bővítmény

Az olyan eszközök esetében, mint a Visual Studio Code Docker-bővítmény, további erőforrás-szolgáltatói hozzáférésre van szükség az elérhető Azure-tárolóregisztrációs adatbázisok listázásához. Ebben az esetben biztosítson hozzáférést a felhasználóknak az Olvasó vagy a Közreműködő szerepkörhöz. Ezek a szerepkörök lehetővé teszik docker pulla , docker push, az acr list, az acr buildés egyéb képességeket.

Access-Resource Manager

Azure Resource Manager hozzáférésre van szükség az Azure CLI-vel történő Azure Portal és beállításjegyzék-felügyelethez. Ha például a parancs használatával szeretné lekérni a az acr list regisztrációs adatbázisok listáját, ehhez az engedélykészletre van szükség.

Beállításjegyzék létrehozása és törlése

Az Azure-tárolóregisztrációs adatbázisok létrehozásának és törlésének lehetősége.

Leküldéses kép

A rendszerképek leküldése docker push vagy egy másik támogatott összetevő , például a Helm-diagram leküldése egy beállításjegyzékbe. Hitelesítést igényel a beállításjegyzékben az engedélyezett identitás használatával.

Lekéréses kép

docker pull Nem karanténba helyezett rendszerképek, vagy egy másik támogatott összetevő, például egy Helm-diagram lekérése egy beállításjegyzékből. Hitelesítést igényel a beállításjegyzékben az engedélyezett identitás használatával.

Képadatok törlése

Tárolórendszerképek vagy más támogatott összetevők, például Helm-diagramok törlése a beállításjegyzékből.

Szabályzatok módosítása

A szabályzatok beállításjegyzékben való konfigurálásának lehetősége. A szabályzatok közé tartozik a kép végleges törlése, a karantén engedélyezése és a képaláírás.

Képek aláírása

A rendszerképek aláírásának képessége, amely általában egy automatizált folyamathoz van rendelve, amely szolgáltatásnevet használna. Ezt az engedélyt általában leküldéses rendszerképpel kombinálják, hogy lehetővé tegyék a megbízható rendszerképek beállításjegyzékbe való leküldését. Részletekért lásd: Tartalommegbízhatóság Azure Container Registry.

Egyéni szerepkörök

A többi Azure-erőforráshoz hasonlóan egyéni szerepköröket is létrehozhat részletesen Azure Container Registry. Ezután rendelje hozzá az egyéni szerepköröket azokhoz a felhasználókhoz, szolgáltatásnevekhez vagy más identitásokhoz, amelyeknek egy beállításjegyzékkel kell kommunikálniuk.

Az egyéni szerepkörre alkalmazandó engedélyek meghatározásához tekintse meg a Microsoft.ContainerRegistry műveletek listáját, tekintse át a beépített ACR-szerepkörök engedélyezett műveleteit, vagy futtassa a következő parancsot:

az provider operation show --namespace Microsoft.ContainerRegistry

Egyéni szerepkör definiálásához lásd: Egyéni szerepkör létrehozásának lépései.

Megjegyzés

Az Azure Resource Manager privát kapcsolattal konfigurált bérlőkben a Azure Container Registry támogatja az olyan helyettesítő karaktereket, mint az Microsoft.ContainerRegistry/*/read egyéni Microsoft.ContainerRegistry/registries/*/write szerepkörök, és hozzáférést biztosítanak az összes egyező művelethez. Arm privát kapcsolat nélküli bérlőben egyéni szerepkörben adja meg egyenként az összes szükséges beállításjegyzék-műveletet.

Példa: Egyéni szerepkör képek importálásához

Az alábbi JSON például meghatározza az egyéni szerepkörök minimális műveleteit, amelyek lehetővé teszik a rendszerképek beállításjegyzékbe való importálását .

{
   "assignableScopes": [
     "/subscriptions/<optional, but you can limit the visibility to one or more subscriptions>"
   ],
   "description": "Can import images to registry",
   "Name": "AcrImport",
   "permissions": [
     {
       "actions": [
         "Microsoft.ContainerRegistry/registries/push/write",
         "Microsoft.ContainerRegistry/registries/pull/read",
         "Microsoft.ContainerRegistry/registries/read",
         "Microsoft.ContainerRegistry/registries/importImage/action"
       ],
       "dataActions": [],
       "notActions": [],
       "notDataActions": []
     }
   ],
   "roleType": "CustomRole"
 }

Egyéni szerepkör JSON-leírással történő létrehozásához vagy frissítéséhez használja az Azure CLI-t, az Azure Resource Manager sablont, Azure PowerShell vagy más Azure-eszközöket. Az egyéni szerepkörök szerepkör-hozzárendeléseinek hozzáadása vagy eltávolítása ugyanúgy történik, mint a beépített Azure-szerepkörök szerepkör-hozzárendeléseinek kezelése.

Következő lépések