Hızlı Başlangıç: Go ile yönetim grubu oluşturma

Yönetim grupları, birden çok abonelikte erişimi, ilkeyi ve uyumluluğu yönetmenize yardımcı olan kapsayıcılardır. Azure İlkesi ve Azure Rol Tabanlı Erişim Denetimleri ile kullanılabilecek etkili ve verimli bir hiyerarşi oluşturmak için bu kapsayıcıları oluşturun. Yönetim grupları hakkında daha fazla bilgi için bkz . Kaynaklarınızı Azure yönetim gruplarıyla düzenleme.

Dizinde oluşturulan ilk yönetim grubunun tamamlanması 15 dakika kadar sürebilir. Dizininiz için Azure'da yönetim grupları hizmetini ayarlamak için ilk kez çalışan işlemler vardır. İşlem tamamlandığında bir bildirim alırsınız. Daha fazla bilgi için bkz . yönetim gruplarının ilk kurulumu.

Önkoşullar

  • Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

  • clientId ve clientSecret dahil olmak üzere bir Azure hizmet sorumlusu. Azure İlkesi ile kullanmak üzere bir hizmet sorumlunuz yoksa veya yeni bir tane oluşturmak istiyorsanız bkz. .NET kimlik doğrulaması için Azure yönetim kitaplıkları. Sonraki adımlarda bunu yapacağız. .NET Core paketlerini yükleme adımını atlayın.

  • Kiracıdaki herhangi bir Azure AD kullanıcısı, hiyerarşi koruması etkinleştirilmemişse bu kullanıcıya yönetim grubu yazma izni atanmadan bir yönetim grubu oluşturabilir. Bu yeni yönetim grubu Kök Yönetim Grubu'nun veya varsayılan yönetim grubunun alt öğesi olur ve oluşturucuya "Sahip" rol ataması verilir. Yönetim grubu hizmeti, rol atamalarına kök düzeyde ihtiyaç duyulmaması için bu özelliği sağlar. Kök Yönetim Grubu oluşturulduğunda hiçbir kullanıcının erişimi yoktur. Yönetim gruplarını kullanmaya başlamak için Azure AD Genel Yönetici bulma engelini önlemek için, kök düzeyde ilk yönetim gruplarının oluşturulmasına izin veririz.

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. Screenshot that shows an example of Try It for Azure Cloud Shell.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Button to launch Azure Cloud Shell.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell'i kullanmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

Yönetim grubu paketini ekleme

Yönetim gruplarını yönetmek için Git'i etkinleştirmek için paketin eklenmesi gerekir. Bu paket, Windows 10'da bash veya yerel olarak yüklenen bash dahil olmak üzere Go'nın kullanabildiği her yerde çalışır.

  1. En son Go sürümünün yüklü olup olmadığını denetleyin (en az 1,15). Henüz yüklenmemişse Golang.org adresinden indirin.

  2. En son Azure CLI'nın yüklü olup olmadığını denetleyin (en az 2.5.1). Henüz yüklenmemişse bkz . Azure CLI'yi yükleme.

    Not

    Aşağıdaki örnekteki yöntemi kullanmak auth.NewAuthorizerFromCLI() için Go'yı etkinleştirmek için Azure CLI gereklidir. Diğer seçenekler hakkında daha fazla bilgi için bkz . Go için Azure SDK - Diğer kimlik doğrulama ayrıntıları.

  3. Azure CLI aracılığıyla kimlik doğrulaması.

    az login
    
  4. Tercihiniz olan Go ortamınızda yönetim grupları için gerekli paketleri yükleyin:

    # Add the management group package for Go
    go install github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2020-05-01/managementgroups@latest
    
    # Add the Azure auth package for Go
    go install github.com/Azure/go-autorest/autorest/azure/auth@latest
    

Uygulama kurulumu

Go paketleri seçtiğiniz ortamınıza eklendiğinde, bir yönetim grubu oluşturabilecek Go uygulamasını ayarlamanın zamanı geldi.

  1. Go uygulamasını oluşturun ve aşağıdaki kaynağı olarak mgCreate.gokaydedin:

    package main
    
    import (
     "context"
     "fmt"
     "os"
    
     mg "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2020-05-01/managementgroups"
     "github.com/Azure/go-autorest/autorest/azure/auth"
    )
    
    func main() {
     // Get variables from command line arguments
     var mgName = os.Args[1]
    
     // Create and authorize a client
     mgClient := mg.NewClient()
     authorizer, err := auth.NewAuthorizerFromCLI()
     if err == nil {
     	mgClient.Authorizer = authorizer
     } else {
     	fmt.Printf(err.Error())
     }
    
     // Create the request
     Request := mg.CreateManagementGroupRequest{
     	Name: &mgName,
     }
    
     // Run the query and get the results
     var results, queryErr = mgClient.CreateOrUpdate(context.Background(), mgName, Request, "no-cache")
     if queryErr == nil {
     	fmt.Printf("Results: " + fmt.Sprint(results) + "\n")
     } else {
     	fmt.Printf(queryErr.Error())
     }
    }
    
  2. Go uygulamasını derleme:

    go build mgCreate.go
    
  3. Derlenmiş Go uygulamasını kullanarak bir yönetim grubu oluşturun. değerini yeni yönetim grubunuzun adıyla değiştirin <Name> :

    mgCreate "<Name>"
    

Sonuç, kök yönetim grubundaki yeni bir yönetim grubudur.

Kaynakları temizleme

Yüklü paketleri Go ortamınızdan kaldırmak isterseniz, aşağıdaki komutu kullanarak bunu yapabilirsiniz:

# Remove the installed packages from the Go environment
go clean -i github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2020-05-01/managementgroups
go clean -i github.com/Azure/go-autorest/autorest/azure/auth

Sonraki adımlar

Bu hızlı başlangıçta, kaynak hiyerarşinizi düzenlemek için bir yönetim grubu oluşturdunuz. Yönetim grubu abonelikleri veya diğer yönetim gruplarını barındırabilir.

Yönetim grupları ve kaynak hiyerarşinizi yönetme hakkında daha fazla bilgi edinmek için devam edin: