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.
Prevención de la sustitución confusa entre servicios
El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación de identidad entre servicios puede provocar el confuso problema de un diputado. La suplantación entre servicios puede producirse cuando un servicio (el servicio que lleva a cabo las llamadas) llama a otro servicio (el servicio al que se llama). El servicio de llamadas que se puede manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente a los que de otra manera no tendría permiso para acceder. Para evitarlo, AWS proporciona herramientas que le ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta. Para obtener una descripción detallada de este problema, consulte el problema de un diputado confuso en la Guía del IAM usuario.
Recomendamos utilizar las claves de contexto de condición aws:SourceAccount
global aws:SourceArn
y las claves de contexto en las políticas de recursos para limitar los permisos que AWS Transfer Family tiene para el recurso. Si se utilizan ambas claves contextuales de condición global, el valor aws:SourceAccount
y la cuenta del valor aws:SourceArn
deben utilizar el mismo ID de cuenta cuando se utilicen en la misma declaración de política.
La forma más eficaz de protegerse contra el confuso problema de los diputados es utilizar el nombre exacto del recurso de Amazon (ARN) del recurso que quieres permitir. Si va a especificar varios recursos, utilice la clave de condición del contexto aws:SourceArn
global con caracteres comodín (*
) para las partes desconocidas delARN. Por ejemplo, arn:aws:transfer::
.region
::account-id
:server/*
AWS Transfer Family utiliza los siguientes tipos de funciones:
-
Función de usuario: permite a los usuarios gestionados por el servicio acceder a los recursos de Transfer Family necesarios. AWS Transfer Family asume esta función en el contexto de un usuario de Transfer FamilyARN.
-
Rol de acceso: proporciona acceso únicamente a los archivos de Amazon S3 que se están transfiriendo. En el caso de AS2 las transferencias entrantes, la función de acceso utiliza el nombre del recurso de Amazon (ARN) para el acuerdo. Para las AS2 transferencias salientes, la función de acceso utiliza la del ARN conector.
-
Función de invocación: para usar con Amazon API Gateway como proveedor de identidad personalizado del servidor. Transfer Family asume esta función en el contexto de un servidor Transfer FamilyARN.
-
Función de registro: se utiliza para registrar entradas en Amazon CloudWatch. Transfer Family utiliza este rol para registrar los detalles de éxito y error junto con la información sobre las transferencias de archivos. Transfer Family asume esta función en el contexto de un servidor Transfer FamilyARN. Para las AS2 transferencias salientes, la función de registro utiliza el conectorARN.
-
Rol de ejecución: permite a un usuario de Transfer Family llamar e iniciar flujos de trabajo. Transfer Family asume esta función en el contexto de un flujo de trabajo de Transfer FamilyARN.
Para obtener más información, consulte Políticas y permisos IAM en la Guía del IAM usuario.
nota
En los ejemplos siguientes, sustituya cada user input placeholder
con su propia información.
nota
En nuestros ejemplos, utilizamos tanto ArnLike
como ArnEquals
. Funcionalmente son idénticos y, por lo tanto, puede utilizar cualquiera de los dos al crear sus políticas. La documentación de Transfer Family utiliza ArnLike
cuando la condición contiene un carácter comodín, y utiliza ArnEquals
para indicar una condición de coincidencia exacta.
AWS El rol de usuario de Transfer Family, prevención de problemas entre servicios
En el siguiente ejemplo de política, se permite que cualquier servidor de la cuenta asuma el rol.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region
:account-id
:user/*" } } } ] }
En el siguiente ejemplo de política se permite que cualquier usuario de un servidor específico asuma el rol.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "ArnEquals": { "aws:SourceArn": "arn:aws:transfer:region
:account-id
:user/server-id
/*" } } } ] }
En el siguiente ejemplo de política se permite que cualquier usuario específico de un servidor específico asuma el rol.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:
region
:account-id
:user/server-id
/user-name
" } } } ] }
AWS Función de flujo de trabajo de Transfer Family, prevención policial confusa entre servicios
En el siguiente ejemplo de política, se permite que cualquier flujo de trabajo de la cuenta asuma el rol.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region
:account-id
:workflow/*" } } } ] }
La política del ejemplo siguiente permite que un flujo específico de trabajo asuma el rol.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:
region
:account-id
:workflow/workflow-id
" } } } ] }
AWS Transfer Family: función de registro e invocación, prevención adjunta confusa entre servicios
nota
Los siguientes ejemplos se pueden utilizar tanto en los roles de registro como en los de invocación.
En estos ejemplos, puede eliminar los ARN detalles de un flujo de trabajo si su servidor no tiene ningún flujo de trabajo adjunto.
El siguiente ejemplo de política de registro e invocación permite que cualquier servidor (y flujo de trabajo) de la cuenta asuma la función.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllServersWithWorkflowAttached", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "ArnLike": { "aws:SourceArn": [ "arn:aws:transfer:region
:account-id
:server/*", "arn:aws:transfer:region
:account-id
:workflow/*" ] } } } ] }
El siguiente ejemplo de política de registro e invocación permite que un servidor (y un flujo de trabajo) específicos asuman la función.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSpecificServerWithWorkflowAttached", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:transfer:region
:account-id
:server/server-id
", "arn:aws:transfer:region
:account-id
:workflow/workflow-id
" ] } } } ] }