Bagikan melalui


Memberi aplikasi Service Fabric akses ke sumber daya Azure lainnya pada kluster Service Fabric

Agar aplikasi dapat menggunakan identitas terkelolanya untuk mengakses sumber daya lain, berikan izin kepada identitas tersebut untuk mengakses sumber daya Azure yang dilindungi. Pemberian izin biasanya merupakan tindakan manajemen pada sarana kontrol layanan Azure yang memiliki sumber daya terlindungi yang dirutekan oleh Azure Resource Manager. Layanan tersebut memberlakukan pemeriksaan akses berbasis peran yang relevan.

Urutan langkah yang tepat akan bergantung pada jenis sumber daya Azure yang diakses, serta bahasa dan klien yang digunakan untuk memberi izin. Artikel ini mengasumsikan identitas yang ditetapkan pengguna yang ditetapkan ke aplikasi dan menyertakan beberapa contoh. Lihat dokumentasi layanan Azure masing-masing untuk mengetahui instruksi terbaru tentang pemberian izin.

Memberi akses ke Azure Storage

Anda dapat menggunakan identitas terkelola dari aplikasi Service Fabric, yang dalam kasus ini, merupakan identitas yang ditetapkan pengguna, untuk mengambil data dari blob penyimpanan Azure. Berikan izin yang diperlukan kepada identitas tersebut di portal Azure dengan langkah-langkah berikut:

  1. Lakukan navigasi ke akun penyimpanan.
  2. Klik tautan Kontrol Akses (IAM) di panel kiri.
  3. (Opsional) Periksa akses yang ada: pilih Identitas terkelola yang Ditetapkan sistem atau Ditetapkan pengguna pada kontrol Temukan. Pilih identitas yang sesuai dari daftar hasil yang muncul.
  4. Klik Tambahkan>Tambahkan penetapan peran pada bagian atas halaman untuk menambahkan penetapan peran baru bagi identitas aplikasi.
  5. Di bagian Peran, dari daftar dropdown, pilih Pembaca Data Blob Penyimpanan.
  6. Dalam daftar dropdown berikutnya, di bagian Tetapkan akses ke, pilih Identitas terkelola yang ditetapkan pengguna.
  7. Berikutnya, pastikan langganan yang tepat tercantum dalam daftar dropdown Langganan, lalu atur Grup Sumber Daya menjadi Semua grup sumber daya.
  8. Di bagian Pilih, pilih UAI yang sesuai dengan aplikasi Service Fabric, lalu pilih Simpan.

Dukungan untuk identitas terkelola Service Fabric yang ditetapkan sistem tidak menyertakan integrasi di portal Azure. Jika aplikasi Anda menggunakan identitas yang ditetapkan sistem, temukan ID klien identitas aplikasi, lalu ulangi langkah-langkah di atas tetapi memilih opsi pengguna, grup, atau perwakilan layanan Microsoft Entra di kontrol Temukan .

Memberi akses ke Azure Key Vault

Demikian pula dengan mengakses penyimpanan, Anda dapat menggunakan identitas terkelola dari aplikasi Service Fabric untuk mengakses Azure Key Vault. Langkah-langkah untuk memberikan akses di portal Azure mirip dengan yang tercantum di atas. Lihat gambar berikut untuk melihat perbedaannya.

Cuplikan layar memperlihatkan Key Vault dengan kebijakan Akses dipilih.

Contoh berikut mengilustrasikan pemberian akses ke vault dengan menggunakan penyebaran templat. Tambahkan cuplikan di bawah ini sebagai entri lain di bagian elemen resources pada templat. Sampel ini mendemonstrasikan pemberian akses baik bagi jenis identitas yang ditetapkan pengguna maupun yang ditetapkan sistem. Pilih yang relevan.

    # 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"]
                    }
                }
            ]
        }
    },

Untuk identitas terkelola yang ditetapkan sistem:

    # 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"
                        ]
                    }
            },
        ]
        }
    }

Untuk mengetahui informasi lebih lanjut, baca Vault - Memperbarui Kebijakan Akses.

Langkah berikutnya