

# Autorización de API de puntos de conexión regionales con IAM
<a name="s3-express-security-iam"></a>

AWS Identity and Access Management (IAM) es un Servicio de AWS que ayuda a los administradores a controlar de forma segura el acceso a los recursos de AWS. Los administradores de IAM controlan quién se puede autenticar (iniciar sesión) y autorizar (tener permisos) para utilizar los recursos de Amazon S3 en buckets de directorio y operaciones de S3 Express One Zone. El uso de IAM no está sujeto a ningún cargo adicional. 

De forma predeterminada, los usuarios no tienen permisos para los buckets de directorio. Para conceder permisos de acceso a los buckets de directorio, puede usar IAM para crear usuarios, grupos o roles y asociar permisos a esas identidades. Para obtener más información sobre IAM, consulte la sección [Prácticas recomendadas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM;*. 

Para proporcionar acceso, puede agregar permisos a sus usuarios, grupos o roles a través de los siguientes medios:
+ **Usuarios y grupos en AWS IAM Identity Center**: Cree un conjunto de permisos. Siga las instrucciones de [Creación de un conjunto de permisos](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-create-a-permission-set.html) en la *Guía del usuario de AWS IAM Identity Center*.
+ **Usuarios administrados en IAM a través de un proveedor de identidades**: Cree un rol para la federación de identidades. Siga las instrucciones descritas en [Creación de un rol para un proveedor de identidad de terceros (federación)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html) en la *Guía del usuario de IAM*.
+ **Usuarios y roles de IAM**: Cree un rol que el usuario pueda asumir. Siga las instrucciones de [Creación de un rol para delegar permisos a un usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) de la *Guía del usuario de IAM*. 

Para obtener más información acerca de IAM para S3 Express One Zone, consulte los siguientes temas.

**Topics**
+ [Entidades principales](#s3-express-security-iam-principals)
+ [Recursos](#s3-express-security-iam-resources)
+ [Acciones para buckets de directorio](#s3-express-security-iam-actions)
+ [Políticas basadas en identidad de IAM para buckets de directorio](s3-express-security-iam-identity-policies.md)
+ [Ejemplo de políticas de bucket para buckets de directorio](s3-express-security-iam-example-bucket-policies.md)

## Entidades principales
<a name="s3-express-security-iam-principals"></a>

Cuando crea una política basada en recursos para conceder acceso a sus buckets, debe utilizar el elemento `Principal` para especificar la persona o aplicación que puede realizar una solicitud para realizar una acción o una operación en ese recurso. Para las políticas de buckets de directorio, puede utilizar los siguientes principios:
+ Una cuenta de AWS.
+ Un usuario de IAM
+ Un rol de IAM
+ Un usuario federado

Para obtener más información, consulte [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) en la *Guía del usuario de IAM*.

## Recursos
<a name="s3-express-security-iam-resources"></a>

Los nombres de recursos de Amazon (ARN) para los buckets de directorio contienen el espacio de nombres `s3express`, la Región de AWS, el ID de cuenta de AWS y el nombre del bucket de directorio, que incluye el ID de zona de AWS (un ID de zona de disponibilidad o de zona local).

Para acceder y realizar acciones en el bucket de directorio, debe utilizar el formato de ARN siguiente:

```
arn:aws:s3express:region:account-id:bucket/base-bucket-name--zone-id--x-s3
```

Para acceder y realizar acciones en el punto de acceso de un bucket de directorio, debe utilizar el formato de ARN siguiente:

```
arn:aws::s3express:region:account-id:accesspoint/accesspoint-basename--zone-id--xa-s3
```

Para obtener más información, consulte [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) en la *Guía del usuario de IAM*. Para obtener más información sobre los recursos, consulte [Elementos de política JSON de IAM: Resource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) en la *Guía del usuario de IAM*.

## Acciones para buckets de directorio
<a name="s3-express-security-iam-actions"></a>

En una política basada en identidad de IAM o una política basada en recursos, usted define qué acciones de S3 se permiten o deniegan. Las acciones corresponden a operaciones de la API concretas. Con los buckets de directorio, debe usar el espacio de nombres de S3 Express One Zone para conceder permisos, llamado `s3express`.

Al conceder el permiso `s3express:CreateSession`, la operación de la API `CreateSession` recupera un token de sesión temporal para todas las operaciones de la API de punto de conexión zonal (nivel de objeto). El token de sesión devuelve las credenciales que se utilizan para todas las demás operaciones de la API de punto de conexión zonal. Como resultado, no conceda permisos de acceso a las operaciones de API zonales con políticas de IAM. En su lugar, `CreateSession` permite el acceso a todas las operaciones en el nivel de objeto. Para obtener la lista de operaciones y permisos de la API zonales, consulte [Autenticación y autorización de solicitudes](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-authenticating-authorizing.html). 

Para obtener más información sobre la operación de la API `CreateSession`, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) en la *Referencia de la API de Amazon Simple Storage Service*.

Puede especificar las siguientes acciones en el elemento `Action` de una declaración de política de IAM. Utilice políticas para conceder permisos para realizar una operación en AWS. Cuando utiliza una acción en una política, normalmente permite o deniega el acceso a la operación de la API con el mismo nombre. No obstante, en algunos casos, una sola acción controla el acceso a más de una operación de la API. El acceso a las acciones en el nivel de bucket solo se puede conceder en las políticas basadas en identidad de IAM (usuario o rol), no en las políticas de bucket.

Para obtener más información acerca de cómo configurar políticas de punto de acceso, consulte [Configuración de las políticas de IAM para utilizar puntos de acceso para buckets de directorio](access-points-directory-buckets-policies.md).

Para obtener más información, consulte [Acciones, recursos y claves de condición para Amazon S3 Express](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3express.html). 

# Políticas basadas en identidad de IAM para buckets de directorio
<a name="s3-express-security-iam-identity-policies"></a>

Para poder crear buckets de directorio, debe conceder los permisos necesarios al rol o a los usuarios de AWS Identity and Access Management (IAM). Esta política de ejemplo permite el acceso a la operación de la API `CreateSession` (para utilizarla con las operaciones de la API del punto de conexión zonal [de nivel de objeto]) y a todas las operaciones de la API del punto de conexión regional (de nivel de bucket). Esta política permite que la operación de la API `CreateSession` se utilice con todos los buckets de directorio, pero las operaciones de la API de punto de conexión regional solo se permiten con el bucket de directorio especificado. Para utilizar esta política de ejemplo, sustituya `user input placeholders` por su propia información.

# Ejemplo de políticas de bucket para buckets de directorio
<a name="s3-express-security-iam-example-bucket-policies"></a>

En esta sección se proporcionan ejemplos de políticas de bucket de directorio. Para utilizar estas políticas, sustituya `user input placeholders` por su información.

En el ejemplo siguiente de política de bucket, se permite que el ID de Cuenta de AWS `111122223333` utilice la operación de la API `CreateSession` para el bucket de directorio especificado. Cuando no se especifica ningún modo de sesión, la sesión se creará con el privilegio máximo permitido (se intenta primero `ReadWrite` y, después, `ReadOnly` si no está permitido). Esta política otorga acceso a las operaciones de la API del punto de conexión zonal (de nivel de objeto). 

**Example - Política de bucket para permitir llamadas `CreateSession`**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadWriteAccess",
            "Effect": "Allow",
            "Resource": "arn:aws:s3express:us-west-2:111122223333:bucket/amzn-s3-demo-bucket--usw2-az1--x-s3",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:root"
                ]
            },
            "Action": [
                "s3express:CreateSession"
            ]
        }
    ]
}
```

**Example – Política de buckets para permitir llamadas `CreateSession` con una sesión `ReadOnly`**  
El siguiente ejemplo de política de bucket permite que el ID de Cuenta de AWS `111122223333` utilice la operación de la API `CreateSession`. Esta política utiliza la clave de condición `s3express:SessionMode` con el valor `ReadOnly` para establecer una sesión de solo lectura.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadOnlyAccess",
            "Effect": "Allow",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": "s3express:CreateSession",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3express:SessionMode": "ReadOnly"
                }
            }
        }
    ]
}
```

**Example – Política de bucket para permitir el acceso entre cuentas para llamadas `CreateSession`**  
El siguiente ejemplo de política de bucket permite que el ID de Cuenta de AWS `111122223333` utilice la operación de la API `CreateSession` para el bucket de directorio especificado que es propiedad del ID de Cuenta de AWS *`444455556666`*.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CrossAccount",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "s3express:CreateSession"
            ],
            "Resource": "arn:aws:s3express:us-west-2:444455556666:bucket/amzn-s3-demo-bucket--usw2-az1--x-s3"
        }
    ]
}
```