Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Note
Azure controllo degli accessi in base al ruolo per Key Vault è disponibile in anteprima. Alcuni aspetti potrebbero cambiare prima della disponibilità generale. Per le condizioni di anteprima, vedere le condizioni supplementari per l'utilizzo.
Questo articolo descrive le azioni, gli attributi e gli operatori supportati che è possibile usare in condizioni per le assegnazioni di ruolo Azure per Azure Key Vault. Per una panoramica del funzionamento delle condizioni di assegnazione dei ruoli, vedere Che cos'è Azure controllo degli accessi in base all'attributo (Azure ABAC)?. Per l'elenco di Key Vault azioni sui dati che influiscono su un'autorizzazione specifica, vedere il controllo degli accessi in base al ruolo Azure per Key Vault guida operativa del piano dati.
Overview
Azure controllo degli accessi in base al ruolo per Key Vault si basa su Azure controllo degli accessi in base al ruolo aggiungendo condizioni alle assegnazioni di ruolo. Azure valuta ogni condizione in fase di esecuzione rispetto agli attributi della risorsa a cui si accede o alla richiesta in ingresso e consente o nega la richiesta in base agli operatori di confronto.
I vantaggi dell'uso delle condizioni di assegnazione di ruolo per Key Vault sono:
- Accesso più dettagliato ai segreti. Limitare un'entità ai segreti i cui nomi corrispondono a un modello specifico (ad esempio,
app-*oteam-prod-*) o a insiemi di credenziali delle chiavi specifici in base al nome dell'insieme di credenziali. - Meno assegnazioni di ruolo da gestire. Usare un'assegnazione di ruolo a condizione singola per un gruppo di sicurezza anziché molte assegnazioni singole che modellano le stesse autorizzazioni. Il controllo degli accessi in base al ruolo consente di ridimensionare la gestione dei ruoli: non concede autorizzazioni che un'assegnazione di ruolo non concede già.
- Estende il controllo degli accessi in base al ruolo di Azure esistente. Livelli di controllo degli accessi in base al ruolo sopra le assegnazioni di ruolo esistenti. Non è necessario sostituire il controllo degli accessi in base al ruolo per usarlo.
In questa anteprima, il controllo degli accessi in base al ruolo per Key Vault si applica solo alle azioni di dati segrete e supporta due attributi: il nome dell'insieme di credenziali e il nome del segreto. Le azioni chiave dei dati, le azioni dei dati del certificato, gli attributi basati su tag, gli attributi del token e le condizioni predefinite Key Vault controllo degli accessi in base al ruolo non sono incluse.
Per usare le condizioni del controllo degli accessi in base al ruolo, è necessario impostare il modello di autorizzazione dell'insieme di credenziali delle chiavi su Azure controllo degli accessi in base al ruolo. Per informazioni generali, vedere Azure controllo degli accessi in base al ruolo e Preparare l'API Key Vault versione 2026-02-01 e successive.
Formato della condizione
Le condizioni usano il formato generale seguente:
@Resource[<ResourceType>:<AttributeName>] <Operator> '<Value>'
| Componente | Description |
|---|---|
@Resource |
Fa riferimento a un attributo della risorsa a cui si accede. Usare @Request quando l'attributo descrive la richiesta in ingresso, ad esempio il nome di un segreto che non esiste ancora. |
ResourceType |
Tipo di risorsa Azure Resource Manager. Per Key Vault in questa anteprima, Microsoft.KeyVault/vaults o Microsoft.KeyVault/vaults/secrets. |
AttributeName |
Attributo specifico da valutare. In questa anteprima è name l'unico attributo supportato. |
Operator |
Operatore di confronto. Vedere Operatori supportati. |
Value |
Valore letterale da confrontare. |
La versione della condizione deve essere impostata su 2.0. Per la grammatica completa, vedere Azure formato e sintassi della condizione di assegnazione di ruolo.
Operatori supportati
Azure Key Vault condizioni del controllo degli accessi in base al ruolo supportano tutti gli operatori di confronto delle stringhe definiti nel formato di condizione ABAC Azure. Per l'elenco completo degli operatori e il relativo comportamento, vedere Operatori di confronto tra stringhe.
Note
Azure operatori di confronto di stringhe ABAC includono varianti con distinzione tra maiuscole e minuscole, ma Key Vault nomi di insiemi di credenziali e nomi di oggetti non fanno distinzione tra maiuscole e minuscole. Di conseguenza, la corrispondenza con distinzione tra maiuscole e minuscole non si applica alle condizioni del controllo degli accessi in base al ruolo di Key Vault. Usare i valori minuscoli nelle condizioni: un valore contenente caratteri maiuscoli non corrisponde ad alcun insieme di credenziali o nome segreto.
azioni Azure Key Vault
È possibile applicare le condizioni del controllo degli accessi in base al ruolo ai seguenti Key Vault azioni di dati segreti. Ogni sottosezione descrive l'azione, l'oggetto DataAction sottostante, l'origine dell'attributo valutata (Resource o Request) e una condizione di esempio.
Ottenere il segreto
| Proprietà | Value |
|---|---|
| Nome visualizzato | Ottenere il segreto |
| Description | Consente di ottenere il valore di un segreto. |
| DataAction | Microsoft.KeyVault/vaults/secrets/getSecret/action |
| Attributi della risorsa | Nome segreto |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app' |
Leggere i metadati dei segreti
| Proprietà | Value |
|---|---|
| Nome visualizzato | Leggere i metadati dei segreti |
| Description | Elenca o visualizza le proprietà di un segreto, ma non il relativo valore. |
| DataAction | Microsoft.KeyVault/vaults/secrets/readMetadata/action |
| Attributi della risorsa | Nome segreto |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/readMetadata/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'api-' |
Avvertimento
Include readMetadata/action sia il recupero delle proprietà di un singolo segreto (che contiene un nome segreto) che l'elenco dei segreti in un insieme di credenziali (una chiamata di raccolta senza nome per segreto). Il controllo degli accessi in base al ruolo valuta una condizione per azione, non riga per riga rispetto ai risultati dell'elenco, pertanto una condizione nome segreto in readMetadata/action non riesce la chiamata all'elenco con un errore 403. L'attributo name non è presente nella richiesta di raccolta e non può corrispondere. Questo comportamento viene visualizzato nel pannello Segreti del portale come elenco vuoto.
Se si desidera che un'entità visualizzi ogni nome segreto nell'elenco, ma che apra solo i valori corrispondenti a un criterio, non controllare readMetadata/action. Concedere invece readMetadata/action in modo incondizionato e applicare la condizione secret-name a getSecret/action. Vedere l'esempio Limitare l'accesso in lettura ai segreti con un prefisso del nome .
Imposta segreto
| Proprietà | Value |
|---|---|
| Nome visualizzato | Imposta segreto |
| Description | Imposta il valore di un segreto. Se il segreto non esiste, viene creata la prima versione. In caso contrario, viene creata una nuova versione con il valore specificato. |
| DataAction | Microsoft.KeyVault/vaults/secrets/setSecret/action |
| Attributi richiesta | Nome segreto |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/setSecret/action'}) OR @Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Aggiornare il segreto
| Proprietà | Value |
|---|---|
| Nome visualizzato | Aggiornare il segreto |
| Description | Aggiorna gli attributi associati al segreto specificato. |
| DataAction | Microsoft.KeyVault/vaults/secrets/update/action |
| Attributi della risorsa | Nome segreto |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/update/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Eliminare un segreto
| Proprietà | Value |
|---|---|
| Nome visualizzato | Eliminare un segreto |
| Description | Elimina un segreto. Tutte le versioni vengono eliminate. |
| DataAction | Microsoft.KeyVault/vaults/secrets/delete |
| Attributi della risorsa | Nome segreto |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/delete'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'temp-' |
Segreto di backup
| Proprietà | Value |
|---|---|
| Nome visualizzato | Segreto di backup |
| Description | Crea il file di backup di un segreto. Il file può essere usato per ripristinare il segreto in un insieme di credenziali delle chiavi della stessa sottoscrizione. Potrebbero essere applicate restrizioni. |
| DataAction | Microsoft.KeyVault/vaults/secrets/backup/action |
| Attributi della risorsa | Nome segreto |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/backup/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'critical-' |
Ripristinare il segreto
| Proprietà | Value |
|---|---|
| Nome visualizzato | Ripristinare il segreto |
| Description | Ripristina un segreto e tutte le relative versioni da un file di backup generato da Key Vault. |
| DataAction | Microsoft.KeyVault/vaults/secrets/restore/action |
| Attributi richiesta | Nome segreto |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/restore/action'}) OR @Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Ripristinare il segreto
| Proprietà | Value |
|---|---|
| Nome visualizzato | Ripristinare il segreto |
| Description | Recupera un segreto eliminato. L'operazione esegue l'inversione dell'operazione di eliminazione ed è applicabile negli insiemi di credenziali abilitati per l'eliminazione temporanea. |
| DataAction | Microsoft.KeyVault/vaults/secrets/recover/action |
| Attributi della risorsa | Nome segreto |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/recover/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Ripulisci il segreto
| Proprietà | Value |
|---|---|
| Nome visualizzato | Ripulisci il segreto |
| Description | Elimina un segreto eliminato, rendendolo irreversibile. |
| DataAction | Microsoft.KeyVault/vaults/secrets/purge/action |
| Attributi della risorsa | Nome segreto |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/purge/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'old-' |
Origini degli attributi
Gli attributi descrivono le proprietà valutate in fase di richiesta. Gli attributi delle risorse descrivono la risorsa a cui si accede. Gli attributi della richiesta di richiesta descrivono la richiesta in ingresso quando la risorsa potrebbe non esistere ancora (ad esempio, durante setSecret o restore).
Nome del vault
Usare questo attributo per definire l'ambito dell'accesso agli insiemi di credenziali delle chiavi i cui nomi corrispondono a un determinato modello. Quando si applica una condizione nell'ambito della sottoscrizione o del gruppo di risorse, Azure valuta il nome dell'insieme di credenziali per ogni insieme di credenziali a cui l'entità tenta di accedere.
| Proprietà | Value |
|---|---|
| Nome visualizzato | Nome del vault |
| Description | Nome dell'insieme di credenziali delle chiavi a cui si accede. |
| Attribute | Microsoft.KeyVault/vaults:name |
| Origine attributo | Resource |
| Tipo di attributo | Stringa |
| Azioni applicabili | Tutte le azioni dei dati segreti Key Vault (attributo globale) |
Condizioni di esempio:
@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'prod-'
@Resource[Microsoft.KeyVault/vaults:name] StringEquals 'sample-vault'
@Resource[Microsoft.KeyVault/vaults:name] StringLike 'team-*-prod'
Nome segreto (risorsa)
Usare questo attributo quando il segreto esiste già in fase di valutazione.
| Proprietà | Value |
|---|---|
| Nome visualizzato | Nome segreto |
| Description | Nome del segreto a cui si accede. |
| Attribute | Microsoft.KeyVault/vaults/secrets:name |
| Origine attributo | Resource |
| Tipo di attributo | Stringa |
| Azioni applicabili |
getSecret/action, readMetadata/action, update/action, deletebackup/action, , recover/actionpurge/action |
Condizioni di esempio:
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app'
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringLike 'api-key-*'
Nome segreto (richiesta)
Usare questo attributo quando il segreto potrebbe non esistere ancora in fase di valutazione, ad esempio durante la creazione o il ripristino.
| Proprietà | Value |
|---|---|
| Nome visualizzato | Nome segreto (richiesta) |
| Description | Nome di un segreto richiesto. |
| Attribute | Microsoft.KeyVault/vaults/secrets:name |
| Origine attributo | Richiedi |
| Tipo di attributo | Stringa |
| Azioni applicabili |
setSecret/action, restore/action |
Condizioni di esempio:
@Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'
@Request[Microsoft.KeyVault/vaults/secrets:name] StringLike 'config-*'
Ruoli che supportano le condizioni del controllo degli accessi in base al ruolo
È possibile applicare condizioni del controllo degli accessi in base al ruolo che includono Key Vault segreto dataActions. I ruoli che contengono solo azioni del piano di controllo (ad esempio Proprietario o Amministratore criteri) non supportano le condizioni del controllo degli accessi in base al ruolo perché Azure valuta le condizioni esclusivamente sulle operazioni del piano dati. In questa anteprima, nessun ruolo predefinito include una condizione preassegnata Key Vault controllo degli accessi in base al ruolo. La condizione viene creata quando si crea l'assegnazione di ruolo.
I ruoli predefiniti seguenti includono le azioni dei dati segreti e supportano le condizioni di controllo degli accessi in base al ruolo in questa anteprima. Per le definizioni e gli ID completi dei ruoli, vedere Azure ruoli predefiniti per le operazioni del piano dati Key Vault.
| Ruolo | Description | ID | Supporto delle condizioni |
|---|---|---|---|
| Amministratore di Key Vault | Eseguire tutte le operazioni del data plane su un key vault e su tutti gli oggetti in esso contenuti. | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
Attributi di risorsa e richiesta per le operazioni segrete |
| Responsabile dei Segreti di Key Vault | Eseguire qualsiasi azione sui segreti. | b86a8fe4-44ce-4948-aee5-eccb2c155cd7 |
Attributi delle risorse sulle operazioni di lettura e ciclo di vita; Richiedere attributi su setSecret e restore operazioni |
| Utente dei segreti di Key Vault | Legge i contenuti dei segreti. | 4633458b-17de-408a-b874-0445c86b69e6 |
Attributi delle risorse nelle operazioni di lettura dei segreti |
| Lettore di Key Vault | Legge i metadati degli insiemi di credenziali e dei relativi oggetti. | 21090545-7ca7-4776-b22c-e363652d74d2 |
Attributi delle risorse per readMetadata/action un singolo segreto. Una condizione secret-name qui blocca le chiamate all'elenco; vedere l'avviso in Leggere i metadati dei segreti. |
| Utente di certificati di Key Vault | Legge i contenuti dei certificati. | db79e9a7-68ee-4b58-9aeb-b90e7c24fcba |
Attributi delle risorse in getSecret e readMetadata (i certificati vengono recuperati tramite l'endpoint segreto: il nome del segreto è uguale al nome del certificato) |
| Ruoli personalizzati | Qualsiasi definizione di ruolo personalizzata che include il segreto dataActions per Key Vault. |
- | Dipende dal segreto dataActions incluso |
Note
Solo i ruoli assegnati tramite Azure controllo degli accessi in base al ruolo (non i criteri di accesso dell'insieme di credenziali legacy) supportano le condizioni di controllo degli accessi in base al ruolo. L'insieme di credenziali delle chiavi deve avere il modello di autorizzazione impostato su Azure controllo degli accessi in base al ruolo. A partire dall'API versione 2026-02-01, Azure controllo degli accessi in base al ruolo è l'impostazione predefinita per gli insiemi di credenziali appena creati. Per altre informazioni, vedere Prepare per Key Vault API versione 2026-02-01 e successive.
Esempi di condizioni
Negli esempi seguenti vengono illustrati i modelli di controllo degli accessi in base al ruolo comuni per i segreti di Key Vault. Per altre informazioni sulla sintassi della condizione, vedere Azure formato e sintassi della condizione di assegnazione di ruolo.
Esempio: Limitare l'accesso in lettura ai segreti con un prefisso del nome
Consentire a un'entità di leggere solo i segreti i cui nomi iniziano con test-app:
- Ruolo: Utente dei segreti di Key Vault
- Ambito: risorsa dell'insieme di credenziali delle chiavi
- Condizione:
(
!(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'})
OR
(
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app'
)
)
Comportamento:
- Consentito: lettura
test-app-secret1di . - Negato (
ForbiddenByRbac): lettura ditest-db-password.
Esempio: Limitare l'accesso ai segreti in insiemi di credenziali specifici in base al prefisso del nome dell'insieme di credenziali
Consentire a un'entità di leggere i segreti solo negli insiemi di credenziali i cui nomi iniziano con kv-prod:
- Ruolo: Utente dei segreti di Key Vault
- Ambito: Sottoscrizione
- Condizione:
@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'kv-prod'
Comportamento:
- Consentito: accesso a
kv-prod-1. - Negato: accesso a
test-kv.
Esempio: Limitare i segreti appena creati a un prefisso del nome
Consentire a un'entità di creare segreti solo quando il nome del segreto inizia con app-. Poiché il segreto non esiste ancora in fase di valutazione, usare l'attributo Request:
- Ruolo: Key Vault Secret Officer
- Ambito: risorsa dell'insieme di credenziali delle chiavi
- Condizione:
(
!(ActionMatches{'Microsoft.KeyVault/vaults/secrets/setSecret/action'})
OR
(
@Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'
)
)
Esempio: Combinare le condizioni dell'insieme di credenziali e del nome del segreto
Limitare un'entità per leggere solo i segreti che iniziano con api- negli insiemi di credenziali i cui nomi iniziano con kv-prod:
- Ruolo: Utente dei segreti di Key Vault
- Ambito: Sottoscrizione
- Condizione:
(
!(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'})
OR
(
@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'kv-prod'
AND
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'api-'
)
)
Contenuti correlati
- Aggiungere condizioni di assegnazione di ruolo per i segreti Key Vault usando interfaccia della riga di comando di Azure (anteprima)
- Aggiungere condizioni di assegnazione di ruolo per i segreti Key Vault usando Azure PowerShell (anteprima)
- Che cos'è il controllo degli accessi basato su attributi di Azure (Azure ABAC)?
- Formato e sintassi della condizione di assegnazione dei ruoli di Azure
- Fornire l'accesso a chiavi, certificati e segreti di Key Vault con Azure RBAC
- Risolvere i problemi relativi alle condizioni di assegnazione dei ruoli di Azure
- Risolvere i problemi di accesso a Key Vault
- Prepararsi per Key Vault API versione 2026-02-01 e successive