IAM identificadores - AWS Identity and Access Management

Si proporcionásemos una traducción de la versión en inglés de la guía, prevalecerá la versión en inglés de la guía si hubiese algún conflicto. La traducción se proporciona mediante traducción automática.

IAM identificadores

IAM utiliza varios identificadores diferentes para usuarios, grupos, roles, políticas y certificados de servidor. En esta sección se describen los identificadores y cuándo se utilizan cada uno de ellos.

Nombres y rutas fáciles de usar

Cuando crea un usuario, un rol, un grupo o una política, o cuando carga un certificado de servidor, le asigna un nombre descriptivo. Entre los ejemplos se incluyen Julio, AppPrueba1, Desarrolladores, AdministrarPermisosCredenciales o CertServidorProd.

Si estás utilizando la función IAM con la API o AWS Command Line Interface (AWS CLI) para crear IAM , también puede asignar a algunos recursos una ruta opcional. Puede utilizar una ruta única o anidar varias rutas como si se tratara de una estructura de carpetas. Por ejemplo, puede utilizar la ruta anidada /division_abc/subdivision_xyz/product_1234/engineering/ para adaptarla a la estructura organizativa de su empresa. A continuación, puede crear una política para permitir a todos los usuarios de la ruta el acceso a la API del simulador de políticas. Para consultar esta política, visite IAM: obtener acceso a la API del simulador de políticas en función de la ruta del usuario. Para obtener más ejemplos de cómo utilizar las rutas, consulte ARN de IAM.

Cuando se utiliza AWS CloudFormation para crear recursos, se puede especificar una ruta de acceso para usuarios, grupos y roles, pero no para políticas.

Asignar a un usuario y un grupo la misma ruta no significa que el usuario sea automáticamente miembro de dicho grupo. Por ejemplo, puede crear un grupo Developers y especificar su ruta como /division_abc/subdivision_xyz/product_1234/engineering/. Pero el hecho de que haya creado un usuario llamado Bob y le haya asignado la misma ruta no significa que Bob sea automáticamente el grupo de desarrolladores. IAM no aplica ningún límite entre los usuarios o los grupos en función de sus rutas. Los usuarios con diferentes rutas pueden utilizar los mismos recursos (suponiendo que se les haya concedido permiso para esos recursos). El número y el tamaño de los recursos de IAM de una cuenta de AWS son limitados. Para obtener más información, consulte IAM y cuotas de STS.

ARN de IAM

La mayoría de los recursos tienen un nombre fácil de recordar (por ejemplo, un usuario denominado Bob o un grupo denominado Developers). Sin embargo, el lenguaje de la política de permisos requiere que especifique el recurso o los recursos con el formato de nombre de recurso de Amazon (ARN) siguiente.

arn:partition:service:region:account:resource

Donde:

  • partition identifica la partición en la que se encuentra el recurso. Para estándar AWS Regiones, la partición es aws. Si tiene recursos en otras particiones, la partición es aws-partitionname. Por ejemplo, la partición de los recursos de la China (Pekín) La región es aws-cn. No puede delegar acceso entre cuentas en diferentes particiones.

  • service identifica el producto de AWS. En el caso de los recursos de IAM, es siempre iam.

  • region es la región en la que reside el recurso. En el caso de los recursos de IAM, se deja siempre en blanco.

  • account es el ID de la cuenta de AWS sin guiones (por ejemplo, 123456789012).

  • resource es la parte que identifica el recurso específico por su nombre.

Puede especificar los ARN de IAM y AWS STS utilizando la siguiente sintaxis. La parte de la región del ARN está en blanco porque los recursos de IAM son globales.

Sintaxis:

arn:aws:iam::account-id:root arn:aws:iam::account-id:user/user-name-with-path arn:aws:iam::account-id:group/group-name-with-path arn:aws:iam::account-id:role/role-name-with-path arn:aws:iam::account-id:policy/policy-name-with-path arn:aws:iam::account-id:instance-profile/instance-profile-name-with-path arn:aws:sts::account-id:federated-user/user-name arn:aws:sts::account-id:assumed-role/role-name/role-session-name arn:aws:iam::account-id:mfa/virtual-device-name-with-path arn:aws:iam::account-id:u2f/u2f-token-id arn:aws:iam::account-id:server-certificate/certificate-name-with-path arn:aws:iam::account-id:saml-provider/provider-name arn:aws:iam::account-id:oidc-provider/provider-name

Muchos de los ejemplos siguientes incluyen rutas en la parte del recurso de ARN. Las rutas no se pueden crear ni manipular en la Consola de administración de AWS. Para utilizar rutas debe trabajar con el recurso utilizando la API de AWS, la AWS CLI o la Herramientas para Windows PowerShell.

Ejemplos:

arn:aws:iam::123456789012:root arn:aws:iam::123456789012:user/JohnDoe arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/JaneDoe arn:aws:iam::123456789012:group/Developers arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_A/Developers arn:aws:iam::123456789012:role/S3Access arn:aws:iam::123456789012:role/application_abc/component_xyz/S3Access arn:aws:iam::123456789012:policy/UsersManageOwnCredentials arn:aws:iam::123456789012:policy/division_abc/subdivision_xyz/UsersManageOwnCredentials arn:aws:iam::123456789012:instance-profile/Webserver arn:aws:sts::123456789012:federated-user/JohnDoe arn:aws:sts::123456789012:assumed-role/Accounting-Role/JaneDoe arn:aws:iam::123456789012:mfa/JaneDoeMFA arn:aws:iam::123456789012:u2f/user/JohnDoe/default (U2F security key) arn:aws:iam::123456789012:server-certificate/ProdServerCert arn:aws:iam::123456789012:server-certificate/division_abc/subdivision_xyz/ProdServerCert arn:aws:iam::123456789012:saml-provider/ADFSProvider arn:aws:iam::123456789012:oidc-provider/GoogleProvider

Los siguientes ejemplos proporcionan más detalles para ayudarle a conocer el formato de ARN para los diferentes tipos de recursos de IAM y AWS STS.

  • Un usuario de IAM en la cuenta:

    arn:aws:iam::123456789012:user/JohnDoe
  • Otro usuario con una ruta que refleje un organigrama:

    arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/JaneDoe
  • Un grupo de IAM:

    arn:aws:iam::123456789012:group/Developers
  • Un grupo de IAM con una ruta:

    arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_A/Developers
  • Un rol de IAM:

    arn:aws:iam::123456789012:role/S3Access
  • Una política administrada:

    arn:aws:iam::123456789012:policy/ManageCredentialsPermissions
  • Un perfil de instancia que se puede asociar a una instancia EC2:

    arn:aws:iam::123456789012:instance-profile/Webserver
  • Un usuario federado identificado en IAM como "Paulo":

    arn:aws:sts::123456789012:federated-user/Paulo
  • La sesión activa de alguien que asume el rol de "Accounting-Role", con el nombre de sesión de rol "Mary":

    arn:aws:sts::123456789012:assumed-role/Accounting-Role/Mary
  • El dispositivo de autenticación multifactor asignado al usuario llamado Jorge:

    arn:aws:iam::123456789012:mfa/Jorge
  • Un certificado de servidor

    arn:aws:iam::123456789012:server-certificate/ProdServerCert
  • Un certificado de servidor con una ruta que refleja un organigrama:

    arn:aws:iam::123456789012:server-certificate/division_abc/subdivision_xyz/ProdServerCert
  • Proveedores de identidades (SAML y OIDC):

    arn:aws:iam::123456789012:saml-provider/ADFSProvider arn:aws:iam::123456789012:oidc-provider/GoogleProvider

Otro ARN importante es el ARN usuario raíz. Aunque no es un recurso de IAM, debe estar familiarizado con el formato de este ARN. A menudo se utiliza en elelemento Principal de una política.

  • La cuenta de AWS (la propia cuenta):

    arn:aws:iam::123456789012:root

En el ejemplo siguiente se muestra una política que se podría asignar a Richard para que este pueda administrar sus propias claves de acceso. Observe que el recurso es el usuario de IAM Richard.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageRichardAccessKeys", "Effect": "Allow", "Action": [ "iam:*AccessKey*", "iam:GetUser" ], "Resource": "arn:aws:iam::*:user/division_abc/subdivision_xyz/Richard" }, { "Sid": "ListForConsole", "Effect": "Allow", "Action": "iam:ListUsers", "Resource": "*" } ] }
nota

Cuando utiliza ARN para identificar recursos en una política de IAM, puede incluir variables de política. Las variables de política pueden incluir marcadores de posición para la información del entorno de ejecución (como el nombre del usuario) como parte del ARN. Para obtener más información, consulte Elementos de política de IAM Variables y etiquetas

Puedes utilizar comodines en la pestaña resource del ARN para especificar varios usuarios, grupos o políticas. Por ejemplo, para especificar todos los usuarios que trabajan en product_1234, debe utilizar:

arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/product_1234/*

Supongamos que tiene usuarios cuyos nombres comienzan con la cadena app_. Puede hacer referencia a todos ellos con el siguiente ARN.

arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/product_1234/app_*

Para especificar todos los usuarios, grupos o políticas de su cuenta de AWS, utilice un comodín después de la parte user/, group/o policy del ARN, respectivamente.

arn:aws:iam::123456789012:user/* arn:aws:iam::123456789012:group/* arn:aws:iam::123456789012:policy/*

No utilice un comodín en la parte user/, group/ o policy del ARN. Por ejemplo, no se permite lo siguiente:

arn:aws:iam::123456789012:u*

ejemplo Ejemplo de uso de rutas y ARN para un grupo basado en proyectos

Las rutas no se pueden crear ni manipular en la Consola de administración de AWS. Para utilizar rutas debe trabajar con el recurso utilizando la API de AWS, la AWS CLI o la Herramientas para Windows PowerShell.

En este ejemplo, Jules del grupo Marketing_Admin crea un grupo basado en proyectos dentro de la ruta /marketing/. Jules asigna usuarios de diferentes partes de la empresa al grupo. El ejemplo sirve para mostrar que la ruta de un usuario no tiene ninguna relación con los grupos en los que está el usuario.

El grupo de marketing tiene un producto nuevo listo para lanzarlo, y Jules crea un grupo nuevo en la ruta /marketing/ llamado Widget_Launch. A continuación, Jules asigna la siguiente política al grupo, que concede al grupo acceso a objetos de la parte de example_bucket designada para este lanzamiento en concreto.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws:s3:::example_bucket/marketing/newproductlaunch/widget/*" }, { "Effect": "Allow", "Action": "s3:ListBucket*", "Resource": "arn:aws:s3:::example_bucket", "Condition": {"StringLike": {"s3:prefix": "marketing/newproductlaunch/widget/*"}} } ] }

Después, Jules asigna los usuarios que trabajan en este lanzamiento al grupo. Entre ellos figuran Patricia y Eli de la ruta /marketing/. También figuran Chris y Chloe de la ruta /sales/, y Alice y Jim de la ruta /legal/.

Identificadores únicos

¿Cuándo? IAM crea un usuario, grupo, rol, política, perfil de instancia o certificado de servidor, asigna a cada recurso un ID único que tiene el siguiente aspecto:

AIDAJQABLZS4A3QDU576Q

En su mayor parte, utiliza nombres fáciles de recordar y ARN cuando trabajas con IAM Los recursos de. De esta forma, no es necesario conocer el ID único de un recurso específico. Sin embargo, el ID único puede ser útil en ocasiones, cuando no es práctico utilizar nombres fáciles de recordar.

Uno de los ejemplos aborda el tema de volver a utilizar nombres fáciles de recordar en su cuenta de AWS. En la cuenta, un nombre fácil de recordar de un usuario, un grupo o una política tiene que ser único. Por ejemplo, puede haber creado un usuario de IAM llamado David. Su empresa utiliza Amazon S3 y tiene un bucket con carpetas para cada empleado. El bucket tiene una política basada en recursos (una política de bucket) que permite a los usuarios obtener acceso únicamente a sus propias carpetas en el bucket. Supongamos que el empleado llamado David deja la empresa y usted elimina el usuario de IAM correspondiente, pero que más tarde otro empleado también llamado David comienza a trabajar en la empresa y usted crea un nuevo usuario de IAM llamado David. Si la política de bucket especifica el usuario David de IAM, la política permite al nuevo usuario David obtener acceso a la información que dejó el anterior David.

Ahora bien, todos los usuarios de IAM tienen un ID único, aunque cree un usuario de IAM nuevo que vuelva a utilizar un nombre fácil de utilizar que ya haya eliminado antes. En el ejemplo, el usuario de IAM David de antes y el nuevo usuario David de IAM tienen ambos ID únicos, pero diferentes. Puede crear políticas de recursos para buckets de Amazon S3 que concedan acceso por ID único y no solo por nombre de usuario. De esta manera, se reduce la posibilidad de que pueda conceder acceso sin querer a la información que un empleado no debería tener.

Los ID de usuario también pueden ser útiles, por ejemplo, si quiere mantener su propia base de datos (u otro almacén) de información de usuarios de IAM. El ID único puede proporcionar un identificador único para cada usuario de IAM que cree. Esto es así incluso si con el tiempo tiene usuarios de IAM que reutilizan un nombre, como en el ejemplo anterior.

Descripción de los prefijos de ID únicos

IAM utiliza los siguientes prefijos para indicar qué tipo de recurso se aplica a cada ID único.

Prefix Tipo de recurso
ABIA AWS STS token de portador de servicio
ACCA Credenciales específicas del contexto

AGPA

Group (Grupo)

AIDA

IAM usuario

AIPA Perfil de instancia Amazon EC2
AKIA Clave de acceso
ANPA

Política administrada

ANVA

Versión en una política administrada

APKA Clave pública
AROA Rol
ASCA Certificate

ASIA

Claves temporales (AWS STS)

Obteniendo el identificador único

El ID único para un IAM El recurso de no está disponible en la IAM consola de. Para obtener el ID único, puede utilizar los siguientes comandos de la AWS CLI o llamadas a la API de IAM.

AWS CLI:

API de IAM: