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 del suplente confuso 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, el confuso problema de un diputado puede surgir debido a la suplantación de identidad entre servicios. La suplantación de identidad entre servicios se puede producir cuando un servicio (el servicio que llama) invoca a otro servicio (el servicio llamado) y aprovecha los permisos elevados del servicio llamado para actuar sobre recursos a los que el servicio que llama no tiene autorización para acceder. Para evitar el acceso no autorizado a través del confuso problema de los diputados, AWS proporciona herramientas para ayudar a proteger sus datos en todos los servicios. Estas herramientas le ayudan a controlar los permisos concedidos a los directores de servicio y limitan su acceso únicamente a los recursos de su cuenta que son necesarios. Al administrar cuidadosamente los privilegios de acceso de los directores de servicio, puede ayudar a mitigar el riesgo de que los servicios accedan de forma indebida a datos o recursos para los que no deberían tener permisos.
Siga leyendo para obtener una guía general o consulte un ejemplo de una función específica SageMaker :
Temas
- Límite de permisos con claves de condición globales
- SageMaker Administrador perimetral
- SageMaker Imágenes
- SageMaker Inferencia
- SageMaker Trabajos de transformación por lotes
- SageMaker Marketplace
- SageMaker Neo
- SageMaker Tuberías
- SageMaker Trabajos de procesamiento
- SageMaker Estudio
- SageMaker Trabajos de formación
Límite de permisos con claves de condición globales
Recomendamos utilizar las claves de condición aws:SourceAccount
global aws:SourceArn
y las claves de condición globales en las políticas de recursos para limitar los permisos al recurso que Amazon SageMaker concede a otro servicio. Si utiliza claves de contexto de condición globales y el valor de aws:SourceArn
contiene el ID de la cuenta, el valor de aws:SourceAccount
y la cuenta en el valor de aws:SourceArn
deben utilizar el mismo ID de cuenta cuando se utiliza en la misma instrucción de política. Utilice aws:SourceArn
si desea que solo se asocie un recurso al acceso entre servicios. Utilice aws:SourceAccount
si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.
La forma más eficaz de protegerse contra el confuso problema de los diputados es utilizar la clave ARN de condición aws:SourceArn
global con todo el recurso. Si no conoce la totalidad ARN del recurso o si está especificando varios recursos, utilice la clave de condición aws:SourceArn
global con caracteres comodín (*
) para las partes desconocidas delARN. Por ejemplo, arn:aws:sagemaker:*:
.123456789012
:*
En el siguiente ejemplo se muestra cómo utilizar las claves de condición aws:SourceAccount
global aws:SourceArn
y las claves de condición SageMaker para evitar el confuso problema de los adjuntos.
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, # Specify an action and resource policy for another service "Action": "
service
:ActionName
", "Resource": [ "arn:aws:service
:::ResourceName
/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition
:sagemaker:region
:123456789012
:*" }, "StringEquals": { "aws:SourceAccount": "123456789012
" } } } }
SageMaker Administrador perimetral
El siguiente ejemplo muestra cómo se puede utilizar la clave de condición aws:SourceArn
global para evitar el confuso problema de suplentes entre servicios en SageMaker Edge Manager creado por el número de cuenta 123456789012
en el us-west-2
Región.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:
us-west-2
:123456789012
:*" } } } }
Puede sustituir el contenido de aws:SourceArn
esta plantilla por el conjunto completo ARN de un trabajo de empaquetado específico para limitar aún más los permisos.
SageMaker Imágenes
En el siguiente ejemplo, se muestra cómo se puede utilizar la clave de condición aws:SourceArn
global para evitar que el problema de las SageMaker imágenes sea confuso y confuso entre servicios. Utilice esta plantilla con Image
o ImageVersion
. En este ejemplo se utiliza un ImageVersion
registro ARN con el número de cuenta 123456789012
. Tenga en cuenta que, dado que el número de cuenta forma parte del aws:SourceArn
valor, no es necesario que especifique ningún aws:SourceAccount
valor.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:
partition
:sagemaker:us-west-2
:123456789012
:image-version
" } } } }
No sustituya el contenido aws:SourceArn
de esta plantilla por el completo ARN de una imagen o versión de imagen específica. ARNDebe estar en el formato indicado anteriormente y especificar una image
o variasimage-version
. El partition
marcador de posición debe designar una AWS partición comercial (aws
) o una AWS en China partition (aws-cn
), según dónde se esté ejecutando la imagen o la versión de la imagen. Del mismo modo, el region
marcador de posición de la ARN puede ser cualquier región válida en la que haya SageMaker imágenes disponibles.
SageMaker Inferencia
En el siguiente ejemplo, se muestra cómo se puede utilizar la clave de condición aws:SourceArn
global para evitar el problema de los adjuntos confusos entre servicios a la hora de realizar inferencias SageMaker asíncronas, sin servidor y en tiempo real. Tenga en cuenta que, dado que el número de cuenta forma parte del valor aws:SourceArn
, no necesita especificar ningún valor aws:SourceAccount
.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:
us-west-2
:123456789012
:*" } } } }
No sustituya la de esta plantilla por aws:SourceArn
la completa ARN de un modelo o punto final específico. ARNDebe estar en el formato indicado anteriormente. El asterisco de la ARN plantilla no significa comodín y no debe cambiarse.
SageMaker Trabajos de transformación por lotes
El siguiente ejemplo muestra cómo se puede utilizar la clave de condición aws:SourceArn
global para evitar el confuso problema de subcontratación entre servicios en los trabajos de transformación por SageMaker lotes creados por número de cuenta 123456789012
en el us-west-2
Región. Tenga en cuenta que, dado que el número de cuenta está enARN, no necesita especificar ningún aws:SourceAccount
valor.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:
us-west-2
:123456789012
:transform-job/*" } } } ] }
Puede sustituir el aws:SourceArn
contenido de esta plantilla por el conjunto completo ARN de un trabajo de transformación por lotes específico para limitar aún más los permisos.
SageMaker Marketplace
En el siguiente ejemplo, se muestra cómo se puede utilizar la clave de condición aws:SourceArn
global para evitar el problema de los adjuntos confusos entre servicios para los recursos de SageMaker Marketplace creados por número de cuenta. 123456789012
en el us-west-2
Región. Tenga en cuenta que, dado que el número de cuenta está enARN, no necesita especificar ningún aws:SourceAccount
valor.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:
us-west-2
:123456789012
:*" } } } ] }
No sustituya el aws:SourceArn
contenido de esta plantilla por el paquete completo ARN de un algoritmo o modelo específico. ARNDebe estar en el formato indicado anteriormente. El asterisco de la ARN plantilla significa comodín y abarca todos los trabajos de formación, los modelos y los trabajos de transformación por lotes desde los pasos de validación, así como los paquetes de algoritmos y modelos publicados en Marketplace SageMaker .
SageMaker Neo
El siguiente ejemplo muestra cómo se puede utilizar la clave de condición aws:SourceArn
global para evitar el confuso problema de subcontratación entre servicios en los trabajos de compilación de SageMaker Neo creados por número de cuenta 123456789012
en el us-west-2
Región. Tenga en cuenta que, dado que el número de cuenta está enARN, no necesita especificar ningún aws:SourceAccount
valor.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:
us-west-2
:123456789012
:compilation-job/*
" } } } ] }
Puede sustituir el contenido aws:SourceArn
de esta plantilla por el completo ARN de un trabajo de compilación específico para limitar aún más los permisos.
SageMaker Tuberías
En el siguiente ejemplo, se muestra cómo se puede utilizar la clave de condición aws:SourceArn
global para evitar que las tuberías que utilizan registros de ejecución de canalizaciones de una o más SageMaker canalizaciones se vuelvan confusas y confusas entre servicios. Tenga en cuenta que, dado que el número de cuenta está enARN, no necesita especificar ningún valor. aws:SourceAccount
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:
partition
:sagemaker:region
:123456789012
:pipeline/mypipeline/*
" } } } ] }
No sustituyas el contenido aws:SourceArn
de esta plantilla por la ejecución completa ARN de una canalización específica. ARNDebe estar en el formato indicado anteriormente. El partition
marcador de posición debe designar una AWS partición comercial (aws
) o una AWS en China, la partición (aws-cn
), según el lugar en el que discurra el oleoducto. Del mismo modo, el region
marcador de posición de la ARN puede ser cualquier región válida en la que esté disponible SageMaker Pipelines.
El asterisco de la ARN plantilla significa comodín y cubre todas las ejecuciones de canalización de una canalización denominada. mypipeline
Si quieres conceder permisos AssumeRole
para todas las canalizaciones de la cuenta 123456789012
en lugar de para una canalización específica, entonces el aws:SourceArn
sería arn:aws:sagemaker:*:123456789012:pipeline/*
.
SageMaker Trabajos de procesamiento
En el siguiente ejemplo, se muestra cómo utilizar la clave de condición aws:SourceArn
global para evitar el confuso problema de los suplentes entre servicios al SageMaker procesar los trabajos creados por número de cuenta 123456789012
en el us-west-2
Región. Tenga en cuenta que, dado que el número de cuenta está enARN, no necesita especificar ningún aws:SourceAccount
valor.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:
us-west-2
:123456789012
:processing-job/*
" } } } ] }
Puede sustituir el aws:SourceArn
contenido de esta plantilla por el conjunto completo ARN de un trabajo de procesamiento específico para limitar aún más los permisos.
SageMaker Estudio
En el siguiente ejemplo se muestra cómo se puede utilizar la clave de condición aws:SourceArn
global para evitar el confuso problema de suplentes entre servicios de SageMaker Studio creado por el número de cuenta 123456789012
en el us-west-2
Región. Tenga en cuenta que, dado que el número de cuenta forma parte del valor aws:SourceArn
, no necesita especificar ningún valor aws:SourceAccount
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:
us-west-2
:123456789012
:*" } } } ] }
No sustituyas el aws:SourceArn
contenido de esta plantilla por el ARN de una aplicación, perfil de usuario o dominio específicos de Studio. ARNDebe estar en el formato proporcionado en el ejemplo anterior. El asterisco de la ARN plantilla no significa comodín y no debe cambiarse.
SageMaker Trabajos de formación
El siguiente ejemplo muestra cómo se puede utilizar la clave de condición aws:SourceArn
global para evitar el confuso problema de los diputados entre servicios en los puestos de SageMaker formación creados por número de cuenta 123456789012
en el us-west-2
Región. Tenga en cuenta que, dado que el número de cuenta está enARN, no necesita especificar ningún aws:SourceAccount
valor.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:
us-west-2
:123456789012
:training-job/*
" } } } ] }
Puedes sustituir el contenido aws:SourceArn
de esta plantilla por el ARN de un trabajo de formación específico completo para limitar aún más los permisos.
Tema siguiente
Para obtener más información sobre la gestión de las funciones de ejecución, consulte SageMaker Funciones.