Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo gMSA for Linux container su Fargate
Amazon ECS supporta l'autenticazione Active Directory per contenitori Linux su Fargate tramite un tipo speciale di account di servizio chiamato Account di servizio gestito di gruppo (gMSA).
Linux applicazioni di rete basate, come .NET Le applicazioni principali possono utilizzare Active Directory per facilitare l'autenticazione e la gestione delle autorizzazioni tra utenti e servizi. Puoi utilizzare questa funzionalità progettando applicazioni che si integrano con Active Directory e vengono eseguite su server aggiunti al dominio. Ma perché Linux i contenitori non possono essere aggiunti a un dominio, è necessario configurare un Linux contenitore con cui eseguire gMSA.
Considerazioni
Considerate quanto segue prima dell'uso gMSA for Linux contenitori su Fargate:
-
È necessario utilizzare la versione 1.4 o successiva della piattaforma.
-
Potresti aver bisogno di un Windows computer aggiunto al dominio per completare i prerequisiti. Ad esempio, potrebbe essere necessario un Windows computer aggiunto al dominio per creare il gMSA in Active Directory con PowerShell. La RSAT PowerShell Gli strumenti Active Director sono disponibili solo per Windows. Per ulteriori informazioni, vedere Installazione degli strumenti di amministrazione di Active Directory.
-
È necessario utilizzare domainless gMSA.
Amazon ECS utilizza un file di specifica delle credenziali di Active Directory (CredSpec). Questo file contiene gMSA metadati utilizzati per propagare il gMSA contesto dell'account nel contenitore. Tu generi il CredSpec file, quindi archivialo in un bucket Amazon S3.
-
Un'attività può supportare solo un Active Directory.
Prerequisiti
Prima di utilizzare il gMSA per la funzionalità dei contenitori Linux con AmazonECS, assicurati di completare quanto segue:
-
Configura un dominio Active Directory con le risorse a cui desideri che i tuoi container accedano. Amazon ECS supporta le seguenti configurazioni:
-
Un AWS Directory Service Active Directory. AWS Directory Service è un Active Directory AWS gestito ospitato su AmazonEC2. Per ulteriori informazioni, vedere Guida introduttiva a AWS Managed Microsoft AD nella Guida all'AWS Directory Service amministrazione.
-
Una Active Directory on-premise. Devi assicurarti che l'istanza del contenitore Amazon ECS Linux possa entrare a far parte del dominio. Per ulteriori informazioni, consulta AWS Direct Connect.
-
-
Ne hai già uno gMSA account in Active Directory e un utente che dispone dell'autorizzazione per accedere a gMSA account di servizio. Per ulteriori informazioni, consulta Crea un utente Active Directory senza dominio gMSA.
-
Hai un bucket Amazon S3. Per ulteriori informazioni, consulta Creare un bucket nella Guida per l'utente di Amazon S3.
Configurazione gMSA-capace Linux Contenitori su Amazon ECS
Preparazione dell'infrastruttura
I passaggi seguenti sono considerazioni e configurazioni che vengono eseguite una sola volta.
-
Crea un utente Active Directory senza dominio gMSA
Quando usi la modalità domainless gMSA, il contenitore non è aggiunto al dominio. Le altre applicazioni eseguite sul contenitore non possono utilizzare le credenziali per accedere al dominio. Le attività che utilizzano un dominio diverso possono essere eseguite sullo stesso contenitore. Fornisci il nome di un segreto AWS Secrets Manager nel CredSpec file. Il segreto deve contenere un nome utente, una password e un dominio a cui accedere.
Questa funzionalità è simile alla gMSA support for non-domain-joined container hostscaratteristica. Per ulteriori informazioni sulla funzionalità di Windows, vedere gMSA architettura e miglioramenti
sul sito Web Microsoft Learn. -
Configura un utente nel tuo dominio Active Directory. L'utente di Active Directory deve disporre dell'autorizzazione per accedere a gMSA account di servizio utilizzato nelle attività.
-
Disponi di una sottorete VPC and in grado di risolvere il nome di dominio Active Directory. Configura le DHCP opzioni VPC with con con il nome di dominio che punta al nome del servizio Active Directory. Per informazioni su come configurare DHCP le opzioni per unVPC, consulta Lavora con i set di DHCP opzioni nella Amazon Virtual Private Cloud User Guide.
-
Crea un account segreto AWS Secrets Manager.
Crea il file con le specifiche delle credenziali.
-
Configurazione di autorizzazioni e segreti
Esegui i passaggi seguenti una volta per ogni applicazione e ogni definizione di attività. Consigliamo di utilizzare la best practice di concedere il privilegio minimo e limitare le autorizzazioni utilizzate nella policy. In questo modo, ogni attività può leggere solo i segreti di cui ha bisogno.
-
Crea un utente nel dominio di Active Directory. L'utente in Active Directory deve disporre dell'autorizzazione per accedere a gMSA account di servizio utilizzati nelle attività.
-
Dopo aver creato l'utente di Active Directory, crea un account segreto in AWS Secrets Manager. Per ulteriori informazioni, consulta Creazione di un segreto AWS Secrets Manager.
-
Immetti il nome utente, la password e il dominio dell'utente in coppie JSON chiave-valore denominate
username
domainName
,password
rispettivamente.{"username":"
username
","password":"passw0rd
", "domainName":"example.com"} -
È necessario aggiungere le seguenti autorizzazioni come politica in linea al ruolo di esecuzione dell'attività. IAM In questo modo il daemon
credentials-fetcher
accede al segreto di Secrets Manager. Sostituisci l'MySecret
esempio con l'Amazon Resource Name (ARN) del tuo segreto nell'Resource
elenco.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "
arn:aws:secretsmanager:
" ] } ] }aws-region
:111122223333:secret:MySecretNota
Se usi la tua KMS chiave per crittografare il tuo segreto, devi aggiungere le autorizzazioni necessarie a questo ruolo e aggiungere questo ruolo alla policy AWS KMS chiave.
-
Aggiungi le specifiche delle credenziali a un bucket Amazon S3. Quindi, fai riferimento all'Amazon Resource Name (ARN) del bucket Amazon S3 nel
credentialSpecs
campo della definizione dell'attività.{ "family": "", "executionRoleArn": "", "containerDefinitions": [ { "name": "", ... "credentialSpecs": [ "credentialspecdomainless:arn:aws:s3:::
${BucketName}/${ObjectName}
" ], ... } ], ... }Per consentire alle tue attività di accedere al bucket S3, aggiungi le seguenti autorizzazioni come policy in linea al ruolo di esecuzione delle attività di AmazonECS. IAM
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListObject" ], "Resource": [ "arn:aws:s3:::
{bucket_name}
", "arn:aws:s3:::{bucket_name}/{object}
" ] } ] }
File di specifica delle credenziali
Amazon ECS utilizza un file di specifica delle credenziali di Active Directory (CredSpec). Questo file contiene gMSA metadati utilizzati per propagare il gMSA contesto dell'account al Linux contenitore. Tu generi il CredSpec e fate riferimento ad esso nel credentialSpecs
campo della definizione dell'attività. Il CredSpec il file non contiene segreti.
Di seguito è riportato un esempio CredSpec file.
{
"CmsPlugins": [
"ActiveDirectory"
],
"DomainJoinConfig": {
"Sid": "S-1-5-21-2554468230-2647958158-2204241789",
"MachineAccountName": "WebApp01",
"Guid": "8665abd4-e947-4dd0-9a51-f8254943c90b",
"DnsTreeName": "example.com",
"DnsName": "example.com",
"NetBiosName": "example"
},
"ActiveDirectoryConfig": {
"GroupManagedServiceAccounts": [
{
"Name": "WebApp01",
"Scope": "example.com"
}
],
"HostAccountConfig": {
"PortableCcgVersion": "1",
"PluginGUID": "{859E1386-BDB4-49E8-85C7-3070B13920E1}",
"PluginInput": {
"CredentialArn": "arn:aws:secretsmanager:aws-region
:111122223333:secret:MySecret
"
}
}
}
}
Creare un CredSpec e caricandolo su un Amazon S3
Crei un CredSpec utilizzando il CredSpec PowerShell modulo su a Windows computer che fa parte del dominio. Segui la procedura descritta in Creare una specifica di credenziali
Dopo aver creato il file delle specifiche delle credenziali, caricalo in un bucket Amazon S3. Copia il CredSpec file nel computer o nell'ambiente in cui si eseguono AWS CLI i comandi.
Eseguite il AWS CLI comando seguente per caricare il CredSpec su Amazon S3. Sostituisci
con il nome del bucket Amazon S3. Puoi archiviare il file come oggetto in qualsiasi bucket e posizione, ma devi consentire l'accesso a tale bucket e tale posizione nella policy associata al ruolo di esecuzione dell'attività.amzn-s3-demo-bucket
Per PowerShell, usa il seguente comando:
$
Write-S3Object -BucketName "
amzn-s3-demo-bucket
" -Key "ecs-domainless-gmsa-credspec" -File "gmsa-cred-spec.json"
Il AWS CLI comando seguente utilizza i caratteri di continuazione con barra rovesciata utilizzati dalle shell compatibilish
.
$
aws s3 cp gmsa-cred-spec.json \ s3://
amzn-s3-demo-bucket/ecs-domainless-gmsa-credspec