

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Conecte las JupyterLab libretas Studio a Amazon S3 Access Grants con la propagación de identidad confiable habilitada
<a name="trustedidentitypropagation-s3-access-grants"></a>

Puede utilizar [Concesiones de acceso a Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) para otorgar control de acceso detallado y basado en la identidad a las ubicaciones de Amazon S3 de forma flexible. Esto concede a los buckets de Amazon S3 acceso directo a los usuarios y grupos corporativos. En las siguientes páginas se proporciona información e instrucciones sobre cómo utilizar Amazon S3 Access Grants con una propagación de identidad fiable para SageMaker IA.

## Requisitos previos
<a name="s3-access-grants-prerequisites"></a>

Para conectar Studio con Lake Formation y Athena con la propagación de identidades de confianza habilitada, debe haber completado los siguientes requisitos previos:
+  [Configuración de la propagación de identidades de confianza para Studio](trustedidentitypropagation-setup.md) 
+ Siga las instrucciones de [Introducción a Concesiones de acceso a Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html) para configurar Concesiones de acceso a Amazon S3 para su bucket. Para obtener más información, consulte [Administración del acceso con Concesiones de acceso a Amazon S3](https://aws.amazon.com/blogs/storage/scaling-data-access-with-amazon-s3-access-grants/).
**nota**  
Los Amazon S3 estándar APIs no funcionan automáticamente con las concesiones de acceso de Amazon S3. Debe usar Amazon S3 Access Grants de forma explícita APIs. Para obtener más información, consulte [Administración del acceso con Concesiones de acceso a Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html).

**Topics**
+ [Requisitos previos](#s3-access-grants-prerequisites)
+ [Conecta Amazon S3 Access Grants con las JupyterLab libretas Studio](s3-access-grants-setup.md)
+ [Conecte las JupyterLab libretas Studio a Amazon S3 Access Grants con tareas de formación y procesamiento](trustedidentitypropagation-s3-access-grants-jobs.md)

# Conecta Amazon S3 Access Grants con las JupyterLab libretas Studio
<a name="s3-access-grants-setup"></a>

Utilice la siguiente información para conceder subvenciones de acceso a Amazon S3 en las JupyterLab libretas Studio.

Después de configurar Concesiones de acceso a Amazon S3, [añada los siguientes permisos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) a su dominio o [rol de ejecución](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-get-execution-role) de usuario.
+ `us-east-1` es su Región de AWS.
+ `111122223333` es su ID de Cuenta de AWS .
+ `S3-ACCESS-GRANT-ROLE` es su rol de Concesiones de acceso a Amazon S3.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDataAccessAPI",
            "Effect": "Allow",
            "Action": [
                "s3:GetDataAccess"
            ],
            "Resource": [
                "arn:aws:s3:us-east-1:111122223333:access-grants/default"
            ]
        },
        {
            "Sid": "RequiredForTIP",
            "Effect": "Allow",
            "Action": "sts:SetContext",
            "Resource": "arn:aws:iam::111122223333:role/S3-ACCESS-GRANT-ROLE"
        }
    ]
}
```

------

Asegúrese de que la política de confianza de su rol de Concesiones de acceso a Amazon S3 permita las acciones `sts:SetContext` y `sts:AssumeRole`. Use la siguiente política de ejemplo cuando [actualice la política de confianza de su rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "access-grants.s3.amazonaws.com"
                ]
            },
            "Action": [
                "sts:AssumeRole",
                "sts:SetContext"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333",
                    "aws:SourceArn": "arn:aws:s3:us-east-1:111122223333:access-grants/default"
                }
            }
        }
    ]
}
```

------

## Uso de Concesiones de acceso a Amazon S3 para llamar a Amazon S3
<a name="s3-access-grants-python-example"></a>

A continuación, se muestra un ejemplo de script de Python que muestra cómo se puede utilizar Concesiones de acceso a Amazon S3 para llamar a Amazon S3. Esto supone que ya ha configurado correctamente la propagación de identidades confiable con SageMaker IA.

```
import boto3
from botocore.config import Config

def get_access_grant_credentials(account_id: str, target: str, 
                                 permission: str = 'READ'):
    s3control = boto3.client('s3control')
    response = s3control.get_data_access(
        AccountId=account_id,
        Target=target,
        Permission=permission
    )
    return response['Credentials']

def create_s3_client_from_credentials(credentials) -> boto3.client:
    return boto3.client(
        's3',
        aws_access_key_id=credentials['AccessKeyId'],
        aws_secret_access_key=credentials['SecretAccessKey'],
        aws_session_token=credentials['SessionToken']
    )

# Create client
credentials = get_access_grant_credentials('111122223333',
                                        "s3://tip-enabled-bucket/tip-enabled-path/")
s3 = create_s3_client_from_credentials(credentials)

s3.list_objects(Bucket="tip-enabled-bucket", Prefix="tip-enabled-path/")
```

Si utiliza una ruta a un bucket de Amazon S3 donde la concesión de acceso a Amazon S3 no está habilitada, se producirá un error en la llamada.

Para otros lenguajes de programación, consulte [Administración del acceso con Concesiones de acceso a Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) para obtener más información.

# Conecte las JupyterLab libretas Studio a Amazon S3 Access Grants con tareas de formación y procesamiento
<a name="trustedidentitypropagation-s3-access-grants-jobs"></a>

Utilice la siguiente información para conceder subvenciones de acceso a Amazon S3 para acceder a los datos en los trabajos de SageMaker formación y procesamiento de Amazon.

Cuando un usuario con la propagación de identidad fiable habilitada lanza un trabajo de SageMaker formación o procesamiento que necesita acceder a los datos de Amazon S3:
+ SageMaker AI solicita Amazon S3 Access Grants para obtener credenciales temporales basadas en la identidad del usuario
+ Si se ejecutan correctamente, estas credenciales temporales acceden a los datos de Amazon S3.
+ Si no lo consigue, SageMaker AI vuelve a utilizar las credenciales del rol de IAM

**nota**  
Para garantizar que todos los permisos se concedan mediante Concesiones de acceso a Amazon S3, tendrá que eliminar el permiso de acceso a Amazon S3 relacionado con su rol de ejecución y asociarlo a su [Concesiones de acceso a Amazon S3](https://docs.aws.amazon.com/singlesignon/latest/userguide/tip-tutorial-s3.html#tip-tutorial-s3-create-grant) correspondiente.

**Topics**
+ [Consideraciones](#s3-access-grants-jobs-considerations)
+ [Configuración de los trabajos de entrenamiento y procesamiento con Concesiones de acceso a Amazon S3](#s3-access-grants-jobs-setup)

## Consideraciones
<a name="s3-access-grants-jobs-considerations"></a>

Las subvenciones de acceso de Amazon S3 no se pueden utilizar con el [modo Pipe](https://docs.aws.amazon.com/sagemaker/latest/dg/augmented-manifest-stream.html) tanto para el SageMaker entrenamiento como para el procesamiento de las entradas de Amazon S3.

Cuando la propagación de identidad confiable está habilitada, no puede iniciar un trabajo de SageMaker formación con la siguiente función
+ Depuración remota
+ Depurador
+ Profiler

Si la propagación de identidades de confianza está habilitada, no puede iniciar un trabajo de procesamiento con la siguiente característica:
+ DatasetDefinition

## Configuración de los trabajos de entrenamiento y procesamiento con Concesiones de acceso a Amazon S3
<a name="s3-access-grants-jobs-setup"></a>

Después de configurar Concesiones de acceso a Amazon S3, [añada los siguientes permisos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) a su dominio o [rol de ejecución](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-get-execution-role) de usuario.
+ `us-east-1` es su Región de AWS.
+ `111122223333` es su ID de Cuenta de AWS .
+ `S3-ACCESS-GRANT-ROLE` es su rol de Concesiones de acceso a Amazon S3.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDataAccessAPI",
            "Effect": "Allow",
            "Action": [
                "s3:GetDataAccess",
                "s3:GetAccessGrantsInstanceForPrefix"
            ],
            "Resource": [
                "arn:aws:s3:us-east-1:111122223333:access-grants/default"
            ]
        },
        {
            "Sid": "RequiredForIdentificationPropagation",
            "Effect": "Allow",
            "Action": "sts:SetContext",
            "Resource": "arn:aws:iam::111122223333:role/S3-ACCESS-GRANT-ROLE"
        }
    ]
}
```

------