Azure-szerepkör-hozzárendelési feltételek hozzáadása vagy szerkesztése az Azure CLI használatával

Az Azure-szerepkör-hozzárendelési feltétel egy további ellenőrzés, amelyet igény szerint hozzáadhat a szerepkör-hozzárendeléshez, hogy részletesebb hozzáférés-vezérlést biztosítson. Hozzáadhat például egy feltételt, amely megköveteli, hogy egy objektum egy adott címkével rendelkezzen az objektum olvasásához. Ez a cikk bemutatja, hogyan adhat hozzá, szerkeszthet, listázhat vagy törölhet feltételeket a szerepkör-hozzárendelésekhez az Azure CLI használatával.

Előfeltételek

A szerepkör-hozzárendelési feltételek hozzáadásának vagy szerkesztésének előfeltételeiről további információt a Feltételek előfeltételei című témakörben talál.

Feltétel hozzáadása

Szerepkör-hozzárendelési feltétel hozzáadásához használja az az role assignment create parancsot. Az az role assignment create parancs a feltételekhez kapcsolódó alábbi paramétereket tartalmazza.

Paraméter Típus Description
condition Sztring Az a feltétel, amely alatt a felhasználó engedélyt kaphat.
condition-version Sztring A feltétel szintaxisának verziója. Ha --condition nincs --condition-versionmegadva, akkor a verzió alapértelmezett értéke 2.0.

Az alábbi példa bemutatja, hogyan rendelheti hozzá a Storage Blob-adatolvasó szerepkört egy feltételhez. A feltétel ellenőrzi, hogy a tároló neve "blob-example-container" értékű-e.

az role assignment create --role "Storage Blob Data Reader" --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName --assignee "user1@contoso.com" \
--description "Read access if container name equals blobs-example-container" \
--condition "((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container'))" \
--condition-version "2.0"

Az alábbiakban egy példa látható a kimenetre:

{
    "canDelegate": null,
    "condition": "((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container'))",
    "conditionVersion": "2.0",
    "description": "Read access if container name equals blobs-example-container",
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
    "name": "{roleAssignmentId}",
    "principalId": "{userObjectId}",
    "principalType": "User",
    "resourceGroup": "{resourceGroup}",
    "roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
    "scope": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}",
    "type": "Microsoft.Authorization/roleAssignments"
}

Feltétel szerkesztése

Meglévő szerepkör-hozzárendelési feltétel szerkesztéséhez használja az az szerepkör-hozzárendelés frissítését és egy JSON-fájlt bemenetként. Az alábbiakban egy JSON-példafájl látható, amelyben a feltétel és a leírás frissül. Csak a condition, conditionVersionés description a tulajdonságok szerkeszthetők. Meg kell adnia az összes tulajdonságot a szerepkör-hozzárendelési feltétel frissítéséhez.

{
    "canDelegate": null,
    "condition": "((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container' OR @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container2'))",
    "conditionVersion": "2.0",
    "description": "Read access if container name equals blobs-example-container or blobs-example-container2",
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
    "name": "{roleAssignmentId}",
    "principalId": "{userObjectId}",
    "principalType": "User",
    "resourceGroup": "{resourceGroup}",
    "roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
    "scope": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}",
    "type": "Microsoft.Authorization/roleAssignments"
}

A szerepkör-hozzárendelés feltételének frissítéséhez használja az az szerepkör-hozzárendelés frissítését .

az role assignment update --role-assignment "./path/roleassignment.json"

Az alábbiakban egy példa látható a kimenetre:

{
    "canDelegate": null,
    "condition": "((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container' OR @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container2'))",
    "conditionVersion": "2.0",
    "description": "Read access if container name equals blobs-example-container or blobs-example-container2",
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
    "name": "{roleAssignmentId}",
    "principalId": "{userObjectId}",
    "principalType": "User",
    "resourceGroup": "{resourceGroup}",
    "roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
    "scope": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}",
    "type": "Microsoft.Authorization/roleAssignments"
}

Feltétel listázása

Szerepkör-hozzárendelési feltétel listázásához használja az az role assignment list(szerepkör-hozzárendelési listát). További információ: Azure-szerepkör-hozzárendelések listázása az Azure CLI használatával.

Feltétel törlése

Szerepkör-hozzárendelési feltétel törléséhez szerkessze a szerepkör-hozzárendelés feltételét, és állítsa be a condition tulajdonságokat condition-version üres sztringre ("") vagy null.

Ha a szerepkör-hozzárendelést és a feltételt is törölni szeretné, használhatja az az role assignment delete parancsot. For more information, see Remove Azure role assignments.

Következő lépések