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.
Configurar los permisos de IAM
Amazon Location Jobs requiere una función de ejecución de IAM que conceda al servicio permiso para acceder a sus buckets de Amazon S3. Cuando ejecutas un trabajo, Amazon Location asume esta función para leer los archivos de entrada de tu depósito de entrada y escribir los resultados de salida en tu depósito de salida en tu nombre. Para proporcionar estos permisos, debe crear una política de IAM con los permisos de Amazon S3 necesarios y asociarla a un rol de IAM con una política de confianza que permita que el servicio de ubicación de Amazon asuma el rol.
nota
Los depósitos de entrada y salida de Amazon S3 que cree deben estar en el mismo Región de AWS lugar en el que planea ejecutar sus trabajos. Los recursos de IAM que cree deben crearse en la misma cuenta.
Paso 1: Crear una política de IAM
Crea una política de IAM que conceda los permisos necesarios para los trabajos de Amazon Location.
Para crear una política de IAM para los trabajos de Amazon Location
-
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, seleccione Políticas.
-
Elija Crear política.
-
Selecciona la pestaña JSON e introduce el siguiente documento de política, sustituyendo
INPUT_BUCKET_NAMEy por los nombresOUTPUT_BUCKET_NAMEde tus buckets:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetObjectVersion", "s3:GetBucketVersioning" ], "Resource": [ "arn:aws:s3:::INPUT_BUCKET_NAME", "arn:aws:s3:::INPUT_BUCKET_NAME/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::OUTPUT_BUCKET_NAME/*" ] } ] } -
Elija Siguiente.
-
En Nombre de la política, ingrese un nombre descriptivo, como
.LocationJobsS3AccessPolicy -
Elija Crear política.
En la siguiente tabla se describen los permisos que otorga esta política:
| Permiso | Description (Descripción) |
|---|---|
s3:GetObject
|
Permite a Amazon Location leer los archivos de entrada de tu depósito de entrada. |
s3:ListBucket
|
Permite a Amazon Location enumerar los archivos de tu depósito de entrada para identificar todos los archivos de entrada para su procesamiento. |
s3:GetObjectVersion
|
Permite a Amazon Location acceder a versiones específicas de los archivos de entrada. Es obligatorio porque el control de versiones debe estar habilitado en sus buckets. |
s3:GetBucketVersioning
|
Permite a Amazon Location comprobar que el control de versiones está activado en tu bucket de entrada. |
s3:PutObject
|
Permite a Amazon Location escribir los resultados de salida en tu depósito de salida. |
s3:AbortMultipartUpload
|
Permite a Amazon Location limpiar las cargas multiparte fallidas al escribir archivos de salida de gran tamaño. |
nota
Esta política sigue el principio del privilegio mínimo al conceder únicamente los permisos necesarios para que Amazon Location Jobs funcione. La política restringe los permisos de lectura al depósito de entrada y los permisos de escritura al depósito de salida.
Para crear una política de IAM mediante AWS CLI
-
Cree un archivo
location-jobs-policy.jsoncon el siguiente contenido, sustituyendoINPUT_BUCKET_NAMEy por los nombresOUTPUT_BUCKET_NAMEde sus buckets:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetObjectVersion", "s3:GetBucketVersioning" ], "Resource": [ "arn:aws:s3:::INPUT_BUCKET_NAME", "arn:aws:s3:::INPUT_BUCKET_NAME/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::OUTPUT_BUCKET_NAME/*" ] } ] } -
Cree la política:
aws iam create-policy \ --policy-nameLocationJobsS3AccessPolicy\ --policy-document file://location-jobs-policy.json -
Anote el ARN de la política del resultado. Necesitará este ARN en el siguiente paso.
Paso 2: Crear un rol de ejecución
Cree una función de IAM que Amazon Location asuma para acceder a sus buckets de Amazon S3 durante la ejecución del trabajo.
La política de confianza permite que Amazon Location service (geo.amazonaws.com) asuma esta función. Esta relación de confianza es necesaria para que Amazon Location acceda a sus buckets de Amazon S3 durante la ejecución del trabajo.
Para crear un rol de ejecución para los trabajos de Amazon Location
-
En el panel de navegación de la consola de IAM, elija Roles.
-
Elija Crear rol.
-
En Trusted entity type (Tipo de entidad de confianza), elija Custom trust policy (Política de confianza personalizada).
-
Introduce la siguiente política de confianza y
ACCOUNT_IDsustitúyela por tu ID de AWS cuenta:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "geo.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "ACCOUNT_ID" } } } ] } -
Elija Siguiente.
-
Busca y selecciona la política que creaste en el paso 1 (por ejemplo
).LocationJobsS3AccessPolicy -
Elija Siguiente.
-
En Nombre del rol, introduzca un nombre descriptivo, como
LocationServiceJobExecutionRole. -
Elija Crear rol.
Para crear un rol de ejecución mediante el AWS CLI
-
Crea un archivo
trust-policy.jsoncon el siguiente contenido y sustitúyelo porACCOUNT_IDtu ID de AWS cuenta:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "geo.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "ACCOUNT_ID" } } } ] } -
Cree el rol:
aws iam create-role \ --role-name LocationServiceJobExecutionRole \ --assume-role-policy-document file://trust-policy.json -
Adjunta la política que creaste en el paso 1 (
ACCOUNT_IDsustitúyela por tu ID de AWS cuenta yLocationJobsS3AccessPolicypor el nombre de tu póliza si es diferente):aws iam attach-role-policy \ --role-name LocationServiceJobExecutionRole \ --policy-arn arn:aws:iam::ACCOUNT_ID:policy/LocationJobsS3AccessPolicy -
Obtenga el rol ARN:
aws iam get-role \ --role-name LocationServiceJobExecutionRole \ --query 'Role.Arn' \ --output text -
Anote el ARN del rol en la salida. Necesitará este ARN al iniciar los trabajos con el
ExecutionRoleArnparámetro.
Tras crear el rol, anote el ARN del rol. Necesitará este ARN al iniciar los trabajos con el ExecutionRoleArn parámetro. Para obtener más información, consulte Preparar datos de entrada.
Prácticas recomendadas de seguridad
Siga estas prácticas recomendadas de seguridad al configurar los permisos de IAM para Amazon Location Jobs:
-
Utilice un segmento específico ARNs: sustituya los nombres de los depósitos que aparecen en la política por los nombres de los depósitos reales para restringir el acceso únicamente a los depósitos que vaya a utilizar.
-
Separe los compartimentos de entrada y salida: utilice distintos compartimentos para la entrada y la salida a fin de mantener una separación clara entre los permisos de lectura y escritura.
-
Habilite el control de versiones de los buckets de Amazon S3: el control de versiones debe estar habilitado en sus buckets. Esto es necesario para que Amazon Location Jobs funcione correctamente.
-
Utilice las políticas de bucket de Amazon S3: añada políticas de bucket a sus buckets de Amazon S3 para obtener un control de acceso adicional más allá de las políticas de IAM.
-
Supervisar el uso de funciones: se utiliza para supervisar cuándo y cómo Amazon Location Jobs utiliza la función de ejecución.