Przenoszenie subskrypcji platformy Azure do innego katalogu usługi Azure AD

Organizacje mogą mieć kilka subskrypcji platformy Azure. Każda subskrypcja jest skojarzona z określonym katalogiem Azure Active Directory (Azure AD). Aby ułatwić zarządzanie, warto przenieść subskrypcję do innego katalogu usługi Azure AD. Podczas przenoszenia subskrypcji do innego katalogu usługi Azure AD niektóre zasoby nie są przenoszone do katalogu docelowego. Na przykład wszystkie przypisania ról i role niestandardowe w kontroli dostępu opartej na rolach (RBAC) platformy Azure są trwale usuwane z katalogu źródłowego i nie są przenoszone do katalogu docelowego.

W tym artykule opisano podstawowe kroki, które można wykonać, aby przenieść subskrypcję do innego katalogu Azure AD i ponownie utworzyć niektóre zasoby po przeniesieniu.

Jeśli zamiast tego chcesz zablokować przenoszenie subskrypcji do różnych katalogów w organizacji, możesz skonfigurować zasady subskrypcji. Aby uzyskać więcej informacji, zobacz Zarządzanie zasadami subskrypcji platformy Azure.

Uwaga

W przypadku subskrypcji dostawców rozwiązań w chmurze (CSP) platformy Azure zmiana katalogu usługi Azure Active Directory na potrzeby subskrypcji nie jest obsługiwana.

Omówienie

Przenoszenie subskrypcji platformy Azure do innego katalogu usługi Azure Active Directory to złożony proces wymagający starannego zaplanowania i wykonania. Wiele usług platformy Azure wymaga podmiotów zabezpieczeń (tożsamości) do prawidłowego działania lub zarządzania innymi zasobami platformy Azure. Ten artykuł próbuje omówić większość usług platformy Azure, które w dużym stopniu zależą od podmiotów zabezpieczeń, ale nie jest kompleksowa.

Ważne

W niektórych scenariuszach ukończenie procesu przenoszenia subskrypcji może wymagać przestoju. Aby ustalić, czy przeniesienie będzie wymagało przestoju, należy starannie zaplanować proces.

Na poniższym diagramie przedstawiono podstawowe kroki, które należy wykonać podczas przenoszenia subskrypcji do innego katalogu.

  1. Przygotowywanie do przeniesienia

  2. Przenoszenie subskrypcji platformy Azure do innego katalogu

  3. Ponowne tworzenie zasobów takich jak przypisania ról, role niestandardowe i tożsamości zarządzane w katalogu docelowym

    Transfer subscription diagram

Podejmowanie decyzji o przeniesieniu subskrypcji do innego katalogu

Poniżej przedstawiono kilka powodów, dla których warto przenieść subskrypcję:

  • Ze względu na fuzję lub przejęcie firmy chcesz zarządzać subskrypcją nabytą w katalogu podstawowym Azure AD.
  • Ktoś w twojej organizacji utworzył subskrypcję i chcesz skonsolidować zarządzanie do określonego katalogu Azure AD.
  • Masz aplikacje, które zależą od określonego identyfikatora subskrypcji lub adresu URL i nie można łatwo zmodyfikować konfiguracji lub kodu aplikacji.
  • Część firmy została podzielona na oddzielną firmę i musisz przenieść niektóre zasoby do innego katalogu Azure AD.
  • Chcesz zarządzać niektórymi zasobami w innym katalogu Azure AD na potrzeby izolacji zabezpieczeń.

Alternatywne podejścia

Przeniesienie subskrypcji wymaga przestoju w celu ukończenia procesu. W zależności od scenariusza można rozważyć następujące alternatywne podejścia:

  • Utwórz ponownie zasoby i skopiuj dane do katalogu docelowego i subskrypcji.
  • Zastosuj architekturę z wieloma katalogami i pozostaw subskrypcję w katalogu źródłowym. Użyj usługi Azure Lighthouse, aby delegować zasoby, aby użytkownicy w katalogu docelowym mogli uzyskiwać dostęp do subskrypcji w katalogu źródłowym. Aby uzyskać więcej informacji, zobacz Azure Lighthouse w scenariuszach dla przedsiębiorstw.

Zapoznanie się ze skutkami przeniesienia subskrypcji

Kilka zasobów platformy Azure ma zależność od subskrypcji lub katalogu. W zależności od sytuacji poniższa tabela zawiera znany wpływ przenoszenia subskrypcji. Wykonując kroki opisane w tym artykule, możesz ponownie utworzyć niektóre zasoby, które istniały przed przeniesieniem subskrypcji.

Ważne

W tej sekcji wymieniono znane usługi lub zasoby platformy Azure, które zależą od subskrypcji. Ponieważ typy zasobów na platformie Azure stale ewoluują, mogą istnieć dodatkowe zależności, które nie zostały tutaj wymienione, co może spowodować zmianę powodującą niezgodność środowiska.

Usługa lub zasób Wpływ Odzyskania Czy masz wpływ na Ciebie? Co możesz zrobić
Przypisania ról Tak Tak Lista przypisań ról Wszystkie przypisania ról są trwale usuwane. Należy mapować użytkowników, grupy i jednostki usługi na odpowiednie obiekty w katalogu docelowym. Należy ponownie utworzyć przypisania ról.
Role niestandardowe Tak Tak Wyświetlanie ról niestandardowych Wszystkie role niestandardowe są trwale usuwane. Należy ponownie utworzyć role niestandardowe i wszystkie przypisania ról.
Tożsamości zarządzane przypisane przez system Tak Tak Wyświetlanie listy tożsamości zarządzanych Należy wyłączyć i ponownie włączyć tożsamości zarządzane. Należy ponownie utworzyć przypisania ról.
Tożsamości zarządzane przypisane przez użytkownika Tak Tak Wyświetlanie listy tożsamości zarządzanych Należy usunąć, ponownie utworzyć i dołączyć tożsamości zarządzane do odpowiedniego zasobu. Należy ponownie utworzyć przypisania ról.
Azure Key Vault Tak Tak Wyświetlanie listy zasad dostępu Key Vault Należy zaktualizować identyfikator dzierżawy skojarzony z magazynami kluczy. Należy usunąć i dodać nowe zasady dostępu.
Azure SQL baz danych z włączoną integracją uwierzytelniania Azure AD Tak Nie Sprawdzanie baz danych Azure SQL przy użyciu uwierzytelniania Azure AD Nie można przenieść bazy danych Azure SQL z włączonym uwierzytelnianiem Azure AD do innego katalogu. Aby uzyskać więcej informacji, zobacz Use Azure Active Directory authentication (Używanie uwierzytelniania Azure Active Directory).
Azure Storage i Azure Data Lake Storage Gen2 Tak Tak Należy ponownie utworzyć wszystkie listy ACL.
Azure Data Lake Storage Gen1 Tak Tak Należy ponownie utworzyć wszystkie listy ACL.
Azure Files Tak Tak Należy ponownie utworzyć wszystkie listy ACL.
Azure File Sync Tak Tak Usługę synchronizacji magazynu i/lub konto magazynu można przenieść do innego katalogu. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące Azure Files
Dyski zarządzane platformy Azure Tak Tak Jeśli używasz zestawów szyfrowania dysków do szyfrowania Dyski zarządzane przy użyciu kluczy zarządzanych przez klienta, musisz wyłączyć i ponownie włączyć tożsamości przypisane przez system skojarzone z zestawami szyfrowania dysków. Należy ponownie utworzyć przypisania ról, tj. ponownie przyznać wymagane uprawnienia do zestawów szyfrowania dysków w usłudze Key Vault.
Azure Kubernetes Service Tak Nie Nie można przenieść klastra usługi AKS i skojarzonych z nim zasobów do innego katalogu. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące Azure Kubernetes Service (AKS)
Azure Policy Tak Nie Wszystkie obiekty Azure Policy, w tym definicje niestandardowe, przypisania, wykluczenia i dane zgodności. Musisz wyeksportować, zaimportować i ponownie przypisać definicje. Następnie utwórz nowe przypisania zasad i wszelkie wymagane wykluczenia zasad.
Azure Active Directory Domain Services Tak Nie Nie można przenieść domeny zarządzanej usług Azure AD Domain Services do innego katalogu. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące usług domenowych Azure Active Directory (AD)
Rejestracje aplikacji Tak Tak

Ostrzeżenie

Jeśli używasz szyfrowania magazynowanego dla zasobu, takiego jak konto magazynu lub SQL baza danych, która ma zależność od magazynu kluczy, który nie znajduje się w tej samej subskrypcji, która jest przenoszona, może prowadzić do nieodwracalnego scenariusza. W takiej sytuacji należy wykonać kroki, aby użyć innego magazynu kluczy lub tymczasowo wyłączyć klucze zarządzane przez klienta, aby uniknąć tego nieodwracalnego scenariusza.

Aby uzyskać listę niektórych zasobów platformy Azure, które mają wpływ na przeniesienie subskrypcji, możesz również uruchomić zapytanie w usłudze Azure Resource Graph. Aby zapoznać się z przykładowym zapytaniem, zobacz Wyświetlanie listy zasobów, których dotyczy przenoszenie subskrypcji platformy Azure.

Wymagania wstępne

Aby wykonać następujące kroki, potrzebne są następujące elementy:

Krok 1. Przygotowanie do przeniesienia

Zaloguj się do katalogu źródłowego

  1. Zaloguj się na platformie Azure jako administrator.

  2. Pobierz listę subskrypcji za pomocą polecenia az account list .

    az account list --output table
    
  3. Użyj polecenia az account set , aby ustawić aktywną subskrypcję, którą chcesz przenieść.

    az account set --subscription "Marketing"
    

Instalowanie rozszerzenia azure Resource Graph

Rozszerzenie interfejsu wiersza polecenia platformy Azure dla usługi Azure Resource Graph, resource-graph, umożliwia używanie polecenia az graph do wykonywania zapytań dotyczących zasobów zarządzanych przez usługę Azure Resource Manager. Użyjesz tego polecenia w kolejnych krokach.

  1. Użyj polecenia az extension list , aby sprawdzić, czy zainstalowano rozszerzenie resource-graph .

    az extension list
    
  2. Jeśli nie, zainstaluj rozszerzenie resource-graph .

    az extension add --name resource-graph
    

Zapisywanie wszystkich przypisań ról

  1. Użyj polecenia az role assignment list , aby wyświetlić listę wszystkich przypisań ról (w tym dziedziczone przypisania ról).

    Aby ułatwić przeglądanie listy, możesz wyeksportować dane wyjściowe jako dane wyjściowe w formacie JSON, TSV lub tabeli. Aby uzyskać więcej informacji, zobacz Wyświetlanie listy przypisań ról przy użyciu kontroli dostępu opartej na rolach platformy Azure i interfejsu wiersza polecenia platformy Azure.

    az role assignment list --all --include-inherited --output json > roleassignments.json
    az role assignment list --all --include-inherited --output tsv > roleassignments.tsv
    az role assignment list --all --include-inherited --output table > roleassignments.txt
    
  2. Zapisz listę przypisań ról.

    Podczas przenoszenia subskrypcji wszystkie przypisania ról są trwale usuwane, dlatego ważne jest zapisanie kopii.

  3. Przejrzyj listę przypisań ról. W katalogu docelowym mogą występować przypisania ról.

Zapisywanie ról niestandardowych

  1. Użyj listy az role definition, aby wyświetlić listę ról niestandardowych. Aby uzyskać więcej informacji, zobacz Tworzenie lub aktualizowanie ról niestandardowych platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.

    az role definition list --custom-role-only true --output json --query '[].{roleName:roleName, roleType:roleType}'
    
  2. Zapisz każdą rolę niestandardową, która będzie potrzebna w katalogu docelowym jako oddzielny plik JSON.

    az role definition list --name <custom_role_name> > customrolename.json
    
  3. Utwórz kopie niestandardowych plików ról.

  4. Zmodyfikuj każdą kopię, aby użyć następującego formatu.

    Użyjesz tych plików później do ponownego utworzenia ról niestandardowych w katalogu docelowym.

    {
      "Name": "",
      "Description": "",
      "Actions": [],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": []
    }
    

Określanie mapowań użytkowników, grup i jednostek usługi

  1. Na podstawie listy przypisań ról określ użytkowników, grupy i jednostki usługi, do których zostanie zamapowana w katalogu docelowym.

    Typ podmiotu zabezpieczeń można zidentyfikować, przeglądając principalType właściwość w każdym przypisaniu roli.

  2. W razie potrzeby w katalogu docelowym należy utworzyć wszystkich użytkowników, grupy lub jednostki usługi.

Wyświetlanie listy przypisań ról dla tożsamości zarządzanych

Tożsamości zarządzane nie są aktualizowane po przeniesieniu subskrypcji do innego katalogu. W rezultacie wszelkie istniejące tożsamości zarządzane przypisane przez system lub przypisane przez użytkownika zostaną uszkodzone. Po przeniesieniu można ponownie włączyć wszystkie tożsamości zarządzane przypisane przez system. W przypadku tożsamości zarządzanych przypisanych przez użytkownika konieczne będzie ponowne utworzenie i dołączenie ich do katalogu docelowego.

  1. Zapoznaj się z listą usług platformy Azure, które obsługują tożsamości zarządzane, aby zauważyć, gdzie można używać tożsamości zarządzanych.

  2. Użyj polecenia az ad sp list , aby wyświetlić listę tożsamości zarządzanych przypisanych przez system i przypisanych przez użytkownika.

    az ad sp list --all --filter "servicePrincipalType eq 'ManagedIdentity'"
    
  3. Na liście tożsamości zarządzanych określ, które są przypisane przez system i które są przypisane przez użytkownika. Aby określić typ, możesz użyć następujących kryteriów.

    Kryteria Typ tożsamości zarządzanej
    alternativeNames właściwość zawiera isExplicit=False Przypisane przez system
    alternativeNames właściwość nie zawiera isExplicit Przypisane przez system
    alternativeNames właściwość zawiera isExplicit=True Przypisana przez użytkownika

    Możesz również użyć polecenia az identity list , aby wyświetlić listę tożsamości zarządzanych przypisanych przez użytkownika. Aby uzyskać więcej informacji, zobacz Tworzenie, wyświetlanie listy lub usuwanie tożsamości zarządzanej przypisanej przez użytkownika przy użyciu interfejsu wiersza polecenia platformy Azure.

    az identity list
    
  4. Pobierz listę objectId wartości tożsamości zarządzanych.

  5. Wyszukaj listę przypisań ról, aby sprawdzić, czy istnieją jakieś przypisania ról dla tożsamości zarządzanych.

Wyświetlanie listy magazynów kluczy

Podczas tworzenia magazynu kluczy jest on automatycznie powiązany z domyślnym identyfikatorem dzierżawy Azure Active Directory dla subskrypcji, w której została utworzona. Wszystkie wpisy zasad dostępu również zostają powiązane z tym identyfikatorem dzierżawy. Aby uzyskać więcej informacji, zobacz Przenoszenie Key Vault platformy Azure do innej subskrypcji.

Ostrzeżenie

Jeśli używasz szyfrowania magazynowanego dla zasobu, takiego jak konto magazynu lub SQL baza danych, która ma zależność od magazynu kluczy, który nie znajduje się w tej samej subskrypcji, która jest przenoszona, może prowadzić do nieodwracalnego scenariusza. W takiej sytuacji należy wykonać kroki, aby użyć innego magazynu kluczy lub tymczasowo wyłączyć klucze zarządzane przez klienta, aby uniknąć tego nieodwracalnego scenariusza.

Wyświetlanie listy baz danych Azure SQL przy użyciu uwierzytelniania Azure AD

List ACL (Listy list ACL)

  1. Jeśli używasz Azure Data Lake Storage Gen1, wyświetl listę list ACL, które są stosowane do dowolnego pliku przy użyciu Azure Portal lub programu PowerShell.

  2. Jeśli używasz Azure Data Lake Storage Gen2, wyświetl listę list ACL, które są stosowane do dowolnego pliku przy użyciu Azure Portal lub programu PowerShell.

  3. Jeśli używasz Azure Files, wyświetl listę list ACL, które są stosowane do dowolnego pliku.

Wyświetlanie listy innych znanych zasobów

  1. Użyj polecenia az account show , aby uzyskać identyfikator subskrypcji (w pliku bash).

    subscriptionId=$(az account show --output tsv --query id)
    
  2. Użyj rozszerzenia az graph, aby wyświetlić listę innych zasobów platformy Azure ze znanymi zależnościami katalogu Azure AD (w pliku bash).

    az graph query -q 'resources 
        | where type != "microsoft.azureactivedirectory/b2cdirectories" 
        | where  identity <> "" or properties.tenantId <> "" or properties.encryptionSettingsCollection.enabled == true 
        | project name, type, kind, identity, tenantId, properties.tenantId' --subscriptions $subscriptionId --output yaml
    

Krok 2. Przenoszenie subskrypcji

W tym kroku przeniesiesz subskrypcję z katalogu źródłowego do katalogu docelowego. Kroki będą się różnić w zależności od tego, czy chcesz również przenieść własność rozliczeń.

Ostrzeżenie

Podczas przenoszenia subskrypcji wszystkie przypisania ról w katalogu źródłowym są trwale usuwane i nie można ich przywrócić. Przeniesienia subskrypcji nie można cofnąć. Pamiętaj, aby przed wykonaniem tego kroku wykonać wszystkie poprzednie.

  1. Ustal, czy chcesz również przenieść własność rozliczeń na inne konto.

  2. Przenieś subskrypcję do innego katalogu.

  3. Po zakończeniu przenoszenia subskrypcji wróć do tego artykułu, aby ponownie utworzyć zasoby w katalogu docelowym.

Krok 3. Ponowne tworzenie zasobów

Zaloguj się do katalogu docelowego

  1. W katalogu docelowym zaloguj się jako użytkownik, który zaakceptował żądanie przeniesienia.

    Tylko użytkownik na nowym koncie, który zaakceptował żądanie przeniesienia, będzie miał dostęp do zarządzania zasobami.

  2. Pobierz listę subskrypcji za pomocą polecenia az account list .

    az account list --output table
    
  3. Użyj polecenia az account set , aby ustawić aktywną subskrypcję, której chcesz użyć.

    az account set --subscription "Contoso"
    

Tworzenie ról niestandardowych

Przypisywanie ról

Aktualizowanie tożsamości zarządzanych przypisanych przez system

  1. Wyłącz i ponownie włącz tożsamości zarządzane przypisane przez system.

    Usługa platformy Azure Więcej informacji
    Maszyny wirtualne Konfigurowanie tożsamości zarządzanych dla zasobów platformy Azure na maszynie wirtualnej platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure
    Zestawy skalowania maszyn wirtualnych Konfigurowanie tożsamości zarządzanych dla zasobów platformy Azure w zestawie skalowania maszyn wirtualnych przy użyciu interfejsu wiersza polecenia platformy Azure
    Inne usługi Usługi obsługujące tożsamości zarządzane dla zasobów platformy Azure
  2. Użyj polecenia az role assignment create , aby przypisać role do tożsamości zarządzanych przypisanych przez system. Aby uzyskać więcej informacji, zobacz Przypisywanie dostępu tożsamości zarządzanej do zasobu przy użyciu interfejsu wiersza polecenia platformy Azure.

    az role assignment create --assignee <objectid> --role '<role_name_or_id>' --scope <scope>
    

Aktualizowanie tożsamości zarządzanych przypisanych przez użytkownika

  1. Usuwanie, ponowne tworzenie i dołączanie tożsamości zarządzanych przypisanych przez użytkownika.

    Usługa platformy Azure Więcej informacji
    Maszyny wirtualne Konfigurowanie tożsamości zarządzanych dla zasobów platformy Azure na maszynie wirtualnej platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure
    Zestawy skalowania maszyn wirtualnych Konfigurowanie tożsamości zarządzanych dla zasobów platformy Azure w zestawie skalowania maszyn wirtualnych przy użyciu interfejsu wiersza polecenia platformy Azure
    Inne usługi Usługi obsługujące tożsamości zarządzane dla zasobów platformy Azure
    Tworzenie, wyświetlanie listy lub usuwanie tożsamości zarządzanej przypisanej przez użytkownika przy użyciu interfejsu wiersza polecenia platformy Azure
  2. Użyj polecenia az role assignment create , aby przypisać role do tożsamości zarządzanych przypisanych przez użytkownika. Aby uzyskać więcej informacji, zobacz Przypisywanie dostępu tożsamości zarządzanej do zasobu przy użyciu interfejsu wiersza polecenia platformy Azure.

    az role assignment create --assignee <objectid> --role '<role_name_or_id>' --scope <scope>
    

Aktualizowanie magazynów kluczy

W tej sekcji opisano podstawowe kroki aktualizowania magazynów kluczy. Aby uzyskać więcej informacji, zobacz Przenoszenie Key Vault platformy Azure do innej subskrypcji.

  1. Zaktualizuj identyfikator dzierżawy skojarzony ze wszystkimi istniejącymi magazynami kluczy w subskrypcji do katalogu docelowego.

  2. usunąć wszystkie istniejące wpisy zasad dostępu,

  3. Dodaj nowe wpisy zasad dostępu skojarzone z katalogiem docelowym.

Aktualizowanie list ACL

  1. Jeśli używasz Azure Data Lake Storage Gen1, przypisz odpowiednie listy ACL. Aby uzyskać więcej informacji, zobacz Zabezpieczanie danych przechowywanych w usłudze Azure Data Lake Storage Gen1.

  2. Jeśli używasz Azure Data Lake Storage Gen2, przypisz odpowiednie listy ACL. Aby uzyskać więcej informacji, zobacz Kontrola dostępu w usłudze Azure Data Lake Storage Gen2.

  3. Jeśli używasz Azure Files, przypisz odpowiednie listy ACL.

Przegląd innych metod zabezpieczeń

Mimo że przypisania ról są usuwane podczas przenoszenia, użytkownicy na oryginalnym koncie właściciela mogą nadal mieć dostęp do subskrypcji za pośrednictwem innych metod zabezpieczeń, w tym:

  • Klucze dostępu dla usług, takich jak Storage.
  • Certyfikaty zarządzania , które udzielają administratorowi użytkowników dostępu do zasobów subskrypcji.
  • Poświadczenia dostępu zdalnego dla usług, takich jak Azure Virtual Machines.

Jeśli Twoim celem jest usunięcie dostępu z użytkowników w katalogu źródłowym, aby nie mieli dostępu do katalogu docelowego, należy rozważyć rotację poświadczeń. Dopóki poświadczenia nie zostaną zaktualizowane, użytkownicy będą nadal mieć dostęp po przeniesieniu.

  1. Obracanie kluczy dostępu do konta magazynu. Aby uzyskać więcej informacji, zobacz Zarządzanie kluczami dostępu do konta magazynu.

  2. Jeśli używasz kluczy dostępu dla innych usług, takich jak Azure SQL Database lub Azure Service Bus Messaging, obróć klucze dostępu.

  3. W przypadku zasobów korzystających z wpisów tajnych otwórz ustawienia zasobu i zaktualizuj wpis tajny.

  4. W przypadku zasobów korzystających z certyfikatów zaktualizuj certyfikat.

Następne kroki