View a markdown version of this page

Cross-service confusa prevención adjunta - AWS Directory Service

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.

Cross-service confusa prevención adjunta

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 resultar en el confuso problema de los diputados. Cross-service la suplantación de identidad puede ocurrir cuando un servicio (el servicio llamante) llama a otro servicio (el servicio llamado). El servicio que lleva a cabo las llamadas se puede manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que lo 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.

Se recomienda utilizar las claves de contexto de condición aws:SourceAccount global aws:SourceArn y las claves de condición global en las políticas de recursos Directory Service para limitar los permisos que, en Microsoft Active Directory, otorgan otro servicio al recurso. Si el valor de aws:SourceArn no contiene el ID de cuenta, como un ARN de bucket de Amazon S3, debe utilizar ambas claves de contexto de condición global para limitar los permisos. Si utiliza claves de contexto de condición global y el valor de aws:SourceArn contiene el ID de 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. Utiliza aws:SourceArn si desea que solo se asocie un recurso al acceso entre servicios. Utiliza aws:SourceAccount si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.

En el ejemplo siguiente, el valor de aws:SourceArn debe ser un grupo de CloudWatch registros.

La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de aws:SourceArn con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si especifica varios recursos, utiliza la clave de condición de contexto global aws:SourceArn con comodines (*) para las partes desconocidas del ARN. Por ejemplo, arn:aws:servicename:*:123456789012:*.

En el ejemplo siguiente se muestra cómo se pueden usar las claves de contexto de condición aws:SourceAccount global aws:SourceArn y las claves de contexto de condición en Microsoft AD AWS administrado para evitar el confuso problema de los adjuntos.

JSON
{ "Version":"2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ds.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:111122223333:log-group:/aws/directoryservice/Log_Group_Name:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ds:us-east-1:111122223333:directory/Directory_Name" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }

En el siguiente ejemplo, el valor de aws:SourceArn debe ser un tema de SNS en la cuenta. Por ejemplo, puede usar algo como «ap-southeast-1" para su región, «123456789012" para su identificador de cliente y" DirectoryMonitoring _d-966739499f» para el tema de Amazon SNS arn:aws:sns:ap-southeast-1:123456789012:DirectoryMonitoring_d-966739499f que ha creado.

La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de aws:SourceArn con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si especifica varios recursos, utiliza la clave de condición de contexto global aws:SourceArn con comodines (*) para las partes desconocidas del ARN. Por ejemplo, arn:aws:servicename:*:123456789012:*.

El siguiente ejemplo muestra cómo puede usar las claves de contexto de condición global y las claves de condición en Managed Microsoft AD para evitar el confuso problema de los sustitutos. aws:SourceArn aws:SourceAccount AWS

JSON
{ "Version":"2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ds.amazonaws.com" }, "Action": [ "SNS:GetTopicAttributes", "SNS:SetTopicAttributes", "SNS:AddPermission", "SNS:RemovePermission", "SNS:DeleteTopic", "SNS:Subscribe", "SNS:ListSubscriptionsByTopic", "SNS:Publish" ], "Resource": [ "arn:aws:sns:us-east-1:111122223333:SNS_TOPIC_NAME" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ds:us-east-1:111122223333:directory/EXTERNAL_DIRECTORY_ID" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }

En el siguiente ejemplo, se muestra una política de confianza de IAM de un rol al que se le ha delegado el acceso a la consola. El valor de aws:SourceArn debe ser un recurso del directorio de su cuenta. Para obtener más información, consulte Tipos de recursos definidos por Directory Service. Por ejemplo, puede usar arn:aws:ds:us-east-1:123456789012:directory/d-1234567890, en el que 123456789012 es su ID de cliente y d-1234567890 es su ID de directorio.

JSON
{ "Version":"2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ds.amazonaws.com" }, "Action": [ "sts:AssumeRole" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ds:us-east-1:111122223333:directory/YOUR_DIRECTORY_ID" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }