Azure golang SDK - Berikan peranan AcrPull kepada gugusan AKS

PHPz
Lepaskan: 2024-02-10 21:39:08
ke hadapan
299 orang telah melayarinya

Azure golang SDK - 将 AcrPull 角色分配给 AKS 群集

editor php Xinyi memperkenalkan kepada anda ciri penting dalam Azure golang SDK: memperuntukkan peranan AcrPull kepada gugusan AKS. Ciri ini boleh membantu pembangun mengurus dan menggunakan imej kontena dengan lebih mudah pada platform awan Azure. Dengan menggunakan SDK golang, pembangun boleh menetapkan peranan AcrPull dengan mudah kepada gugusan AKS, dengan itu membolehkan fungsi menarik dan menggunakan imej bekas peribadi dalam gugusan. Ini bukan sahaja meningkatkan kecekapan membangunkan dan menggunakan aplikasi kontena, tetapi juga meningkatkan keselamatan dan kebolehkawalan, memberikan pembangun pengalaman pengguna yang lebih baik.

Kandungan soalan

Selepas mencipta kluster AKS dan ACR, saya kini cuba memberikan peranan AcrPull secara pemrograman kepada kluster AKS. Pada masa ini saya cuba melakukan ini menggunakan fungsi RoleAssignmentsClient.Create() daripada SDK golang.

Ini yang saya cuba setakat ini:

<code>AcrPullDefinitionID := "/providers/Microsoft.Authorization/roleDefinitions/7f951dda-4ed3-4680-a7ca-43fe172d538d"
//         pulled that ^ off of: https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#acrpull

providerNamespace := "/providers/Microsoft.ContainerService/managedClusters/"

scope := "/subscriptions/" + subscriptionID + "/resourceGroups/" + resourceGroupName + providerNamespace + resourceName
res, err := raClient.Create(ctx, scope, roleAssigmentName, armauthorization.RoleAssignmentCreateParameters{
        Properties: &armauthorization.RoleAssignmentProperties{
            PrincipalID:      to.Ptr(clientID),
            PrincipalType:    to.Ptr(armauthorization.PrincipalTypeServicePrincipal),
            RoleDefinitionID: to.Ptr("/subscriptions/" + subscriptionID + AcrPullDefinitionID),
    },
}, nil)
</code>
Salin selepas log masuk

Apabila saya membuat panggilan dengan nilai di atas, saya mendapat ralat berikut:

for resource: {AKSClusterName} of type: /providers/Microsoft.ContainerService/managedClusters/
Unable to create roleAssignment: PUT https://management.azure.com/subscriptions/{subscriptionID}/resourceGroups/{resourceGroup}/providers/Microsoft.ContainerService/managedClusters/{AKSClusterName}/providers/Microsoft.Authorization/roleAssignments/providers/Microsoft.Authorization/roleDefinitions/7f951dda-4ed3-4680-a7ca-43fe172d538d
--------------------------------------------------------------------------------
RESPONSE 405: 405 Method Not Allowed
ERROR CODE UNAVAILABLE
--------------------------------------------------------------------------------
{
  "message": "The requested resource does not support http method 'PUT'."
}
--------------------------------------------------------------------------------
Salin selepas log masuk

Saya tidak pasti sama ada ini salah faham konsep atau saya hanya menggunakan API dengan salah.

Sebarang dan semua bantuan akan sangat dihargai. Terima kasih!

Penyelesaian

Julat yang anda tunjuk nampaknya tidak betul. Apabila menggunakan kebenaran RBAC, anda perlu menetapkan skop kepada sumber yang digunakan oleh dasar RBAC.

Jadi, jika anda menggunakan dasar RBAC untuk kluster AKS anda mempunyai AcrPull kebenaran, skop hendaklah ditetapkan kepada ID sumber Azure Container Registry.

Atas ialah kandungan terperinci Azure golang SDK - Berikan peranan AcrPull kepada gugusan AKS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!