Concedere a un'applicazione di Service Fabric l'accesso alle risorse di Azure in un cluster di Service Fabric
Prima che un'applicazione possa usare l'identità gestita per accedere ad altre risorse, concedere le autorizzazioni a tale identità per la risorsa di Azure protetta a cui si accede. La concessione delle autorizzazioni è in genere un'azione di gestione sul piano di controllo del servizio di Azure proprietario della risorsa protetta instradata da Azure Resource Manager. Tale servizio applica qualsiasi controllo degli accessi in base al ruolo applicabile.
La sequenza esatta di passaggi dipende dal tipo di risorsa di Azure a cui si accede e dalla lingua e dal client usati per concedere le autorizzazioni. Questo articolo presuppone un'identità assegnata dall'utente assegnata all'applicazione e include diversi esempi. Per istruzioni aggiornate sulla concessione delle autorizzazioni, vedere la documentazione dei rispettivi servizi di Azure.
Concedere l'accesso a Archiviazione di Azure
È possibile usare l'identità gestita dell'applicazione di Service Fabric, assegnata dall'utente in questo caso, per ottenere i dati da un BLOB di archiviazione di Azure. Concedere all'identità le autorizzazioni necessarie nel portale di Azure attenendosi alla procedura seguente:
- Passare all'account di archiviazione
- Selezionare il collegamento Controllo di accesso (IAM) nel pannello sinistro.
- (Facoltativo) Controllare l'accesso esistente: selezionare Identità gestita assegnata dal sistema o Assegnata dall'utente nel controllo Trova . Selezionare l'identità appropriata dall'elenco dei risultati risultante.
- Selezionare Aggiungi aggiungi>assegnazione di ruolo nella parte superiore della pagina per aggiungere una nuova assegnazione di ruolo per l'identità dell'applicazione.
- In Ruolo selezionare Lettore dati BLOB di archiviazione nell'elenco a discesa.
- Nell'elenco a discesa successivo, in Assegna accesso a, scegliere Identità gestita assegnata dall'utente.
- Assicurarsi quindi che la sottoscrizione appropriata sia elencata nell'elenco a discesa Sottoscrizione e quindi impostare Gruppo di risorse su Tutti i gruppi di risorse.
- In Seleziona scegliere l'interfaccia utente corrispondente all'applicazione di Service Fabric e quindi selezionare Salva.
Il supporto per le identità gestite di Service Fabric assegnate dal sistema non include l'integrazione nella portale di Azure. Se l'applicazione usa un'identità assegnata dal sistema, trovare l'ID client dell'identità dell'applicazione e quindi ripetere i passaggi precedenti, ma selezionando l'opzione Utente, gruppo o entità servizio Microsoft Entra nel controllo Trova .
Concedere l'accesso ad Azure Key Vault
Analogamente all'accesso all'archiviazione, è possibile usare l'identità gestita di un'applicazione di Service Fabric per accedere a un insieme di credenziali delle chiavi di Azure. I passaggi per concedere l'accesso nel portale di Azure sono simili ai passaggi elencati in precedenza.
L'esempio seguente illustra la concessione dell'accesso a un insieme di credenziali usando una distribuzione di modelli. Aggiungere i frammenti di codice seguenti come un'altra voce sotto l'elemento resources
del modello. L'esempio illustra la concessione dell'accesso rispettivamente per i tipi di identità assegnati dall'utente e assegnati dal sistema. Scegliere quello applicabile.
# under 'variables':
"variables": {
"userAssignedIdentityResourceId" : "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName'))]",
}
# under 'resources':
{
"type": "Microsoft.KeyVault/vaults/accessPolicies",
"name": "[concat(parameters('keyVaultName'), '/add')]",
"apiVersion": "2018-02-14",
"properties": {
"accessPolicies": [
{
"tenantId": "[reference(variables('userAssignedIdentityResourceId'), '2018-11-30').tenantId]",
"objectId": "[reference(variables('userAssignedIdentityResourceId'), '2018-11-30').principalId]",
"dependsOn": [
"[variables('userAssignedIdentityResourceId')]"
],
"permissions": {
"keys": ["get", "list"],
"secrets": ["get", "list"],
"certificates": ["get", "list"]
}
}
]
}
},
Per le identità gestite assegnate dal sistema:
# under 'variables':
"variables": {
"sfAppSystemAssignedIdentityResourceId": "[concat(resourceId('Microsoft.ServiceFabric/managedClusters/applications/', parameters('clusterName'), parameters('applicationName')), '/providers/Microsoft.ManagedIdentity/Identities/default')]"
}
# under 'resources':
{
"type": "Microsoft.KeyVault/vaults/accessPolicies",
"name": "[concat(parameters('keyVaultName'), '/add')]",
"apiVersion": "2018-02-14",
"properties": {
"accessPolicies": [
{
"name": "[concat(parameters('clusterName'), '/', parameters('applicationName'))]",
"tenantId": "[reference(variables('sfAppSystemAssignedIdentityResourceId'), '2018-11-30').tenantId]",
"objectId": "[reference(variables('sfAppSystemAssignedIdentityResourceId'), '2018-11-30').principalId]",
"dependsOn": [
"[variables('sfAppSystemAssignedIdentityResourceId')]"
],
"permissions": {
"secrets": [
"get",
"list"
],
"certificates":
[
"get",
"list"
]
}
},
]
}
}
Per altre informazioni, vedere Insiemi di credenziali - Aggiornare i criteri di accesso.