Megosztás a következőn keresztül:


Felügyelt identitással rendelkező alkalmazás üzembe helyezése felügyelt Service Fabric-fürtön

Felügyelt identitással rendelkező Service Fabric-alkalmazás üzembe helyezéséhez az alkalmazást az Azure Resource Manageren keresztül kell üzembe helyezni, általában egy Azure Resource Manager-sablonnal. A Service Fabric-alkalmazás Azure Resource Manageren keresztüli üzembe helyezésével kapcsolatos további információkért lásd : Alkalmazás üzembe helyezése felügyelt fürtön az Azure Resource Manager használatával.

Feljegyzés

Az Azure-erőforrásként nem üzembe helyezett alkalmazások nem rendelkeznek felügyelt identitásokkal.

A Service Fabric-alkalmazások felügyelt identitással való üzembe helyezése a felügyelt fürtök API-verziójával "2021-05-01" támogatott.

Felügyelt fürtsablonok mintája itt érhető el: Service Fabric által felügyelt fürtsablonok

Felügyelt identitás támogatása a Service Fabric által felügyelt fürtön

Ha egy Service Fabric-alkalmazás felügyelt identitásokkal van konfigurálva az Azure-erőforrásokhoz , és a fürtön van üzembe helyezve, a felügyelt Service Fabric-fürtön aktiválja a Managed Identity Token Service automatikus konfigurációját. Ez a szolgáltatás felelős a Service Fabric-alkalmazások felügyelt identitások használatával történő hitelesítéséért, valamint a hozzáférési jogkivonatok nevében történő beszerzéséért. Ha a szolgáltatás engedélyezve van, a bal oldali panel Rendszer szakaszában, a Service Fabric Explorerben láthatja, amely a háló neve alatt fut:/System/ManagedIdentityTokenService.

Feljegyzés

Az alkalmazás felügyelt identitásokkal való első üzembe helyezésekor az automatikus fürtkonfiguráció módosítása miatt egy egyszeri hosszabb üzembe helyezésre kell számítania. Ez a zónaszintű fürtök esetében 15 perctől 45 percig tart egy zónán átnyúló fürt esetében. Ha más üzemelő példányok is vannak a repülés során, a felügyelt identitás konfigurációjának meg kell várnia, amíg azok befejeződnek.

Az alkalmazáserőforrás támogatja mind a SystemAssigned, mind a UserAssigned hozzárendelését, és a hozzárendelés elvégezhető az alábbi kódrészletben látható módon.

{
  "type": "Microsoft.ServiceFabric/managedclusters/applications",
  "apiVersion": "2021-05-01",
  "identity": {
    "type": "SystemAssigned",
    "userAssignedIdentities": {}
  },
}

Teljes JSON-referencia

Felhasználó által hozzárendelt identitás

A felhasználó által hozzárendelt identitással rendelkező alkalmazás engedélyezéséhez először adja hozzá az identitástulajdonságot az alkalmazáserőforráshoz userAssigned típussal és a hivatkozott felhasználó által hozzárendelt identitásokkal. Ezután vegyen fel egy managedIdentities szakaszt az alkalmazáserőforrás tulajdonságok szakaszába, amely a felhasználó által hozzárendelt identitások egyszerű neveit tartalmazza a principalId-leképezéshez. További információ a felhasználó által hozzárendelt identitásokról: Felhasználó által hozzárendelt felügyelt identitás létrehozása, listázása vagy törlése.

Alkalmazássablon

A felhasználó által hozzárendelt identitással rendelkező alkalmazás engedélyezéséhez először adja hozzá az identitástulajdonságot az alkalmazáserőforráshoz userAssigned típussal és a hivatkozott felhasználó által hozzárendelt identitásokkal, majd adjon hozzá egy managedIdentities objektumot a tulajdonságok szakaszon belül, amely tartalmazza a felhasználóbarát név listáját a felhasználó által hozzárendelt identitások principalId-leképezéséhez.

{
  "apiVersion": "2021-05-01",
  "type": "Microsoft.ServiceFabric/managedclusters/applications",
  "name": "[concat(parameters('clusterName'), '/', parameters('applicationName'))]",
  "location": "[resourceGroup().location]",
  "dependsOn": [
    "[parameters('applicationVersion')]",
    "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName'))]"
  ],
  "identity": {
    "type" : "userAssigned",
    "userAssignedIdentities": {
        "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName'))]": {}
    }
  },
  "properties": {
    "version": "[parameters('applicationVersion')]",
    "parameters": {
    },
    "managedIdentities": [
      {
        "name" : "[parameters('userAssignedIdentityName')]",
        "principalId" : "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName')), '2018-11-30').principalId]"
      }
    ]
  }
}

A fenti példában a felhasználó által hozzárendelt identitás erőforrásneve lesz használva az alkalmazás felügyelt identitásának rövid neveként. Az alábbi példák feltételezik, hogy a tényleges rövid név "Rendszergazda User".

Alkalmazáscsomag

  1. Az Azure Resource Manager-sablon szakaszában managedIdentities definiált összes identitáshoz adjon hozzá egy címkét <ManagedIdentity> az alkalmazásjegyzékben az Egyszerűk szakaszban. Az Name attribútumnak meg kell egyeznie a name szakaszban meghatározott tulajdonságmal managedIdentities .

    ApplicationManifest.xml

      <Principals>
        <ManagedIdentities>
          <ManagedIdentity Name="AdminUser" />
        </ManagedIdentities>
      </Principals>
    
  2. A ServiceManifestImport szakaszban adjon hozzá egy IdentityBindingPolicy-t a felügyelt identitást használó szolgáltatáshoz. Ez a szabályzat az AdminUser identitást egy szolgáltatásspecifikus identitásnévre képezi le, amelyet később hozzá kell adni a szolgáltatásjegyzékhez.

    ApplicationManifest.xml

      <ServiceManifestImport>
        <Policies>
          <IdentityBindingPolicy ServiceIdentityRef="WebAdmin" ApplicationIdentityRef="AdminUser" />
        </Policies>
      </ServiceManifestImport>
    
  3. Frissítse a szolgáltatásjegyzéket úgy, hogy hozzáadjon egy ManagedIdentitást az Erőforrások szakaszban az alkalmazásjegyzékben szereplő IdentityBindingPolicy névvel:ServiceIdentityRef

    ServiceManifest.xml

      <Resources>
        ...
        <ManagedIdentities DefaultIdentity="WebAdmin">
          <ManagedIdentity Name="WebAdmin" />
        </ManagedIdentities>
      </Resources>
    

Rendszer által hozzárendelt felügyelt identitás

Alkalmazássablon

Ha rendszer által hozzárendelt felügyelt identitással szeretné engedélyezni az alkalmazást, adja hozzá az identitástulajdonságot az alkalmazáserőforráshoz a systemAssigned típussal az alábbi példában látható módon:

    {
      "apiVersion": "2021-05-01",
      "type": "Microsoft.ServiceFabric/managedclusters/applications",
      "name": "[concat(parameters('clusterName'), '/', parameters('applicationName'))]",
      "location": "[resourceGroup().location]",
      "dependsOn": [
        "[concat('Microsoft.ServiceFabric/clusters/', parameters('clusterName'), '/applicationTypes/', parameters('applicationTypeName'), '/versions/', parameters('applicationTypeVersion'))]"
      ],
      "identity": {
        "type" : "systemAssigned"
      },
      "properties": {
        "typeName": "[parameters('applicationTypeName')]",
        "typeVersion": "[parameters('applicationTypeVersion')]",
        "parameters": {
        }
      }
    }

Ez a tulajdonság deklarálja (az Azure Resource Manager, illetve a felügyelt identitás- és Service Fabric-erőforrás-szolgáltatók számára), hogy ennek az erőforrásnak implicit (system assigned) felügyelt identitással kell rendelkeznie.

Alkalmazás- és szolgáltatáscsomag

  1. Frissítse az alkalmazásjegyzéket úgy, hogy hozzáadjon egy ManagedIdentity elemet a Principals szakaszhoz, amely egyetlen bejegyzést tartalmaz az alábbiak szerint:

    ApplicationManifest.xml

    <Principals>
      <ManagedIdentities>
        <ManagedIdentity Name="SystemAssigned" />
      </ManagedIdentities>
    </Principals>
    

    Ez leképezi az alkalmazáshoz hozzárendelt identitást egy felhasználóbarát névre, és további hozzárendelést biztosít az alkalmazást alkotó szolgáltatásokhoz.

  2. A felügyelt identitáshoz rendelt szolgáltatásnak megfelelő ServiceManifestImport szakaszban adjon hozzá egy IdentityBindingPolicy elemet az alábbiak szerint:

    ApplicationManifest.xml

      <ServiceManifestImport>
        <Policies>
          <IdentityBindingPolicy ServiceIdentityRef="WebAdmin" ApplicationIdentityRef="SystemAssigned" />
        </Policies>
      </ServiceManifestImport>
    

    Ez az elem hozzárendeli az alkalmazás identitását a szolgáltatáshoz; a hozzárendelés nélkül a szolgáltatás nem fog tudni hozzáférni az alkalmazás identitásához. A fenti kódrészletben az SystemAssigned identitás (amely egy fenntartott kulcsszó) a szolgáltatás definíciójára van leképezve a rövid név WebAdminalatt.

  3. Frissítse a szolgáltatásjegyzéket úgy, hogy hozzáadjon egy ManagedIdentity elemet az Erőforrások szakaszban az alkalmazásjegyzékben szereplő definícióban IdentityBindingPolicy szereplő beállítás értékének ServiceIdentityRef megfelelő névvel:

    ServiceManifest.xml

      <Resources>
        ...
        <ManagedIdentities DefaultIdentity="WebAdmin">
          <ManagedIdentity Name="WebAdmin" />
        </ManagedIdentities>
      </Resources>
    

    Ez az identitásnak a fent leírt, de a szolgáltatásdefiníció szempontjából megfelelő leképezése egy szolgáltatáshoz. Az identitásra az alkalmazásjegyzékben deklarált rövid neve (WebAdmin) hivatkozik.

Következő lépések