Omówienie usługi Azure Resource ManagerAzure Resource Manager overview

Infrastruktura aplikacji zwykle obejmuje wiele składników — może to być maszyna wirtualna, konto magazynu i sieć wirtualna albo aplikacja sieci Web, baza danych, serwer bazy danych i usługi zewnętrzne.The infrastructure for your application is typically made up of many components – maybe a virtual machine, storage account, and virtual network, or a web app, database, database server, and 3rd party services. Te składniki nie są widoczne jako osobne jednostki, tylko jako powiązane i zależne od siebie nawzajem części jednej całości.You do not see these components as separate entities, instead you see them as related and interdependent parts of a single entity. Dlatego najlepiej wdrażać i monitorować je oraz zarządzać nimi grupowo.You want to deploy, manage, and monitor them as a group. Usługa Azure Resource Manager umożliwia pracę z zasobami tworzącymi rozwiązanie w formie grupy.Azure Resource Manager enables you to work with the resources in your solution as a group. Wszystkie zasoby danego rozwiązania można wdrożyć, zaktualizować lub usunąć w ramach jednej skoordynowanej operacji.You can deploy, update, or delete all the resources for your solution in a single, coordinated operation. Wdrażanie wykonuje się przy użyciu szablonu, którego można następnie używać w różnych środowiskach (testowanie, etap przejściowy i produkcja).You use a template for deployment and that template can work for different environments such as testing, staging, and production. Usługa Resource Manager zapewnia funkcje zabezpieczeń, inspekcji i tagowania ułatwiające zarządzanie zasobami po wdrożeniu.Resource Manager provides security, auditing, and tagging features to help you manage your resources after deployment.

TerminologiaTerminology

Jeśli dopiero zaczynasz korzystać z usługi Azure Resource Manager, oto kilka terminów, których możesz nie znać.If you are new to Azure Resource Manager, there are some terms you might not be familiar with.

  • Zasób — dostępny za pośrednictwem platformy Azure element, którym można zarządzać.resource - A manageable item that is available through Azure. Niektóre typowe zasoby to: maszyna wirtualna, konto magazynu, aplikacja sieci Web czy sieć wirtualna. Istnieje ich jednak wiele więcej.Some common resources are a virtual machine, storage account, web app, database, and virtual network, but there are many more.
  • Grupa zasobów — kontener, który zawiera powiązane zasoby rozwiązania dla platformy Azure.resource group - A container that holds related resources for an Azure solution. Grupa zasobów może zawierać wszystkie zasoby dla rozwiązania lub tylko te zasoby, które mają być zarządzane jako grupa.The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. Użytkownik decyduje o sposobie przydziału zasobów do grup zasobów pod kątem tego, co jest najbardziej odpowiednie dla danej organizacji.You decide how you want to allocate resources to resource groups based on what makes the most sense for your organization. Zobacz Grupy zasobów.See Resource groups.
  • Dostawca zasobów — usługa dostarczająca zasoby, które można wdrażać i którymi można zarządzać za pomocą usługi Resource Manager.resource provider - A service that supplies the resources you can deploy and manage through Resource Manager. Każdy dostawca zasobów udostępnia operacje do pracy z wdrażanymi zasobami.Each resource provider offers operations for working with the resources that are deployed. Typowi dostawcy zasobów to: Microsoft.Compute dostarczający zasób maszyny wirtualnej, Microsoft.Storage dostarczający zasób konta magazynu i Microsoft.Web dostarczający zasoby dotyczące aplikacji sieci Web.Some common resource providers are Microsoft.Compute, which supplies the virtual machine resource, Microsoft.Storage, which supplies the storage account resource, and Microsoft.Web, which supplies resources related to web apps. Zobacz Dostawcy zasobów.See Resource providers.
  • Szablon usługi Resource Manager — plik w formacie JavaScript Object Notation (JSON) definiujący jeden lub większą liczbę zasobów, które mają zostać wdrożone w grupie zasobów.Resource Manager template - A JavaScript Object Notation (JSON) file that defines one or more resources to deploy to a resource group. Definiuje również zależności między wdrożonymi zasobami.It also defines the dependencies between the deployed resources. Szablon może służyć do spójnego i wielokrotnego wdrażania zasobów.The template can be used to deploy the resources consistently and repeatedly. Zobacz Wdrażanie na podstawie szablonu.See Template deployment.
  • Składnia deklaratywna — składnia pozwalająca określić, co zamierzasz utworzyć, bez konieczności pisania w tym celu sekwencji poleceń programistycznych.declarative syntax - Syntax that lets you state "Here is what I intend to create" without having to write the sequence of programming commands to create it. Przykładem składni deklaratywnej jest szablon usługi Resource Manager.The Resource Manager template is an example of declarative syntax. W tym pliku definiuje się właściwości infrastruktury do wdrożenia na platformie Azure.In the file, you define the properties for the infrastructure to deploy to Azure.

Zalety korzystania z usługi Resource ManagerThe benefits of using Resource Manager

Usługa Resource Manager zapewnia kilka korzyści:Resource Manager provides several benefits:

  • Możliwość grupowego wdrożenia i monitorowania wszystkich zasobów w ramach rozwiązania oraz zarządzania nimi (zamiast obsługiwania zasobów pojedynczo).You can deploy, manage, and monitor all the resources for your solution as a group, rather than handling these resources individually.
  • Możliwość wielokrotnego wdrażania rozwiązania w całym cyklu programistycznym z gwarancją spójnego stanu zasobów po każdym wdrożeniu.You can repeatedly deploy your solution throughout the development lifecycle and have confidence your resources are deployed in a consistent state.
  • Możliwość zarządzania infrastrukturą przy użyciu szablonów deklaratywnych zamiast skryptów.You can manage your infrastructure through declarative templates rather than scripts.
  • Możliwość definiowania zależności między zasobami, aby wdrażać je w odpowiedniej kolejności.You can define the dependencies between resources so they are deployed in the correct order.
  • Możliwość stosowania kontroli dostępu do wszystkich usług w grupie zasobów dzięki natywnej integracji funkcji kontroli dostępu na podstawie ról z platformą zarządzania.You can apply access control to all services in your resource group because Role-Based Access Control (RBAC) is natively integrated into the management platform.
  • Możliwość dodawania tagów do zasobów w celu logicznego uporządkowania wszystkich zasobów w ramach subskrypcji.You can apply tags to resources to logically organize all the resources in your subscription.
  • Możliwość wyjaśniania rozliczeń w organizacji przez wyświetlanie kosztów dla grupy zasobów korzystających z tego samego tagu.You can clarify your organization's billing by viewing costs for a group of resources sharing the same tag.

Usługa Resource Manager udostępnia nową metodę wdrażania rozwiązań i zarządzania nimi.Resource Manager provides a new way to deploy and manage your solutions. Jeśli znasz wcześniejszy model wdrażania i chcesz dowiedzieć się więcej o zmianach, zobacz artykuł Understanding Resource Manager deployment and classic deployment (Opis wdrażania za pomocą usługi Resource Manager oraz wdrażania klasycznego).If you used the earlier deployment model and want to learn about the changes, see Understanding Resource Manager deployment and classic deployment.

Spójna warstwa zarządzaniaConsistent management layer

Usługa Resource Manager zapewnia spójną warstwę zarządzania dla zadań wykonywanych za pomocą programu Azure PowerShell, interfejsu wiersza polecenia Azure, witryny Azure Portal, interfejsu API REST oraz narzędzi programistycznych.Resource Manager provides a consistent management layer for the tasks you perform through Azure PowerShell, Azure CLI, Azure portal, REST API, and development tools. Wszystkie narzędzia korzystają ze wspólnego zestawu operacji.All the tools use a common set of operations. Możesz używać najwygodniejszych dla siebie narzędzi i stosować je zamiennie, bez jakichkolwiek problemów.You use the tools that work best for you, and can use them interchangeably without confusion.

Na poniższej ilustracji przedstawiono, jak poszczególne narzędzia wchodzą w interakcję z tym samym interfejsem API usługi Azure Resource Manager.The following image shows how all the tools interact with the same Azure Resource Manager API. Interfejs API przekazuje żądania do usługi Resource Manager, która je uwierzytelnia i autoryzuje.The API passes requests to the Resource Manager service, which authenticates and authorizes the requests. Usługa Resource Manager przekierowuje następnie żądania do odpowiednich dostawców zasobów.Resource Manager then routes the requests to the appropriate resource providers.

Model żądań usługi Resource Manager

WskazówkiGuidance

Poniższe sugestie pomogą Ci w pełni wykorzystać możliwości usługi Resource Manager w pracy z rozwiązaniami.The following suggestions help you take full advantage of Resource Manager when working with your solutions.

  1. Definiuj i wdrażaj infrastrukturę za pomocą składni deklaratywnej w szablonach usługi Resource Manager, a nie za pomocą poleceń imperatywnych.Define and deploy your infrastructure through the declarative syntax in Resource Manager templates, rather than through imperative commands.
  2. Zdefiniuj w szablonie wszystkie etapy wdrażania i konfiguracji.Define all deployment and configuration steps in the template. W konfiguracji rozwiązania nie powinno być żadnych etapów ręcznych.You should have no manual steps for setting up your solution.
  3. Korzystaj z poleceń imperatywnych do zarządzania zasobami, np. do uruchamiania i zatrzymywania aplikacji lub maszyny.Run imperative commands to manage your resources, such as to start or stop an app or machine.
  4. Rozmieść zasoby z tym samym cyklem życia w grupie zasobów.Arrange resources with the same lifecycle in a resource group. We wszystkich pozostałych operacjach związanych z organizacją zasobów używaj tagów.Use tags for all other organizing of resources.

Aby uzyskać zalecenia dotyczące szablonów, zobacz Best practices for creating Azure Resource Manager templates (Najlepsze rozwiązania dotyczące tworzenia szablonów usługi Azure Resource Manager).For recommendations about templates, see Best practices for creating Azure Resource Manager templates.

Aby uzyskać instrukcje dla przedsiębiorstw dotyczące użycia usługi Resource Manager w celu efektywnego zarządzania subskrypcjami, zobacz Azure enterprise scaffold - prescriptive subscription governance (Szkielet platformy Azure dla przedsiębiorstwa — narzucony nadzór subskrypcji).For guidance on how enterprises can use Resource Manager to effectively manage subscriptions, see Azure enterprise scaffold - prescriptive subscription governance.

Grupy zasobówResource groups

Definiując grupę zasobów, należy wziąć pod uwagę pewne ważne czynniki:There are some important factors to consider when defining your resource group:

  1. Wszystkie zasoby w grupie powinny mieć ten sam cykl życia.All the resources in your group should share the same lifecycle. Są one wdrażane, aktualizowane i usuwane razem.You deploy, update, and delete them together. Jeśli jakiś zasób, na przykład serwer bazy danych, ma mieć inny cykl wdrażania, powinien zostać umieszczony w innej grupie zasobów.If one resource, such as a database server, needs to exist on a different deployment cycle it should be in another resource group.
  2. Każdy zasób może znajdować się tylko w jednej grupie zasobów.Each resource can only exist in one resource group.
  3. Zasoby w grupie można dodawać i usuwać w dowolnym momencie.You can add or remove a resource to a resource group at any time.
  4. Zasoby można przenosić między poszczególnymi grupami.You can move a resource from one resource group to another group. Aby uzyskać więcej informacji, zobacz Move resources to new resource group or subscription (Przenoszenie zasobów do nowej grupy lub subskrypcji).For more information, see Move resources to new resource group or subscription.
  5. Grupa zasobów może zawierać zasoby, które znajdują się w różnych regionach.A resource group can contain resources that reside in different regions.
  6. Grupa zasobów może służyć do określania zakresu kontroli dostępu na potrzeby działań administracyjnych.A resource group can be used to scope access control for administrative actions.
  7. Zasób może wchodzić w interakcję z zasobami znajdującymi się w innych grupach zasobów.A resource can interact with resources in other resource groups. Ta interakcja jest typowa, gdy dwa zasoby są ze sobą powiązane, ale nie mają tego samego cyklu życia (na przykład aplikacje sieci Web łączące się z bazą danych).This interaction is common when the two resources are related but do not share the same lifecycle (for example, web apps connecting to a database).

Podczas tworzenia grupy zasobów, należy podać lokalizację dla danej grupy zasobów.When creating a resource group, you need to provide a location for that resource group. Być może zastanawiasz się, „Dlaczego grupa zasobów wymaga określenia lokalizacji?You may be wondering, "Why does a resource group need a location? Ponadto dlaczego lokalizacja grupy zasobów jest w ogóle istotna, skoro zasoby mogą znajdować się w innej lokalizacji niż grupa zasobów?”And, if the resources can have different locations than the resource group, why does the resource group location matter at all?" Grupa zasobów przechowuje metadane dotyczące zasobów.The resource group stores metadata about the resources. Z tego powodu określając lokalizację dla grupy zasobów, określasz miejsce, w którym przechowywane są metadane.Therefore, when you specify a location for the resource group, you are specifying where that metadata is stored. Dla zachowania zgodności może być konieczne upewnienie się, że dane są przechowywane w odpowiednim regionie.For compliance reasons, you may need to ensure that your data is stored in a particular region.

Dostawcy zasobówResource providers

Każdy dostawca zasobów udostępnia zestaw zasobów i operacji do pracy z usługą platformy Azure.Each resource provider offers a set of resources and operations for working with an Azure service. Na przykład w celu przechowywania kluczy i kluczy tajnych należy użyć dostawcy zasobów Microsoft.KeyVault.For example, if you want to store keys and secrets, you work with the Microsoft.KeyVault resource provider. Ten dostawca zasobów udostępnia typ zasobu o nazwie magazyny umożliwiający utworzenie magazynu kluczy.This resource provider offers a resource type called vaults for creating the key vault.

Nazwa typu zasobu ma następujący format: {dostawca_zasobów}/{typ_zasobu}.The name of a resource type is in the format: {resource-provider}/{resource-type}. Typ magazynu kluczy to na przykład Microsoft.KeyVault/vaults.For example, the key vault type is Microsoft.KeyVault/vaults.

Przed rozpoczęciem wdrażania zasobów należy uzyskać wiedzę na temat dostępnych dostawców zasobów.Before getting started with deploying your resources, you should gain an understanding of the available resource providers. Znajomość nazw zasobów i ich dostawców pomaga określić zasoby, które mają zostać wdrożone na platformie Azure.Knowing the names of resource providers and resources helps you define resources you want to deploy to Azure. Dodatkowo trzeba znać prawidłowe lokalizacje i wersje interfejsów API dla każdego typu zasobu.Also, you need to know the valid locations and API versions for each resource type. Aby uzyskać więcej informacji, zobacz Dostawcy zasobów i ich typy.For more information, see Resource providers and types.

Wdrażanie na podstawie szablonuTemplate deployment

Usługa Resource Manager umożliwia utworzenie szablonu (w formacie JSON) do definiowania infrastruktury i konfiguracji rozwiązania platformy Azure.With Resource Manager, you can create a template (in JSON format) that defines the infrastructure and configuration of your Azure solution. Dzięki szablonowi można wielokrotnie wdrażać rozwiązanie w całym jego cyklu życia z gwarancją spójnego stanu zasobów po każdym wdrożeniu.By using a template, you can repeatedly deploy your solution throughout its lifecycle and have confidence your resources are deployed in a consistent state. W przypadku tworzenia rozwiązania z portalu rozwiązanie automatycznie zawiera szablon wdrożenia.When you create a solution from the portal, the solution automatically includes a deployment template. Nie trzeba tworzyć szablonu od początku — można zacząć od szablonu istniejącego rozwiązania i dostosować go do konkretnych potrzeb.You do not have to create your template from scratch because you can start with the template for your solution and customize it to meet your specific needs. Aby uzyskać szablon dla istniejącej grupy zasobów, można wyeksportować bieżący stan grupy lub skorzystać z szablonu użytego do określonego wdrożenia.You can retrieve a template for an existing resource group by either exporting the current state of the resource group, or viewing the template used for a particular deployment. Przeglądając wyeksportowany szablon, można poznać jego składnię.Viewing the exported template is a helpful way to learn about the template syntax.

Aby dowiedzieć się więcej o formacie szablonu i sposobie jego konstruowania, zobacz Tworzenie pierwszego szablonu usługi Azure Resource Manager.To learn about the format of the template and how you construct it, see Create your first Azure Resource Manager template. Aby wyświetlić składnię JSON dla typów zasobów, zobacz Define resources in Azure Resource Manager templates (Definiowanie zasobów w szablonach usługi Azure Resource Manager).To view the JSON syntax for resources types, see Define resources in Azure Resource Manager templates.

W usłudze Resource Manager szablon jest przetwarzany jak wszystkie pozostałe żądania (zobacz ilustrację przedstawiającą Spójną warstwę zarządzania).Resource Manager processes the template like any other request (see the image for Consistent management layer). Szablon jest analizowany, a jego składnia zostaje poddana konwersji do operacji interfejsu API REST dla odpowiednich dostawców zasobów.It parses the template and converts its syntax into REST API operations for the appropriate resource providers. Na przykład, gdy usługa Resource Manager odbiera szablon o następującej definicji zasobu:For example, when Resource Manager receives a template with the following resource definition:

"resources": [
  {
    "apiVersion": "2016-01-01",
    "type": "Microsoft.Storage/storageAccounts",
    "name": "mystorageaccount",
    "location": "westus",
    "sku": {
      "name": "Standard_LRS"
    },
    "kind": "Storage",
    "properties": {
    }
  }
]

Konwertuje definicję do następującej operacji interfejsu API REST, która zostaje wysłana do dostawcy zasobów Microsoft.Storage:It converts the definition to the following REST API operation, which is sent to the Microsoft.Storage resource provider:

PUT
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/mystorageaccount?api-version=2016-01-01
REQUEST BODY
{
  "location": "westus",
  "properties": {
  }
  "sku": {
    "name": "Standard_LRS"
  },   
  "kind": "Storage"
}

Sposób definiowania szablonów i grup zasobów zależy wyłącznie od użytkownika, podobnie jak sposób zarządzania rozwiązaniem.How you define templates and resource groups is entirely up to you and how you want to manage your solution. Można na przykład wdrożyć aplikację trójwarstwową za pomocą jednego szablonu do pojedynczej grupy zasobów.For example, you can deploy your three tier application through a single template to a single resource group.

szablon trójwarstwowy

Nie trzeba jednak definiować całej infrastruktury w jednym szablonie.But, you do not have to define your entire infrastructure in a single template. Często dobrym rozwiązaniem jest podział wymagań dotyczących wdrożenia na szablony przeznaczone do określonego celu.Often, it makes sense to divide your deployment requirements into a set of targeted, purpose-specific templates. Te szablony mogą bez problemu być używane wielokrotnie w różnych rozwiązaniach.You can easily reuse these templates for different solutions. Aby wdrożyć dane rozwiązanie, należy utworzyć szablon wzorcowy połączony ze wszystkimi wymaganymi szablonami.To deploy a particular solution, you create a master template that links all the required templates. Na poniższej ilustracji przedstawiono sposób wdrażania rozwiązania trójwarstwowego za pomocą szablonu nadrzędnego, który zawiera trzy szablony zagnieżdżone.The following image shows how to deploy a three tier solution through a parent template that includes three nested templates.

zagnieżdżony szablon warstwowy

Jeśli przewidujesz, że warstwy będą miały osobne cykle, możesz wdrożyć trzy warstwy do osobnych grup zasobów.If you envision your tiers having separate lifecycles, you can deploy your three tiers to separate resource groups. Należy pamiętać, że zasoby mogą nadal być powiązane z zasobami w innych grupach zasobów.Notice the resources can still be linked to resources in other resource groups.

szablon warstwowy

Więcej rozwiązań dotyczących projektowania szablonów można znaleźć w temacie Patterns for designing Azure Resource Manager templates (Wzorce projektowania szablonów usługi Azure Resource Manager).For more suggestions about designing your templates, see Patterns for designing Azure Resource Manager templates. Informacje dotyczące szablonów zagnieżdżonych można znaleźć w temacie Using linked templates with Azure Resource Manager (Używanie szablonów połączonych w usłudze Azure Resource Manager).For information about nested templates, see Using linked templates with Azure Resource Manager.

Usługa Azure Resource Manager analizuje zależności i sprawdza, czy zasoby są tworzone we właściwej kolejności.Azure Resource Manager analyzes dependencies to ensure resources are created in the correct order. Jeśli jeden zasób opiera się na wartości z innego zasobu (na przykład maszyna wirtualna wymagająca konta magazynu na potrzeby dysków), ustawiana jest zależność.If one resource relies on a value from another resource (such as a virtual machine needing a storage account for disks), you set a dependency. Aby uzyskać więcej informacji, zobacz Defining dependencies in Azure Resource Manager templates (Definiowanie zależności w szablonach usługi Azure Resource Manager).For more information, see Defining dependencies in Azure Resource Manager templates.

Szablonu można także używać w celu aktualizacji infrastruktury.You can also use the template for updates to the infrastructure. Można na przykład dodać zasób do rozwiązania lub dodać reguły konfiguracji dla już wdrożonych zasobów.For example, you can add a resource to your solution and add configuration rules for the resources that are already deployed. Jeśli szablon służy do utworzenia zasobu, ale ten zasób już istnieje, usługa Azure Resource Manager przeprowadzi aktualizację, zamiast tworzyć nowy element zawartości.If the template specifies creating a resource but that resource already exists, Azure Resource Manager performs an update instead of creating a new asset. Usługa Azure Resource Manager zaktualizuje istniejący zasób do stanu określonego dla nowego zasobu.Azure Resource Manager updates the existing asset to the same state as it would be as new.

Usługa Resource Manager zapewnia rozszerzenia na potrzeby sytuacji, gdy potrzebne są dodatkowe operacje, które nie są uwzględnione w konfiguracji (np. zainstalowanie konkretnego oprogramowania).Resource Manager provides extensions for scenarios when you need additional operations such as installing particular software that is not included in the setup. Jeśli używasz już usługi do zarządzania konfiguracją, takiej jak DSC, Chef lub Puppet, dzięki rozszerzeniom możesz z nią dalej bez przeszkód pracować.If you are already using a configuration management service, like DSC, Chef or Puppet, you can continue working with that service by using extensions. Aby uzyskać informacje o rozszerzeniach i funkcjach maszyn wirtualnych, zobacz Informacje o rozszerzeniach i funkcjach maszyn wirtualnych.For information about virtual machine extensions, see About virtual machine extensions and features.

Ponadto szablon staje się częścią kodu źródłowego aplikacji.Finally, the template becomes part of the source code for your app. Można go zaewidencjonować w repozytorium kodu źródłowego i aktualizować w miarę rozwijania aplikacji.You can check it in to your source code repository and update it as your app evolves. Do edycji szablonu można używać programu Visual Studio.You can edit the template through Visual Studio.

Po zdefiniowaniu szablonu można przystąpić do wdrażania zasobów na platformie Azure.After defining your template, you are ready to deploy the resources to Azure. Aby poznać polecenia służące do wdrażania zasobów, zobacz:For the commands to deploy the resources, see:

TagiTags

Usługa Resource Manager udostępnia funkcję tagowania umożliwiającą dzielenie zasobów na kategorie zgodnie z wymaganiami zarządzania lub rozliczeń.Resource Manager provides a tagging feature that enables you to categorize resources according to your requirements for managing or billing. Tagi są przydatne w przypadku złożonych kolekcji grup zasobów i zasobów, które trzeba uporządkować wizualnie w możliwie logicznej formie.Use tags when you have a complex collection of resource groups and resources, and need to visualize those assets in the way that makes the most sense to you. Można na przykład oznaczyć tagami zasoby, które pełnią podobną rolę w organizacji lub należą do tego samego działu.For example, you could tag resources that serve a similar role in your organization or belong to the same department. Bez użycia tagów użytkownicy w organizacji mogą tworzyć wiele zasobów, które będą później bardzo trudne do znalezienia i zarządzania.Without tags, users in your organization can create multiple resources that may be difficult to later identify and manage. Na przykład możesz chcieć usunąć wszystkie zasoby dla określonego projektu.For example, you may wish to delete all the resources for a particular project. Jeśli te zasoby nie są opatrzone tagiem dla projektu, trzeba je znaleźć ręcznie.If those resources are not tagged for the project, you have to manually find them. Tagowanie może być istotnym sposobem na zredukowanie niepotrzebnych kosztów w ramach subskrypcji.Tagging can be an important way for you to reduce unnecessary costs in your subscription.

Zasoby mogą być oznaczone tym samym tagiem, nawet jeśli nie znajdują się w tej samej grupie zasobów.Resources do not need to reside in the same resource group to share a tag. Można utworzyć własną taksonomię tagów, aby mieć pewność, że wszyscy użytkownicy w organizacji używają tych samych tagów. Dzięki temu uniknie się pomyłek wynikających z użycia podobnych tagów (na przykład „wydział” zamiast „dział”).You can create your own tag taxonomy to ensure that all users in your organization use common tags rather than users inadvertently applying slightly different tags (such as "dept" instead of "department").

W poniższym przykładzie przedstawiono tag zastosowany względem maszyny wirtualnej.The following example shows a tag applied to a virtual machine.

"resources": [    
  {
    "type": "Microsoft.Compute/virtualMachines",
    "apiVersion": "2015-06-15",
    "name": "SimpleWindowsVM",
    "location": "[resourceGroup().location]",
    "tags": {
        "costCenter": "Finance"
    },
    ...
  }
]

Aby pobrać wszystkie zasoby z wartością tagu, użyj następującego polecenia cmdlet programu PowerShell:To retrieve all the resources with a tag value, use the following PowerShell cmdlet:

Find-AzureRmResource -TagName costCenter -TagValue Finance

Innym rozwiązaniem jest użycie następującego polecenia interfejsu wiersza polecenia platformy Azure w wersji 2.0:Or, the following Azure CLI 2.0 command:

az resource list --tag costCenter=Finance

Oznakowane zasoby można również wyświetlić za pośrednictwem witryny Azure Portal.You can also view tagged resources through the Azure portal.

Raport użycia dla subskrypcji obejmuje nazwy i wartości tagów, co pozwala na rozbicie kosztów według tagów.The usage report for your subscription includes tag names and values, which enables you to break out costs by tags. Aby uzyskać więcej informacji na temat tagów, zobacz Porządkowanie zasobów na platformie Azure za pomocą tagów.For more information about tags, see Using tags to organize your Azure resources.

Kontrola dostępuAccess control

Usługa Resource Manager pozwala kontrolować, kto może wykonywać określone czynności w organizacji.Resource Manager enables you to control who has access to specific actions for your organization. Zapewnia ona natywną integrację kontroli dostępu opartej na rolach (RBAC, role-based access control) z platformą zarządzania, umożliwiając stosowanie kontroli dostępu do wszystkich usług w grupie zasobów.It natively integrates role-based access control (RBAC) into the management platform and applies that access control to all services in your resource group.

W przypadku pracy przy użyciu kontroli dostępu opartej na rolach warto zapoznać się z dwoma najważniejszymi pojęciami:There are two main concepts to understand when working with role-based access control:

  • Definicje ról — opisują zestaw uprawnień i można ich używać w wielu przypisaniach.Role definitions - describe a set of permissions and can be used in many assignments.
  • Przypisania ról — kojarzą definicję z tożsamością (użytkownikiem lub grupą) dla określonego zakresu (subskrypcji, grupy zasobów lub zasobu).Role assignments - associate a definition with an identity (user or group) for a particular scope (subscription, resource group, or resource). Przypisanie jest dziedziczone przez niższe zakresy.The assignment is inherited by lower scopes.

Można dodać użytkowników do wstępnie zdefiniowanej platformy i ról określonych zasobów.You can add users to pre-defined platform and resource-specific roles. Na przykład można skorzystać ze wstępnie zdefiniowanej roli o nazwie Czytelnik, która pozwala użytkownikom na wyświetlanie zasobów, ale nie na ich zmianę.For example, you can take advantage of the pre-defined role called Reader that permits users to view resources but not change them. Wystarczy dodać użytkowników w organizacji, którzy potrzebują tego typu dostępu, do roli Czytelnik i zastosować rolę do subskrypcji, grupy zasobów lub zasobu.You add users in your organization that need this type of access to the Reader role and apply the role to the subscription, resource group, or resource.

Platforma Azure udostępnia cztery następujące role platformy:Azure provides the following four platform roles:

  1. Właściciel — może zarządzać wszystkim, łącznie z dostępemOwner - can manage everything, including access
  2. Współautor — może zarządzać wszystkim oprócz dostępuContributor - can manage everything except access
  3. Czytelnik — może przeglądać wszystko, ale nie może wprowadzać zmianReader - can view everything, but can't make changes
  4. Administrator dostępu użytkownika — może zarządzać dostępem użytkowników do zasobów platformy AzureUser Access Administrator - can manage user access to Azure resources

Platforma Azure udostępnia kilka ról specyficznych dla zasobów.Azure also provides several resource-specific roles. Niektóre typowe z nich to:Some common ones are:

  1. Współautor maszyny wirtualnej — może zarządzać maszynami wirtualnymi, ale nie może udzielać dostępu do nich ani nie może zarządzać siecią wirtualną lub kontem magazynu, do którego te maszyny wirtualne są podłączoneVirtual Machine Contributor - can manage virtual machines but not grant access to them, and cannot manage the virtual network or storage account to which they are connected
  2. Współautor sieci — może zarządzać wszystkimi zasobami sieci, ale nie może udzielać dostępu do nichNetwork Contributor - can manage all network resources, but not grant access to them
  3. Współautor konta magazynu — może zarządzać kontami magazynu, ale nie może udzielać dostępu do nichStorage Account Contributor - Can manage storage accounts, but not grant access to them
  4. Współautor serwera SQL — może zarządzać bazami danych i serwerami SQL, ale nie ich zasadami związanymi z zabezpieczeniamiSQL Server Contributor - Can manage SQL servers and databases, but not their security-related policies
  5. Współautor witryny sieci Web — może zarządzać witrynami sieci Web, ale nie planami sieci Web, do których są podłączoneWebsite Contributor - Can manage websites, but not the web plans to which they are connected

Aby uzyskać pełną listę ról i dozwolonych akcji, zobacz Kontrola dostępu oparta na rolach (RBAC): wbudowane role.For the full list of roles and permitted actions, see RBAC: Built in Roles. Aby uzyskać więcej informacji na temat kontroli dostępu na podstawie ról, zobacz temat Azure Role-Based Access Control (Kontrola dostępu na podstawie ról na platformie Azure).For more information about role-based access control, see Azure Role-based Access Control.

W niektórych przypadkach istnieje potrzeba uruchomienia kodu lub skryptu, który uzyskuje dostęp do zasobów, ale nie ma zostać uruchomiony w ramach poświadczeń użytkownika.In some cases, you want to run code or script that accesses resources, but you do not want to run it under a user’s credentials. Zamiast tego ma zostać utworzona jednostka usługi dla aplikacji. Do tej jednostki usługi ma następnie zostać przypisana odpowiednia rola.Instead, you want to create an identity called a service principal for the application and assign the appropriate role for the service principal. Usługa Resource Manager umożliwia tworzenie poświadczeń dla aplikacji i programowe uwierzytelnianie aplikacji.Resource Manager enables you to create credentials for the application and programmatically authenticate the application. Aby dowiedzieć się więcej o tworzeniu jednostek usług, zobacz jeden z następujących tematów:To learn about creating service principals, see one of following topics:

Można również jawnie zablokować dostęp do kluczowych zasobów, aby uniemożliwić użytkownikom ich usuwanie i modyfikowanie.You can also explicitly lock critical resources to prevent users from deleting or modifying them. Aby uzyskać więcej informacji, zobacz Lock resources with Azure Resource Manager (Blokowanie zasobów w usłudze Azure Resource Manager).For more information, see Lock resources with Azure Resource Manager.

Dzienniki aktywnościActivity logs

Usługa Resource Manager rejestruje wszystkie operacje służące do tworzenia, modyfikowania lub usuwania zasobu.Resource Manager logs all operations that create, modify, or delete a resource. Dzienników aktywności można użyć do znalezienia błędu podczas rozwiązywania problemów lub do monitorowania sposobu, w jaki zasób został zmodyfikowany przez użytkownika w organizacji.You can use the activity logs to find an error when troubleshooting or to monitor how a user in your organization modified a resource. Aby wyświetlić dzienniki, wybierz pozycję Dzienniki aktywności w bloku Ustawienia dla grupy zasobów.To see the logs, select Activity logs in the Settings blade for a resource group. Dzienniki można filtrować według wielu różnych wartości, w tym według użytkownika, który zainicjował operację.You can filter the logs by many different values including which user initiated the operation. Aby uzyskać informacje dotyczące pracy z dziennikami aktywności, zobacz View activity logs to manage Azure resources (Wyświetlanie dzienników aktywności w celu zarządzania zasobami platformy Azure).For information about working with the activity logs, see View activity logs to manage Azure resources.

Zasady niestandardoweCustomized policies

Usługa Resource Manager umożliwia tworzenie zasad niestandardowych na potrzeby zarządzania zasobami.Resource Manager enables you to create customized policies for managing your resources. Typy tworzonych zasad mogą obejmować różne scenariusze.The types of policies you create can include diverse scenarios. Można wymusić konwencję nazewnictwa zasobów, ograniczyć typy i wystąpienia zasobów, które można wdrożyć, lub wprowadzić ograniczenia dotyczące regionów, które mogą hostować dany typ zasobu.You can enforce a naming convention on resources, limit which types and instances of resources can be deployed, or limit which regions can host a type of resource. Można wymagać wartości tagu dla zasobów w celu organizowania rozliczania według działów.You can require a tag value on resources to organize billing by departments. Tworzenie zasad umożliwia obniżenie kosztów i zachowanie spójności w ramach subskrypcji.You create policies to help reduce costs and maintain consistency in your subscription.

Zasady są definiowane za pomocą pliku JSON, a następnie stosowane w ramach subskrypcji lub grupy zasobów.You define policies with JSON and then apply those policies either across your subscription or within a resource group. Zasady są inne niż kontrola dostępu oparta na rolach, ponieważ są stosowane względem typów zasobów.Policies are different than role-based access control because they are applied to resource types.

W poniższym przykładzie przedstawiono zasady, które zapewniają spójność tagów dzięki określeniu, że wszystkie zasoby zawierają tag costCenter.The following example shows a policy that ensures tag consistency by specifying that all resources include a costCenter tag.

{
  "if": {
    "not" : {
      "field" : "tags",
      "containsKey" : "costCenter"
    }
  },
  "then" : {
    "effect" : "deny"
  }
}

Można utworzyć o wiele więcej typów zasad.There are many more types of policies you can create. Aby uzyskać więcej informacji, zobacz artykuł Co to jest usługa Azure Policy?.For more information, see What is Azure Policy?.

Zestawy SDKSDKs

Zestawy Azure SDK są dostępne dla wielu języków i platform.Azure SDKs are available for multiple languages and platforms. Implementacje dla poszczególnych języków są dostępne za pośrednictwem menedżera pakietów danego ekosystemu oraz w usłudze GitHub.Each of these language implementations is available through its ecosystem package manager and GitHub.

Oto nasze repozytoria zestawów SDK typu open source.Here are our Open Source SDK repositories. Zachęcamy do wysyłania opinii, zgłaszania problemów i przesyłania żądań ściągnięcia.We welcome feedback, issues, and pull requests.

Aby uzyskać informacje na temat korzystania z tych języków do obsługi zasobów, zobacz:For information about using these languages with your resources, see:

Uwaga

Jeśli dany zestaw SDK nie udostępnia wymaganych funkcji, możesz również bezpośrednio wywołać interfejs API REST platformy Azure.If the SDK doesn't provide the required functionality, you can also call to the Azure REST API directly.

Następne krokiNext steps

Oto film z omówieniem tego zagadnienia:Here's a video demonstration of this overview: