

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.

# Uso de una autorización detallada con un almacén de datos habilitado para SMART on FHIR HealthLake
<a name="reference-smart-on-fhir-fine-grained-authorization"></a>

[Los ámbitos](reference-smart-on-fhir-oauth-scopes.md#smart-on-fhir-scopes-rest) por sí solos no proporcionan la especificidad necesaria sobre los datos a los que el solicitante está autorizado a acceder en un almacén de datos. El uso de una autorización detallada permite un mayor nivel de especificidad a la hora de conceder acceso a un almacén de datos compatible con SMART en el FHIR. HealthLake Para utilizar una autorización detallada, establezca un `FineGrainedAuthorizationEnabled` valor igual a `True` en el parámetro de su solicitud. `IdentityProviderConfiguration` `CreateFHIRDatastore`

Si has habilitado la autorización detallada, tu servidor de autorización devuelve un `fhirUser` ámbito junto con el `id_token` token de acceso. Esto permite que la aplicación cliente recupere la información sobre el usuario. La aplicación cliente debe tratar la `fhirUser` reclamación como el URI de un recurso del FHIR que represente al usuario actual. Este valor puede ser `Patient`, `Practitioner` o `RelatedPerson`. La respuesta del servidor de autorización también incluye un `user/` ámbito que define a qué datos puede acceder el usuario. Utiliza la sintaxis definida para los ámbitos relacionados con los ámbitos específicos de los recursos del FHIR:

```
user/(fhir-resource | '*').('read' | 'write' | '*')
```

Los siguientes son ejemplos de cómo se puede utilizar la autorización detallada para especificar con más detalle los tipos de recursos del FHIR relacionados con el acceso a los datos.
+ Cuándo `fhirUser` es una autorización detallada`Practitioner`, determina el conjunto de pacientes a los que puede acceder el usuario. Solo `fhirUser` se permite el acceso a aquellos pacientes en los que el paciente tenga referencias `fhirUser` como médico generalista. 

  ```
  Patient.generalPractitioner : [{Reference(Practitioner)}]
  ```
+ Cuando `fhirUser` es un `Patient` o `RelatedPerson` y el paciente al que se hace referencia en la solicitud es diferente del `fhirUser` indicado, la autorización detallada determina el acceso del paciente `fhirUser` solicitado. Se permite el acceso cuando existe una relación especificada en el recurso solicitado. `Patient`

  ```
  Patient.link.other : {Reference(Patient|RelatedPerson)}
  ```