Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de gMSA para contenedores de Windows
Amazon ECS admite la autenticación de Active Directory para contenedores de Windows a través de un tipo de cuenta de servicio llamada cuenta de servicio gestionado de grupo (gMSA).
Las aplicaciones de red basadas en Windows, como las aplicaciones.NET, suelen utilizar Active Directory para facilitan la administración de autenticación y autorización entre usuarios y servicios. Los desarrolladores suelen diseñar sus aplicaciones para integrarlas con Active Directory y ejecutarlas en de servidores unidos al dominio para este fin. Dado que los contenedores de Windows no se pueden unir al dominio, debe configurar un contenedor de Windows para que se ejecute con gMSA.
Un contenedor de Windows que se ejecuta con gMSA depende de su host Amazon EC2 para
recuperar la instancia de
Las credenciales de gMSA del controlador de dominio de Active Directory y proporcionarlas
al
Instancia de contenedor de. Para obtener más información, consulte Crear gMSA para contenedores de Windows
Temas
Considerations
Se debe tener en cuenta lo siguiente al utilizar gMSA para contenedores de Windows:
-
Cuando se utiliza la función AMI de Windows Server 2016 Full optimizada para Amazon ECS para sus instancias de contenedor, el El nombre de host del contenedor de debe ser el mismo que el nombre de cuenta gMSA definido en el archivo de especificación de credenciales. Para especificar un nombre de host para un contenedor, utilice la
hostname
parámetro de definición de contenedor. Para obtener más información, ver Configuración de red.
Prerequisites
Los siguientes son requisitos previos para utilizar la característica gMSA para contenedores de Windows con Amazon ECS.
-
Un Active Directory que su Amazon ECS Las instancias de contenedor de Windows pueden unirse a. Amazon ECS admite lo siguiente:
-
AWS Directory Service, que es un AWS Active Directory administrado por alojado en Amazon EC2. Para más información, consulte Introducción a AWS Managed Microsoft AD en el AWS Directory Service Administration Guide.
-
Active Directory local, siempre que el Amazon ECS Contenedor de Windows La instancia de puede unirse al dominio. Para obtener más información, consulte Conexión directa de AWS.
-
-
Una cuenta de gMSA existente en Active Directory. Para obtener más información, consulte Crear gMSA para contenedores de Windows
. -
El Amazon ECS Instancia de contenedor de Windows que aloja el Amazon ECS la tarea debe ser un dominio se ha unido a Active Directory y es miembro de la seguridad de Active Directory que tiene acceso a la cuenta de gMSA.
Configuración de contenedores de Windows compatibles con gMSA en Amazon ECS
Amazon ECS utiliza un archivo de especificación de credenciales que contiene los metadatos
gMSA utilizados para propagar
el contexto de la cuenta de gMSA al contenedor de Windows. Puede generar la especificación
de credenciales
y haz referencia a él en el paso dockerSecurityOptions
en su tarea
definición. El archivo de especificación de credenciales no contiene ningún secreto.
A continuación se muestra un ejemplo de archivo de especificación de credenciales:
{
"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"
}
]
}
}
Referencia a un archivo de especificación de credenciales en una definición de tarea
Amazon ECS admite las siguientes formas de hacer referencia al archivo de especificación
de credenciales en el
dockerSecurityOptions
de una definición de tarea.
Amazon S3 Cubo
Añada la especificación de credenciales a un Amazon S3 y, a continuación, haga referencia
al bucket de Amazon
Nombre de recurso (ARN) de la Amazon S3 del bucket de en la dockerSecurityOptions
de la definición de tarea.
{ "family": "", "executionRoleArn": "", "containerDefinitions": [ { "name": "", ... "dockerSecurityOptions": [ "credentialspec:arn:aws:s3:::
${BucketName}/${ObjectName}
" ], ... } ], ... }
También debe añadir los siguientes permisos como una política insertada a la Amazon ECS ejecución de tareas IAM para dar a sus tareas acceso a la función de Amazon S3 del bucket de.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor", "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::
{bucket_name}
", "arn:aws:s3:::{bucket_name}/{object}
" ] } ] }
SSM Parámetro del almacén de parámetros
Añada la especificación de credenciales a un SSM Parameter Store (Almacén de parámetros)
y, a continuación,
hacer referencia al nombre de recurso de Amazon (ARN) de la SSM Parámetro del almacén
de parámetros
en el dockerSecurityOptions
de la definición de tarea.
{ "family": "", "executionRoleArn": "", "containerDefinitions": [ { "name": "", ... "dockerSecurityOptions": [ "credentialspec:arn:aws:ssm:
region
:111122223333
:parameter/parameter_name
" ], ... } ], ... }
También debe añadir los siguientes permisos como una política insertada a la Amazon ECS ejecución de tareas IAM para dar a sus tareas acceso a la función de SSM Almacén de parámetros Parámetro.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": [ "arn:aws:ssm:
region
:111122223333
:parameter/parameter_name
" ] } ] }
Archivo local
Con los detalles de especificación de credenciales en un archivo local, haga referencia
a la ruta del archivo en
el dockerSecurityOptions
de la definición de tarea.
{ "family": "", "executionRoleArn": "", "containerDefinitions": [ { "name": "", ... "dockerSecurityOptions": [ "credentialspec:file://
CredentialSpecFile.json
" ], ... } ], ... }