View a markdown version of this page

Administrar el acceso al administrador de roles - AWS Identity and Access Management

Administrar el acceso al administrador de roles

El acceso al administrador de roles se controla en dos niveles. Los permisos de IAM determinan quién en una cuenta puede habilitar el administrador de roles y quién puede usar los roles que proporciona. En una organización, las políticas de control de servicio (SCP) determinan lo que pueden hacer las cuentas de miembro.

Permisos para el administrador de roles

Para habilitar o deshabilitar el administrador de roles, necesita el permiso iam:PutAccountProperties. La política administrada de AWS IAMFullAccess lo incluye.

Para usar el administrador de roles, el usuario necesita los permisos de IAM para las acciones que el administrador de roles realiza en su nombre. El administrador de roles proporciona roles a través de la API de AcquireRole, que evalúa cada acción de IAM subyacente en función de los permisos del usuario:

  • Si en la cuenta ya existe un rol que coincide con la plantilla, AcquireRole devuelve ese rol. Esto requiere el permiso iam:GetRole.

  • Si no existe ningún rol coincidente, AcquireRole crea uno a partir de la plantilla. Esto requiere el permiso iam:CreateRole, además de los permisos para lo que defina la plantilla: iam:PutRolePolicy si la plantilla agrega políticas integradas y iam:AttachRolePolicy si la plantilla adjunta políticas administradas.

Un usuario con acceso total a IAM tiene todos los permisos que el administrador de roles requiere. Para ver las acciones exactas que requiere una plantilla específica, recupere la plantilla con GetRoleTemplateVersion y revise las políticas.

Cuando el administrador de roles crea un rol, AWS CloudTrail registra la creación como un único evento AcquireRole. El evento muestra quién llamó a la operación, la plantilla de roles y los valores de los parámetros que se usaron y el rol que se creó.

En el siguiente ejemplo, se muestra que el administrador de roles llamó a la operación AcquireRole en nombre de un usuario que asumió el rol Admin y utilizó la plantilla de roles PowerUserRoleTemplate para crear el rol PowerUserRole.

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROA123EXAMPLE:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "arn": "arn:aws:sts::123456789012:assumed-role/Admin/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "accountId": "123456789012", "accessKeyId": "ASIAWZYMLEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA123EXAMPLE", "arn": "arn:aws:iam::123456789012:role/Admin", "accountId": "123456789012", "userName": "Admin" }, "attributes": { "creationDate": "2026-08-11T18:18:50Z", "mfaAuthenticated": "false" } }, "onBehalfOf": { "userId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "identityStoreArn": "arn:aws:identitystore::111122223333:identitystore/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" } }, "eventTime": "2026-08-11T18:23:00Z", "eventSource": "iam.amazonaws.com", "eventName": "AcquireRole", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36", "requestParameters": { "templateArn": "arn:aws:iam::aws:role-template/iam.amazonaws.com/PowerUserRoleTemplate:1", "templateMinorVersion": 0, "replacementValues": { "AWSServiceName": { "values": [ "iam.amazonaws.com" ] } } }, "responseElements": { "role": { "path": "/", "roleName": "PowerUserRole", "roleId": "AROA987EXAMPLE", "arn": "arn:aws:iam::123456789012:role/PowerUserRole", "createDate": "2026-08-11T18:23:00Z", "assumeRolePolicyDocument": "%7B%22Version%22:%222012-10-17%22,%22Statement%22:%5B%7B%22Effect%22:%22Allow%22,%22Principal%22:%7B%22Service%22:%22iam.amazonaws.com%22%7D,%22Action%22:%22sts:AssumeRole%22%7D%5D%7D" } }, "requestID": "fde3dac0-73ac-491c-876b-EXAMPLE89c57", "eventID": "c93332cf-1429-4aee-bcaa-EXAMPLE3790d", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "iam.amazonaws.com" }, "sessionCredentialFromConsole": "true" }

Controlar el administrador de roles en una organización

Puede controlar el administrador de roles en toda la organización con una política de control de servicio (SCP) de AWS Organizations. En los siguientes ejemplos se muestra cómo bloquear la habilitación del administrador de roles, bloquear la creación de roles o bloquear únicamente la creación de roles basada en plantillas.

En estos ejemplos se utiliza la estrategia de listas de denegación; es decir, también se necesita FullAWSAccess u otra política que permita las acciones asociadas a las entidades de su organización. Aún debe conceder permisos a las entidades principales con políticas basadas en identidades.

Para evitar que las cuentas de miembro habiliten el administrador de roles a través de la consola o la API, deniegue el permiso iam:PutAccountProperties. Se recomienda esta política para crear nuevas cuentas directamente a través de Organizations.

{ "Sid": "DenyRoleManagerEnablement", "Effect": "Deny", "Action": "iam:PutAccountProperties", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "iam:AccountPropertyNamespaces": "RoleManager" } } }

Bloquear el acceso para usar el administrador de roles

Para bloquear el uso del administrador de roles, utilice la clave de contexto iam:RoleTemplateARN, que está presente en las acciones de IAM que crean un rol a partir de una plantilla. La siguiente política deniega todas las acciones de IAM que tengan un valor distinto de nulo para la clave de contexto iam:RoleTemplateARN. Esta política no impide la creación de todos los roles: solo bloquea la creación de roles a través del administrador de roles y la creación de roles basada en plantillas a través del SDK.

{ "Sid": "DenyTemplatedRoleCreation", "Effect": "Deny", "Action": "iam:*", "Resource": "*", "Condition": { "Null": { "iam:RoleTemplateARN": false } } }

Bloquear la creación de roles, excepto a través del administrador de roles

Para permitir la creación de roles únicamente a través del administrador de roles, utilice la siguiente política para bloquear la creación de roles que no sea a través del administrador de roles. Esta política sigue permitiendo la creación de roles basada en plantillas directamente a través del SDK.

{ "Sid": "DenyNonTemplatedRoleCreation", "Effect": "Deny", "Action": [ "iam:GetRole", "iam:GetRoleTemplateVersion", "iam:CreateRole", "iam:AttachRolePolicy", "iam:PutRolePolicy", "iam:PutRolePermissionsBoundary", "iam:TagRole" ], "Resource": "*", "Condition": { "Null": { "iam:RoleTemplateARN": true } } }