Mi entendimiento es,
La política de control de servicios y las políticas basadas en recursos se utilizan principalmente para permitir/denegar el acceso cruzado a los recursos.
Del procedimiento de evaluación de políticas que se explica aquí , aprendí que la política de permisos de IAM (administrada o en línea) se usa para otorgar o denegar permisos a Principal dentro de una cuenta de AWS .
{ "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::*:role/Somerole", "Effect": "Allow" } ] } Pero arriba está la política de permisos de IAM, escrita para otorgar permisos a Principal en la cuenta de origen, para tener acceso ( sts::AssumeRole ) a otros recursos de la cuenta ( Somerole ).
¿Se puede definir la política de permisos de IAM para permitir que Principal en la cuenta de origen de AWS obtenga permisos ( sts:AssumeRole ) para acceder a los recursos ( Somerole ) que están presentes en otras cuentas ( *:role )? En nuestro caso, Principal es un rol de IAM en la cuenta de origen de AWS.
La otra cuenta tendría que haber concedido acceso a la cuenta. El rol en la otra cuenta necesitaría una relación de confianza similar a esta (a menudo también se le agregan condiciones):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<AccountId_A>:root" }, "Action": "sts:AssumeRole" } ] }Este ejemplo asume que es la cuenta en la que está otorgando el permiso de IAM.