AKS řízení zabezpečení a dodržování předpisů na podnikové platforměAKS enterprise-scale platform security governance and compliance

Tento článek vás provede aspekty zásad správného řízení zabezpečení Azure Kubernetes Service (AKS), které se před implementací jakéhokoli řešení zamyslou.This article walks through aspects of Azure Kubernetes Service (AKS) security governance to think about before implementing any solution.

Většina tohoto obsahu je nezávislá technologie, protože implementace se v různých zákaznících liší.Most of this content is technology-agnostic, because implementation varies among customers. Tento článek se zaměřuje na implementaci řešení pomocí Azure a některých open-source softwaru (OSS).The article focuses on how to implement solutions using Azure and some open-source software (OSS).

Životní cyklus řízení zabezpečení clouduCloud security control lifecycle

V cloudu – nativní zabezpečení a zásady správného řízení může být Cloud dynamický, zatímco většina podniků se používá pro relativně stabilní prostředí.In cloud-native security and governance, the cloud can be dynamic, whereas most enterprises are used to relatively stable environments. Tradiční prostředí zahrnují ovládací prvky pro detekci a prevenci ve strukturovaném organizačním modelu, které se zarovnají s tradičními funkcemi IT, jako jsou identity, sítě a správa operačních systémů virtuálních počítačů (VM).Traditional environments include detection and prevention controls in a structured organizational model that aligns with traditional IT functions like identity, networking, and machine and virtual machine (VM) OS management. Tradiční týmy zabezpečení a dodržování předpisů čelí relativně nečastým změnám v celkové struktuře a infrastruktuře nebo povinným kontrolám a monitorováním při dosahování zabezpečení a rizikových cílů.Traditional security and compliance teams face relatively infrequent changes to overall structure and infrastructure, or to required controls and monitoring to achieve security and risk objectives.

Díky přijetí cloudových a DevOps modelů se musí zabezpečení přizpůsobit změnám, takže se nestane překážkou pro podnikání a pokrok.With the adoption of cloud and DevOps models, security must adapt to changes, so it doesn't become an impediment to business and progress. Přizpůsobení zabezpečení zahrnují procesy uživatelů, jako je vytváření správných rolí a odpovědností, a automatizace a technické nástroje, jako je skenování, testování a infrastruktura jako kód.Security adaptations include people processes like creating the right roles and responsibilities, and automation and technical tools like scanning, testing, and infrastructure as code. Tyto nástroje jsou součástí DevOps kanálu, který umožňuje inovace a rychlé doručení a zároveň stále splňuje požadavky na zabezpečení.These tools are part of a DevOps pipeline that enables innovation and fast delivery times, while still meeting security requirements.

Pokušení je začít tím, co v současnosti provedete, ale Key poznatkem je to, že pokud se pokusíte v cloudu dělat přesně to, co je dnes v místním prostředí, nebudete mít k chybě.The temptation is to begin by doing what you do today, but the key takeaway is that if you try to do in the cloud exactly what you do today on-premises, you will fail. Přijetí do cloudu je příležitost, jak se naučit, aktualizovat dovednosti a zvyšovat stav zabezpečení organizace.Cloud adoption is an opportunity to learn, update skills, and increase the organization's security posture. Zabezpečení je možné umístit jako aktivátor, nikoli jako blokování, a to díky zjednodušení zabezpečení v rámci vývoje produkčního procesu.You can position security to be an enabler rather than a blocker by streamlining security as part of the development to production process. Pokud používáte 10-20 a staré nástroje, můžete zdědit nebo zavést 10-20 jednoleté výzvy k zabezpečení, problémy a frustrations.If you use 10-20 year-old tools and processes, you inherit or introduce 10-20 year-old security challenges, problems, and frustrations. Přijetí do cloudu je pravděpodobnost, že začnete s čerstvými.Cloud adoption is your chance to start fresh.

Začínáte začít s porozuměním cloudu.Starting fresh begins with an understanding of the cloud.

  • Jaké jsou dostupné cloudové služby, ovládací prvky a viditelnost?What are the available cloud services, controls, and visibility?
  • Jak provozovat cloudové služby a ovládací prvky?How do you operate the cloud services and controls?
  • Jaké jsou dostupné nástroje zabezpečení a nástroje zásad správného řízení?What are the available security tools and governance tools?
  • Jak můžete využívat nástroje zabezpečení a zásad správného řízení v procesech a systémech, takže obchodní modely můžou být flexibilnější pomocí moderního modelu DevOps?How can you use security and governance tools in processes and systems, so lines of business can be more agile with a modern DevOps model?
  • Jak se dá zajistit, aby splňoval požadavky na zabezpečení a dodržování předpisů?How can you make sure to meet security and compliance requirements?

Často je nejjednodušší začít architekturu životního cyklu z perspektivy procesu, jak při vytváření bezpečnostních mechanismů, tak i spravovat a zprovozňování kontroly.It's often easiest to start a lifecycle framework from a process perspective, both in establishing security controls, and managing and operationalizing the controls themselves. Pro vytváření bezpečnostních mechanismů mnoho zákazníků používá společná rozhraní a standardy jako NIST 800-53, ISO, srovnávací testy modelů a HIPAA/HITRUST.For establishing security controls, many customers use common frameworks and standards like NIST 800-53, ISO, CIS benchmarks, and HIPAA/HITRUST. Tyto standardy vám mohou pomoci vytvořit komplexní rozhraní a nabídnout vám pokyny, jak vytvořit, dokumentovat a auditovat kontrolní mechanismy a procesy zabezpečení.These standards can help establish a comprehensive framework, and offer guidance to help establish, document, and audit security controls and processes.

Pro správu a zprovozňování řízení zabezpečení se můžete podívat na různé modely, včetně procesů životního cyklu vývoje zabezpečení, které zahrnují Cloud a DevOps.For managing and operationalizing security controls, you can look at various models, including security development lifecycle processes that include cloud and DevOps. Tyto přístupy a modely zacházejí s ovládacími prvky zabezpečení, jako jsou jakékoli jiné prostředky v organizaci, a zahrnují správu životního cyklu.These approaches and models treat security controls like any other assets in an organization, and include lifecycle management. Následující diagram znázorňuje příklad správy životního cyklu řízení zabezpečení organizace:The following diagram shows an example of an organization's security control lifecycle management:

Diagram znázorňující nastavení správy životního cyklu kontroly zabezpečení Azure

Architektura řízení zabezpečení AzureAzure security control architecture

Všechny kontroly zabezpečení Azure začínají na a sestavují rozhraní Azure Resource Manager API.All Azure security controls start with, and build on top of, the Azure Resource Manager API. Následující diagram znázorňuje, jak Azure Policy modul pomáhá vymáhat zásady bez ohledu na jejich původ.The following diagram shows how the Azure Policy engine helps enforce policies regardless of their origin. Tato možnost je důležitá, protože to znamená, že organizace nemusejí definovat zásady na více místech.This ability is important because it means organizations don't have to define policies in multiple places.

Diagram znázorňující architekturu řízení zabezpečení Azure.

Zásady správného řízení řízení bezpečnostiSecurity control governance

Jednou z klíčových výhod rozhraní řízení bezpečnosti je začlenění zásad správného řízení a řízení auditu.One of the key benefits of a security control framework is its incorporation of governance and controls auditing. Kromě Azure Policy zahrnuje řízení řízení bezpečnosti Azure Azure Security Centers jeho bezpečným skóre a funkcemi řídicího panelu dodržování předpisů.In addition to Azure Policy, Azure security control governance includes Azure Security Center, with its secure score and compliance dashboard features. Dodržování předpisů, a to v jádru, je vše o pozorování zásad správného řízení.Compliance, at its core, is all about governance observability. Na následujícím obrázku vidíte ukázkový řídicí panel dodržování předpisů:The following image shows a sample compliance dashboard:

Diagram znázorňující zásady správného řízení řízení bezpečnosti Azure.

Nastavení řízení zabezpečení AzureAzure security controls setup

Tato část vás provede nastavením architektury pro řízení zabezpečení specifické pro Azure.This section walks through setting up an overarching Azure-specific security control framework. Tato část předpokládá, že ovládací prvky zabezpečení organizace jsou už navázané.This section assumes organizational security controls are already established. Definování těchto ovládacích prvků zabezpečení není v oboru tohoto článku.Defining these security controls is out of scope for this article.

Následující části popisují implementaci následujících ovládacích prvků pro splnění požadavků na zabezpečení fiktivních finančních scénářů contoso:The following sections describe implementing the following controls to meet security requirements for a fictitious Contoso Financials scenario:

  • Protokoluje všechny požadavky cloudového rozhraní API pro účely vytváření sestav auditu.Log all cloud API requests for audit reporting purposes.
  • Povolte rozsahy povolených IP adres pro zabezpečení přístupu k serveru rozhraní API.Enable authorized IP ranges to secure access to the API server.
  • Pomocí povolených umístění můžete vytvářet clustery AKS jenom v určitých oblastech.Use allowed locations to create AKS clusters only in certain regions.

Tyto ovládací prvky jsou pouze podmnožinou ovládacích prvků zabezpečení a zásad Azure, které zahrnují úplné nasazení Azure.These controls are just a subset of the security controls and Azure policies that a full Azure deployment includes. Jakmile pochopíte tento proces, můžete ho opakovat, abyste implementovali jakékoli další kontroly zabezpečení, které vaše organizace vyžaduje.Once you understand the process, you can repeat it to implement any other security controls your organization requires.

Protokolovat všechny požadavky cloudového rozhraní API pro účely vytváření sestav audituLog all cloud API requests for audit reporting purposes

Protokoly aktivit Azure zaznamenávají všechny interakce Azure Resource Manager, včetně protokolů auditu.Azure activity logs capture all Azure Resource Manager interactions, including audit logs. Tato výzva znamená, že protokoly aktivit mají jenom určitý životní cyklus uchovávání.The challenge is that activity logs only have a certain retention lifecycle. Chcete-li zachovat protokoly pro vytváření sestav auditu, je nutné exportovat data z protokolů aktivit do trvalého umístění úložiště, například do protokolů Azure Monitor.To retain logs for audit reporting, you must export the data out of the activity logs into a more persistent storage location, such as Azure Monitor Logs.

Kurz o nastavení shromažďování protokolů aktivit pro předplatné Azure najdete v tématu odeslání do pracovního prostoru Log Analytics.For a tutorial on how to set up activity log collection for an Azure subscription, see Send to a Log Analytics workspace.

Následující snímek obrazovky ukazuje zachycení protokolu aktivit Azure v pracovním prostoru Azure Log Analytics:The following screenshot shows an Azure activity log capture in an Azure Log Analytics workspace:

Snímek obrazovky znázorňující zachycení protokolu aktivit

Povolit službě Azure Security monitoring kontrolu nad povolenými rozsahy IP adresEnable Azure security monitoring to check for authorized IP ranges

Než cokoli vytvoříte, Prohlédněte si poskytovatele cloudu a osvědčené postupy a doporučení pro monitorování zabezpečení.Before you create anything, look to your cloud provider for security monitoring best practices and recommendations. Poskytovatel cloudu neimplementuje všechna bezpečnostní opatření, která organizace potřebuje, ale v klíči je možné používat poskytnuté ovládací prvky k tomu, abyste se vyhnuli rezásobení kolečkem a mohli vytvářet vlastní ovládací prvky pouze v případě potřeby.The cloud provider doesn't implement all the security controls an organization needs, but the key is to use the provided controls to avoid reinventing the wheel, and to create custom controls only when necessary.

V Azure můžete povolit Azure Security Center pro zobrazení doporučení pro monitorování zabezpečení.In Azure, you can enable Azure Security Center to see security monitoring recommendations. K určení, jestli má cluster AKS povolené rozsahy povolených IP adres, můžete použít taky Azure Security Center.You can also use Azure Security Center to determine whether an AKS cluster has authorized IP ranges enabled.

Pokud chcete povolit Azure Security Center Standard pro předplatné Azure, přečtěte si rychlý Start: nastavení Azure Security Center.To enable Azure Security Center Standard for an Azure subscription, see Quickstart: set up Azure Security Center.

Následující snímek obrazovky ukazuje Azure Security Center standardní monitorování:The following screenshot shows Azure Security Center Standard monitoring:

Snímek obrazovky zobrazující monitorování Azure Security Center Standard.

Vynutilo Azure Policy vytvářet clustery AKS jenom v určitých oblastech.Enforce an Azure Policy to create AKS clusters only in certain regions

Podívejte se také na poskytovatele cloudu pro vynucení zásad.Also look to the cloud provider for policy enforcement. V Azure vyhodnoťte Azure Policy, což je klíčová součást roviny řízení podniku.In Azure, evaluate Azure Policy, which is a key part of the enterprise control plane. Nemůžete dělat všechno s Azure Policy, ale klíč je použít k tomu, co je k dispozici, abyste se vyhnuli rezásobování kolečka, a vytvářet vlastní ovládací prvky pouze v případě potřeby.You can't do everything with Azure Policy, but the key is to use what's provided to avoid reinventing the wheel, and to create custom controls only when necessary.

K implementaci povolených umístění pro vytváření prostředků Azure, jako jsou clustery AKS, můžete použít Azure Policy.You can use Azure Policy to implement allowed locations for creating Azure resources like AKS clusters. Další informace a pokyny najdete v tématu kurz: vytvoření a Správa zásad pro vymáhání dodržování předpisů.For more information and instructions, see Tutorial: create and manage policies to enforce compliance.

Následující snímky obrazovky ukazují kroky použití Azure Policy k implementaci povolených umístění oblastí.The following screenshots show the steps of using Azure Policy to implement allowed region locations.

  1. V Azure Policy vyberte integrovaná zásada povolených umístění .Select the built-in Allowed locations policy in Azure Policy.

    Snímek obrazovky s předdefinovanými zásadami Azure

  2. Zobrazte definici zásady a přiřaďte zásady.View the policy definition and assign the policy.

    Snímek obrazovky znázorňující definici zásad povolených umístění

  3. Nakonfigurujte zásady.Configure the policy.

    Snímek obrazovky s konfigurací povolených umístění

  4. Nakonfigurujte parametry zásad.Configure the policy parameters.

    Snímek obrazovky zobrazující obrazovku s parametry povolených umístění

  5. Zobrazení přiřazení zásad.View policy assignments.

    Snímek obrazovky znázorňující přiřazení Azure Policy

Možnost omezit vytváření prostředků na konkrétní oblast je jenom jedna z mnoha dostupných zásad Azure.The ability to restrict resource creation to a specific region is just one of many available Azure policies.

Řízení nákladůCost governance

Řízení nákladů je nepřetržitý proces implementace zásad pro řízení nákladů.Cost governance is the continuous process of implementing policies to control costs. V kontextu Kubernetes existuje několik způsobů, jak můžou organizace řídit a optimalizovat náklady.In the Kubernetes context, there are several ways organizations can control and optimize costs. Patří sem nativní nástroje Kubernetes ke správě a řízení využití a používání prostředků a aktivně monitorují a optimalizují základní infrastrukturu.These include native Kubernetes tooling to manage and govern resource usage and consumption and proactively monitor and optimize the underlying infrastructure.

V této části se dozvíte, jak pomocí Kubecost řídit náklady na cluster AKS.This section shows how to use Kubecost to govern AKS cluster cost. Můžete určit rozsah přidělení nákladů na nasazení, službu, popisek, pod nebo obor názvů, který poskytuje flexibilitu při navracení zpět nebo zobrazování uživatelů clusteru.You can scope cost allocation to a deployment, service, label, pod, or namespace, which provides flexibility in charging back or showing cluster users.

Nainstalovat KubecostInstall Kubecost

K dispozici je několik možností instalace Kubecost.There are several Kubecost installation options. Další informace najdete v tématu instalace Kubecost.For more information, see Installing Kubecost.

Pokud chcete nainstalovat Kubecost přímo, použijte následující příkazy:To install Kubecost directly, use the following commands:


# Create the Kubecost namespace

kubectl create namespace kubecost

# Install Kubecost into the AKS cluster

kubectl apply -f https://raw.githubusercontent.com/kubecost/cost-analyzer-helm-chart/master/kubecost.yaml --namespace kubecost

K instalaci Kubecost pomocí Helm 2 použijte následující příkazy:To install Kubecost by using Helm 2, use the following commands:

helm repo add kubecost https://kubecost.github.io/cost-analyzer/
helm install kubecost/cost-analyzer --namespace kubecost --name kubecost --set kubecostToken="YWxnaWJib25AbWljcm9zb2Z0LmNvbQ==xm343yadf98"

K instalaci Kubecost pomocí Helm 3 použijte následující příkazy:To install Kubecost by using Helm 3, use the following commands:

kubectl create namespace kubecost
helm repo add kubecost https://kubecost.github.io/cost-analyzer/
helm install kubecost kubecost/cost-analyzer --namespace kubecost --set kubecostToken="YWxnaWJib25AbWljcm9zb2Z0LmNvbQ==xm343yadf98"

Po několika minutách ověřte, že je Kubecost v provozu:After a few minutes, check to make sure that Kubecost is up and running:

kubectl get pods -n kubecost

# Connect to the Kubecost dashboard UI

kubectl port-forward -n kubecost svc/kubecost-cost-analyzer 9090:9090

Teď můžete otevřít prohlížeč a Ukázat na http://127.0.0.1:9090 to, abyste otevřeli uživatelské rozhraní Kubecost.You can now open your browser and point to http://127.0.0.1:9090 to open the Kubecost UI. V uživatelském rozhraní Kubecost vyberte svůj cluster pro zobrazení informací o přidělení nákladů.In the Kubecost UI, select your cluster to view cost allocation information.

Kubecost rozdělí prostředky do následujících kategorií:Kubecost breaks down resources into the following categories:

  • Měsíční náklady na clusterMonthly cluster cost
  • Náklady na obor názvůNamespace cost
  • Náklady na prostředky nasazeníDeployment resource cost
  • Efektivita nákladůCost efficiency

Vyberte svůj cluster, abyste viděli přehled, jako je například následující řídicí panel:Select your cluster to see an overview like the following dashboard:

Snímek obrazovky zobrazující řídicí panel Kubecost

Vyberte alokaci vlevo a dig dolů na náklady na obor názvů vašich prostředků.Select Allocation on the left to dig down into the namespace cost of your resources. Přidělení ukazuje náklady na procesor, paměť, trvalé svazky a síť.Allocation shows the cost for CPU, memory, persistent volumes, and network. Kubecost získává data z cen Azure, ale můžete také nastavit vlastní náklady na prostředky.Kubecost gets the data from Azure pricing, but you can also set custom costs for the resources.

Snímek obrazovky znázorňující obrazovku pro přidělení Kubecost

Vyberte úspory vlevo a dig se na úspory nákladů pro nevyužité prostředky.Select Savings on the left to dig into cost savings for underutilized resources. Úspory poskytují informace o nevyužitých uzlech a luskech a opuštěnéch prostředcích a identifikuje požadavky na prostředky, které jsou v clusteru přetížené.Savings gives you information about underutilized nodes and pods and abandoned resources, and identifies resource requests that are overprovisioned within the cluster. Následující snímek obrazovky ukazuje příklad úspory a Přehled:The following screenshot shows an example Savings overview:

Snímek obrazovky zobrazující obrazovku úspory Kubecost

Přecházení k různým zobrazením a funkcím, které poskytuje Kubecost, můžete nějakou dobu trvat.Take some time to navigate around the different views and features that Kubecost provides.

Na co dát pozor při navrhováníDesign considerations

AKS má několik rozhraní pro jiné služby Azure, jako jsou Azure Active Directory, Azure Storage a Azure Virtual Network, které během plánovací fáze vyžadují zvláštní pozornost.AKS has several interfaces to other Azure services like Azure Active Directory, Azure Storage, and Azure Virtual Network, which require special attention during the planning phase. AKS také přináší další složitost, která vyžaduje, abyste měli v úvahu použití stejného mechanismu zabezpečení, zásad správného řízení a dodržování předpisů a ovládacích prvků jako ve zbývající části vaší infrastruktury.AKS also adds extra complexity that requires you to consider applying the same security, governance, and compliance mechanisms and controls as in the rest of your infrastructure landscape.

Zde jsou některé další faktory návrhu pro řízení bezpečnosti AKS a dodržování předpisů:Here are some other design considerations for AKS security governance and compliance:

  • Rozhodněte, jestli je řídicí rovina clusteru přístupná přes Internet, což je výchozí nastavení, nebo jenom v rámci konkrétní virtuální sítě jako privátní cluster.Decide whether the cluster's control plane is accessible via the internet, which is the default, or only within a specific virtual network as a private cluster.

  • Vyhodnoťte pomocí integrovaného modulu zabezpečení AppArmor Linux k omezení akcí, které mohou kontejnery provádět, jako jsou čtení, zápis, spouštění nebo systémové funkce jako připojování systémů souborů.Evaluate using the built-in AppArmor Linux security module to limit actions that containers can perform, like read, write, execute, or system functions like mounting file systems.

  • Pomocí seccomp (Secure Computing) na úrovni procesu Omezte volání procesů, které mohou kontejnery provádět.Evaluate using secure computing (seccomp) at the process level to limit the process calls that containers can perform.

  • Zvažte použití Azure Defenderu pro Kubernetes k detekci hrozeb.Consider using Azure Defender for Kubernetes for threat detection.

Doporučení pro návrhDesign recommendations