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.
Creación de una política y un rol de IAM
En este tema se describen los tipos de políticas y roles con AWS Transfer Family los que se puede utilizar y se explica el proceso de creación de un rol de usuario. También describe cómo funcionan las políticas de sesión y proporciona un ejemplo de rol de usuario.
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 ARN de usuario de Transfer Family.
-
Rol de acceso: proporciona acceso únicamente a los archivos de Amazon S3 que se están transfiriendo. Para las transferencias AS2 entrantes, el rol de acceso utiliza el nombre de recurso de Amazon (ARN) para el acuerdo. Para las transferencias AS2 salientes, el rol de acceso utiliza el ARN para el conector.
-
Rol de invocación: para usar con Amazon API Gateway como proveedor de identidad personalizado del servidor. Transfer Family asume este rol en el contexto de un ARN de servidor de Transfer Family.
-
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 este rol en el contexto de un ARN de servidor de Transfer Family. Para las transferencias AS2 salientes, el rol de acceso utiliza el ARN del conector.
-
Rol de ejecución: permite a un usuario de Transfer Family llamar e iniciar flujos de trabajo. Transfer Family asume este rol en el contexto de un ARN de flujo de trabajo de Transfer Family.
Además de estos roles, también puede utilizar políticas de sesión. Se utiliza una política de sesión para limitar el acceso cuando es necesario. Tenga en cuenta que estas políticas son independientes, es decir, no se agregan a un rol. Más bien, se agrega una política de sesión directamente a un usuario de Transfer Family.
nota
Al crear un usuario de Transfer Family administrado por el servicio, puede seleccionar la política de generación automática basada en la carpeta de inicio. Se trata de un atajo útil si desea limitar el acceso de los usuarios a sus propias carpetas. Además, puede ver detalles sobre las políticas de sesión y un ejemplo en Funcionamiento de las políticas de sesión. También puede encontrar más información sobre las políticas de sesión en las políticas de sesión de la Guía del usuario de IAM.
Temas
Creación de un rol de usuario
Al crear un usuario, debe tomar algunas decisiones sobre su nivel de acceso. Estas decisiones incluyen a qué buckets de Amazon S3 o sistemas de archivos de Amazon EFS puede acceder el usuario, a qué partes de cada bucket de Amazon S3 y a qué archivos del sistema de archivos se puede acceder, y qué permisos tiene el usuario (por ejemplo, PUT
o GET
).
Para configurar el acceso, debes crear una política y un rol basados en la identidad AWS Identity and Access Management (IAM) que proporcionan esa información de acceso. Como parte de este procedimiento, debe proporcionar al usuario acceso al bucket Amazon S3 o al sistema de archivos de Amazon EFS que es el destino o la fuente de las operaciones de archivos. Para ello, deberá seguir estos pasos de alto nivel, que se describen con más detalle más adelante:
Creación de un rol de usuario
-
Cree una política de IAM para. AWS Transfer Family Esto se describe en Para crear una política de IAM para AWS Transfer Family.
-
Cree un rol de IAM y adjunte la nueva política de IAM. Para ver un ejemplo, consulte Ejemplo de una política de acceso de lectura y escritura.
-
Establezca una relación de confianza entre AWS Transfer Family y la función de IAM. Esto se describe en Para establecer una relación de confianza.
Los siguientes procedimientos describen cómo crear una política y un rol de IAM.
Para crear una política de IAM para AWS Transfer Family
-
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, seleccione Policies (Políticas) y, a continuación, seleccione Create policy (Crear política).
-
En la página Create Policy (Crear política), elija la pestaña JSON.
-
En el editor que aparece, sustituya el contenido del editor por la política de IAM que desee asociar al rol de IAM.
Puede conceder acceso de lectura/escritura o restringir a los usuarios a su directorio de inicio. Para obtener más información, consulte Ejemplo de una política de acceso de lectura y escritura.
-
Elija Revisar política, indique un nombre y una descripción para la política y, a continuación, elija Crear política.
A continuación, cree un rol de IAM y asóciele la nueva política de IAM.
Para crear un rol de IAM para AWS Transfer Family
-
En el panel de navegación, seleccione Roles y luego seleccione Crear rol.
En la página Crear rol, asegúrese de que servicio de AWS está seleccionado.
-
Elija Transfer (Transferencia) en la lista de servicios y, a continuación, elija Next: Permissions (Siguiente: Permisos). Esto establece una relación de confianza entre AWS Transfer Family y AWS.
-
En la sección Asociar políticas de permisos, busque y elija la política que acaba de crear y, a continuación, elija Siguiente: Etiquetas.
-
(Opcional) Introduzca una clave y un valor de etiqueta y seleccione Siguiente: Revisión.
-
En la página Review (Revisión), escriba un nombre y una descripción para el nuevo rol y, a continuación, elija Create role (Crear rol).
Luego, estableces una relación de confianza entre AWS Transfer Family y AWS.
Para establecer una relación de confianza
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.
-
En la consola de IAM, elija el rol que acaba de crear.
-
En la página Summary (Resumen), elija Trust relationships (Relaciones de confianza) y, a continuación, elija Edit trust relationship (Editar relación de confianza)
-
En el editor Edit Trust Relationship, asegúrese de que el servicio sea
"transfer.amazonaws.com"
. La política de acceso se muestra a continuación.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Le recomendamos que utilice las claves de condición
aws:SourceAccount
yaws:SourceArn
para protegerse contra el problema del suplente confuso. La cuenta de origen es la propietaria del servidor y el ARN de origen es el ARN del usuario. Por ejemplo:"Condition": { "StringEquals": { "aws:SourceAccount": "
account_id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region
:account_id
:user/*" } }También puede usar la condición
ArnLike
si desea restringirlo a un servidor en particular en lugar de a cualquier servidor de la cuenta de usuario. Por ejemplo:"Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:
region
:account-id
:user/server-id
/*" } }nota
En los ejemplos siguientes, reemplace cada
marcador de posición del usuario
con su propia información.Para obtener más información sobre el confuso problema del diputado y otros ejemplos, consulte Prevención de la sustitución confusa entre servicios.
-
Elija Actualizar política de confianza para actualizar la política de acceso.
Ahora ha creado un rol de IAM que le permite llamar AWS Transfer Family a AWS los servicios en su nombre. También ha asociado al rol la política de IAM que ha creado para permitir el acceso a su usuario. En la sección Cómo empezar con los puntos finales de los AWS Transfer Family servidores se asignan este rol y esta política al usuario o usuarios.
Véase también
-
Para obtener más información general sobre las funciones de IAM, consulte Crear una función para delegar permisos a un AWS servicio en la Guía del usuario de IAM.
-
Para obtener más información acerca de las políticas basadas en identidades para los recursos de Amazon S3, consulte Identity and Access Management en Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.
-
Para obtener más información sobre las políticas basadas en la identidad para los recursos de Amazon EFS, consulte Uso de IAM para controlar el acceso a los datos del sistema de archivos en la Guía del usuario de Amazon Elastic File System.
Funcionamiento de las políticas de sesión
Cuando un administrador crea un rol, este suele incluir amplios permisos para abarcar varios casos de uso o miembros del equipo. Si un administrador configura la URL de una consola, puede reducir los permisos de la sesión resultante mediante una política de sesión. Por ejemplo, si crea un rol con acceso de lectura y escritura, puede configurar una URL que limite el acceso de los usuarios únicamente a sus directorios principales.
Las políticas de sesión son políticas avanzadas que se pasan como parámetro cuando se crea una sesión temporal mediante programación para un rol o usuario. Las políticas de sesión son útiles para bloquear a los usuarios, de modo que solo tengan acceso a las partes del bucket en las que los prefijos de los objetos contengan su nombre de usuario. Los siguientes permisos de la sesión son la intersección de las políticas de sesión y las políticas basadas en recursos más la intersección de las políticas de sesión y las políticas basadas en identidades.
Para obtener más detalles, consulte Políticas de sesión en la Guía del usuario de IAM.
En AWS Transfer Family, solo se admite una política de sesión cuando realiza una transferencia hacia o desde Amazon S3. El ejemplo de política siguiente es una política de ámbito reducido que limita el acceso de los usuarios a sus directorios home
. Tenga en cuenta lo siguiente:
-
Los estados de cuenta
GetObjectACL
yPutObjectACL
solo son obligatorios si necesitas habilitar el acceso entre cuentas. Es decir, el servidor de Transfer Family necesita acceder a un bucket de otra cuenta. -
La longitud máxima de una ruta es 2048 caracteres. Para obtener más información, consulte el Parámetro de solicitud de política correspondiente a la acción de
CreateUser
en la Referencia de la API. -
Si su bucket de Amazon S3 está cifrado con AWS Key Management Service (AWS KMS), debe especificar permisos adicionales en su política. Para obtener más detalles, consulte Cifrado de datos en Amazon S3.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::${transfer:HomeBucket}" ], "Condition": { "StringLike": { "s3:prefix": [ "${transfer:HomeFolder}/*", "${transfer:HomeFolder}" ] } } }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::${transfer:HomeDirectory}/*" } ] }
nota
En el ejemplo de política anterior se supone que los directorios principales de los usuarios están configurados para incluir una barra al final, lo que significa que se trata de un directorio. Si, por el contrario, establece el HomeDirectory
de un usuario sin la barra final, debe incluirlo como parte de su política.
En el ejemplo anterior de política, anote el uso de los parámetros de la política transfer:HomeFolder
, transfer:HomeBucket
y transfer:HomeDirectory
. Estos parámetros se establecen para el HomeDirectory
que está configurado para el usuario, tal y como se describe en HomeDirectoryyImplementación de su método de API Gateway. Estos parámetros tienen las siguientes definiciones:
El parámetro
transfer:HomeBucket
se sustituye por el primer componente deHomeDirectory
.El parámetro
transfer:HomeFolder
se sustituye por las partes restantes del parámetroHomeDirectory
.Se ha eliminado la barra inclinada inicial (
/
) del parámetrotransfer:HomeDirectory
para que pueda usarse como parte de un nombre de recurso de Amazon (ARN) de S3 en una declaración deResource
.
nota
Si utiliza directorios lógicos, es decir, el homeDirectoryType
del usuario es LOGICAL
, estos parámetros de política (HomeBucket
, HomeDirectory
y HomeFolder
) no son compatibles.
Por ejemplo, supongamos que el parámetro HomeDirectory
que está configurado para el usuario de Transfer Family es /home/bob/amazon/stuff/
.
transfer:HomeBucket
toma el valor de/home
.transfer:HomeFolder
toma el valor de/bob/amazon/stuff/
.transfer:HomeDirectory
se convierte enhome/bob/amazon/stuff/
.
El primer "Sid"
permite al usuario enumerar todos los directorios a partir de /home/bob/amazon/stuff/
.
El segundo "Sid"
limita los accesos del usuario put
y get
a la misma ruta, /home/bob/amazon/stuff/
.
Ejemplo de una política de acceso de lectura y escritura
Conceder acceso de lectura/escritura al bucket de Amazon S3
El siguiente ejemplo de política AWS Transfer Family otorga acceso de lectura y escritura a los objetos de su bucket de Amazon S3.
Tenga en cuenta lo siguiente:
-
Sustituya
DOC-EXAMPLE-BUCKET
por el nombre del bucket de Amazon S3. -
Los estados de cuenta
GetObjectACL
yPutObjectACL
solo son obligatorios si necesitas habilitar el acceso entre cuentas. Es decir, el servidor de Transfer Family necesita acceder a un bucket de otra cuenta. -
Las instrucciones
GetObjectVersion
yDeleteObjectVersion
solo son obligatorias si el control de versiones está habilitado en el bucket de Amazon S3 al que se está accediendo.nota
Si alguna vez ha activado el control de versiones para su bucket, necesitará estos permisos, ya que solo puede suspender el control de versiones en Amazon S3 y no desactivarlo por completo. Para obtener más información, consulte Buckets sin control de versiones, con control de versiones activado y con control de versiones suspendido.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }
Otorgue acceso al sistema de archivos a los archivos del sistema de archivos Amazon EFS
nota
Además de la política, también debe asegurarse de que los permisos de sus archivos POSIX concedan el acceso adecuado. Para obtener más información, consulte Trabajar con usuarios, grupos y permisos en el nivel del sistema de archivos de red (NFS) en la Guía del usuario de Amazon Elastic File System.
El siguiente ejemplo de política otorga acceso al sistema de archivos raíz a los archivos de su sistema de archivos Amazon EFS.
nota
En los ejemplos siguientes, sustituya region
por su región, account-id
por la cuenta en la que se encuentra el archivo y file-system-id
por el ID de su Amazon Elastic File System (Amazon EFS).
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RootFileSystemAccess", "Effect": "Allow", "Action": [ "elasticfilesystem:ClientRootAccess", "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource": "arn:aws:elasticfilesystem:
region
:account-id
:file-system/file-system-id
" } ] }
El siguiente ejemplo de política otorga al sistema de archivos del usuario acceso a los archivos de su sistema de archivos de Amazon EFS.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "UserFileSystemAccess", "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource": "arn:aws:elasticfilesystem:
region
:account-id
:file-system/file-system-id
" } ] }