Sdílet prostřednictvím


Konfigurace gMSA ve službě Azure Kubernetes Service pomocí modulu PowerShellu

V této části se podíváme, jak nastavit gMSA ve službě Azure Kubernetes Service pomocí gMSA v modulu PowerShellu AKS. Následující postup předpokládá, že jste nainstalovali gMSA do modulu AKS PowerShellu, připojili jste se ke clusterům AKS a zadali požadované parametry. Pokud jste to ještě neudělali, nezapomeňte postupovat podle kroků v první části tohoto kurzu.

Ověřte, že je v clusteru AKS správně nakonfigurovaná funkce gMSA.

Váš cluster AKS může nebo nemusí být už nakonfigurovaný pro gMSA. Pokud chcete ověřit, že je cluster připravený k využití gMSA, spusťte následující příkaz:

 Confirm-AksGMSAConfiguration `
 -AksResourceGroupName $params["aks-cluster-rg-name"] `
 -AksClusterName $params["aks-cluster-name"] `
 -AksGMSADomainDnsServer $params["domain-dns-server"] `
 -AksGMSARootDomainName $params["domain-fqdn"]

Po konfiguraci clusteru můžete nakonfigurovat zbývající infrastrukturu potřebnou pro fungování gMSA.

Konfigurace prostředí Služby Active Directory

Prvním krokem při přípravě služby Active Directory je zajištění konfigurace systému distribuce klíčů. V tomto kroku je potřeba příkazy spouštět pomocí přihlašovacích údajů se správným delegováním na řadiči domény. Tuto úlohu lze delegovat autorizovaným osobám.

Spuštěním následujícího příkazu z řadiče domény povolte kořenový klíč:

Pro produkční prostředí:

# You will need to wait 10 hours before the KDS root key is
# replicated and available for use on all domain controllers.
Add-KdsRootKey -EffectiveImmediately

Pro testovací prostředí:

# For single-DC test environments ONLY.
Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)

U následujících příkazů je můžete spustit buď na řadiči domény, nebo ve vzdálené relaci PowerShellu. Pokud běží z řadiče domény, odeberte z příkazu parametry DomainControllerAddress, DomainUser a DomainPassword.

Pokud běží vzdáleně, ujistěte se, že je řadič domény nakonfigurovaný pro vzdálenou správu.

Vytvoření standardního uživatele domény

 # Creates the standard domain user.
 New-GMSADomainUser `
 -Name $params["gmsa-domain-user-name"] `
 -Password $params["gmsa-domain-user-password"] `
 -DomainControllerAddress $params["domain-controller-address"] `
 -DomainAdmin "$($params["domain-fqdn"])\$($params["domain-admin-user-name"])" `
 -DomainAdminPassword $params["domain-admin-user-password"]

Vytvoření gMSA

 # Creates the gMSA account, and it authorizes only the standard domain user.
 New-GMSA `
 -Name $params["gmsa-name"] `
 -AuthorizedUser $params["gmsa-domain-user-name"] `
 -DomainControllerAddress $params["domain-controller-address"] `
 -DomainAdmin "$($params["domain-fqdn"])\$($params["domain-admin-user-name"])" `
 -DomainAdminPassword $params["domain-admin-user-password"]

Nastavení služby Azure Key Vault a spravované identity přiřazené uživatelem Azure

Azure Key Vault (AKV) se použije k ukládání přihlašovacích údajů používaných uzly Windows v AKS ke komunikaci s řadiči domény služby Active Directory. Spravovaná identita (MI) se použije k zajištění správného přístupu k AKV pro uzly Windows.

Vytvoření trezoru klíčů Azure

 # The Azure key vault will have a secret with the credentials of the standard
 # domain user authorized to fetch the gMSA.
 New-GMSAAzureKeyVault `
 -ResourceGroupName $params["aks-cluster-rg-name"] `
 -Location $params["azure-location"] `
 -Name $params["akv-name"] `
 -SecretName $params["akv-secret-name"] `
 -GMSADomainUser "$($params["domain-fqdn"])\$($params["gmsa-domain-user-name"])" `
 -GMSADomainUserPassword $params["gmsa-domain-user-password"]

Vytvoření spravované identity přiřazené uživatelem Azure

 New-GMSAManagedIdentity `
 -ResourceGroupName $params["aks-cluster-rg-name"] `
 -Location $params["azure-location"] `
 -Name $params["ami-name"]

Udělení přístupu AKV k hostitelům AKS s Windows

 # Appends the user-assigned managed identity to the AKS Windows agent pools given as input parameter.
 # Configures the AKV read access policy for the user-assigned managed identity.
 Grant-AkvAccessToAksWindowsHosts `
 -AksResourceGroupName $params["aks-cluster-rg-name"] `
 -AksClusterName $params["aks-cluster-name"] `
 -AksWindowsNodePoolsNames $params["aks-win-node-pools-names"] `
 -VaultResourceGroupName $params["aks-cluster-rg-name"] `
 -VaultName $params["akv-name"] `
 -ManagedIdentityResourceGroupName $params["aks-cluster-rg-name"] `
 -ManagedIdentityName $params["ami-name"]

Nastavení specifikace přihlašovacích údajů gMSA s využitím prostředků RBAC

 # Creates the gMSA credential spec.
 # Configures the appropriate RBAC resources (ClusterRole and RoleBinding) for the spec.
 # Executes AD commands to get the appropriate domain information for the credential spec.
 New-GMSACredentialSpec `
 -Name $params["gmsa-spec-name"] `
 -GMSAName $params["gmsa-name"] `
 -ManagedIdentityResourceGroupName $params["aks-cluster-rg-name"] `
 -ManagedIdentityName $params["ami-name"] `
 -VaultName $params["akv-name"] `
 -VaultGMSASecretName $params["akv-secret-name"] `
 -DomainControllerAddress $params["domain-controller-address"] `
 -DomainUser "$($params["domain-fqdn"])\$($params["gmsa-domain-user-name"])" `
 -DomainUserPassword $params["gmsa-domain-user-password"]

V této fázi se dokončí konfigurace gMSA v AKS. Nyní můžete nasadit svou úlohu na uzly Windows.

Další krok