

# Amazon S3: permite a los usuarios federados obtener acceso a su directorio principal de Amazon S3, mediante programación y en la consola
<a name="reference_policies_examples_s3_federated-home-directory-console"></a>

Este ejemplo muestra cómo podría crear una política basada en identidades que permita a las entidades principales federadas acceder a su propio objeto de directorio principal en un bucket de S3. El directorio principal es un bucket que contiene una carpeta `home` y carpetas para entidades principales federadas individuales. Esta política define los permisos para el acceso programático y a la consola. Para utilizar esta política, sustituya el {{texto en cursiva}} de la política de ejemplo por su propia información. A continuación, siga las instrucciones en [Crear una política](access_policies_create.md) o [Editar una política](access_policies_manage-edit.md).

La variable `${aws:userid}` de esta política se resuelve como `role-id:specified-name`. La parte `role-id` del ID de la entidad principal federada es un identificador único asignado al rol de la entidad principal federada durante su creación. Para obtener más información, consulte [Identificadores únicos](reference_identifiers.md#identifiers-unique-ids). El `specified-name` es el [parámetro RoleSessionName](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html#API_AssumeRoleWithWebIdentity_RequestParameters) transferido en la solicitud `AssumeRoleWithWebIdentity` cuando la entidad principal federada asumió su rol.

Puede ver el ID de rol con el comando AWS CLI de la `aws iam get-role --role-name {{specified-name}}`. Por ejemplo, imagine que especifica el nombre fácil de recordar `John` y que la CLI devuelve el ID de rol `AROAXXT2NJT7D3SIQN7Z6`. En este caso, el ID de usuario de la entidad principal federada es `AROAXXT2NJT7D3SIQN7Z6:John`. Esta política permite entonces que la entidad principal federada John acceda al bucket de Amazon S3 con el prefijo `AROAXXT2NJT7D3SIQN7Z6:John`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ConsoleAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketPublicAccessBlock",
                "s3:ListAccessPoints",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
            "Condition": {
                "StringLike": {
                    "s3:prefix": [
                        "",
                        "home/",
                        "home/${aws:userid}/*"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::{{amzn-s3-demo-bucket}}/home/${aws:userid}",
                "arn:aws:s3:::{{amzn-s3-demo-bucket}}/home/${aws:userid}/*"
            ]
        }
    ]
}
```

------