Ruoli di collegamento degli account - Integrazioni gestite per AWS IoT Device Management

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ruoli di collegamento degli account

Per creare un connettore C2C, avrai bisogno di un server di autorizzazione OAuth 2.0 e di un collegamento all'account. Per ulteriori informazioni, consulta Flusso di lavoro per il collegamento degli account.

OAuth 2.0 definisce i seguenti quattro ruoli nell'implementazione del collegamento degli account:

  1. Server di autorizzazione

  2. Proprietario della risorsa (utente finale)

  3. Server di risorse

  4. Client

Di seguito vengono definiti ciascuno di questi OAuth ruoli:

Server di autorizzazione

Il server di autorizzazione è il server che identifica e autentica l'identità di un utente finale in un cloud di terze parti. I token di accesso forniti da questo server possono collegare l'account della piattaforma cliente dell'utente AWS finale e l'account della piattaforma di terze parti. Questo processo è denominato collegamento dell'account.

Il server di autorizzazione supporta il collegamento degli account fornendo quanto segue:

  • Visualizza una pagina di accesso per consentire all'utente finale di accedere al sistema. Questo viene in genere definito endpoint di autorizzazione.

  • Autentica l'utente finale nel sistema.

  • Genera un codice di autorizzazione che identifica l'utente finale.

  • Trasmette il codice di autorizzazione alle integrazioni gestite per AWS IoT Device Management.

  • Accetta il codice di autorizzazione dalle integrazioni gestite per AWS IoT Device Management e restituisce un token di accesso che le integrazioni gestite per AWS IoT Device Management possono utilizzare per accedere ai dati dell'utente finale nel tuo sistema. Questa operazione viene in genere completata tramite un URI separato, chiamato URI token o endpoint.

Importante

Il server di autorizzazione deve supportare il flusso del codice di autorizzazione OAuth 2.0 da utilizzare con integrazioni gestite per AWS IoT Device Management Connector. le integrazioni gestite per AWS IoT Device Management supportano anche il flusso del codice di autorizzazione con Proof Key for Code Exchange (PKCE).

Il server di autorizzazione deve:

  • Emetti token di accesso che contengono l'ID estraibile dell'utente finale o del proprietario della risorsa, ad esempio token JWT

  • Puoi restituire l'ID dell'utente finale per ogni token di accesso emesso

In caso contrario, il connettore non sarà in grado di supportare l'operazione richiesta. AWS.ActivateUser Ciò impedirà l'utilizzo dei connettori con le integrazioni gestite.

Se lo sviluppatore o il proprietario del connettore non gestisce il proprio server di autorizzazione, il server di autorizzazione utilizzato deve fornire l'autorizzazione per le risorse gestite dalla piattaforma di terze parti dello sviluppatore del connettore. Ciò significa che tutti i token ricevuti dalle integrazioni gestite dal server di autorizzazione devono fornire limiti di sicurezza significativi sui dispositivi (la risorsa). Ad esempio, un token per utenti finali non consente comandi su un altro dispositivo dell'utente finale; le autorizzazioni fornite dal token sono mappate alle risorse all'interno della piattaforma. Considerate l'esempio di Lights Incorporated. Quando un utente finale avvia il flusso di collegamento dell'account con il proprio connettore, viene reindirizzato alla pagina di accesso di Lights Incorporated che si trova davanti al server di autorizzazione. Dopo aver effettuato l'accesso e concesso le autorizzazioni al client, forniscono un token che consente al connettore di accedere alle risorse all'interno del proprio account Lights Incorporated.

Proprietario della risorsa (utente finale)

In qualità di proprietario della risorsa, consenti a integrazioni gestite per i clienti di AWS IoT Device Management di accedere alle risorse associate al tuo account eseguendo il collegamento dell'account. Ad esempio, si consideri la lampadina intelligente che un utente finale ha inserito nell'applicazione mobile Lights Incorporated. Il proprietario della risorsa si riferisce all'account dell'utente finale che ha acquistato e effettuato l'onboarding del dispositivo. Nel nostro esempio, il proprietario della risorsa è modellato come un account Lights Incorporated OAuth2 2.0. In qualità di proprietario della risorsa, questo account fornisce le autorizzazioni per emettere comandi e gestire il dispositivo.

Server di risorse

Questo è il server che ospita le risorse protette che richiedono l'autorizzazione all'accesso (dati del dispositivo). Il AWS cliente deve accedere alle risorse protette per conto di un utente finale e lo fa tramite integrazioni gestite per i connettori AWS IoT Device Management dopo il collegamento dell'account. Considerando ad esempio la lampadina intelligente di prima, il server di risorse è un servizio basato su cloud di proprietà di Lights Incorporated che gestisce la lampadina dopo l'installazione. Tramite il server di risorse, il proprietario della risorsa può impartire comandi alla lampadina intelligente, come accenderla e spegnerla. La risorsa protetta fornisce solo le autorizzazioni per l'account dell'utente finale e per altri account a accounts/entities cui potrebbe aver fornito l'autorizzazione.

Cliente

In questo contesto, il client è il tuo connettore C2C. Un client è definito come un'applicazione a cui viene concesso l'accesso alle risorse all'interno di un server di risorse per conto dell'utente finale. Il processo di collegamento dell'account rappresenta il connettore, il client, che richiede l'accesso alle risorse di un utente finale all'interno del cloud di terze parti.

Sebbene il connettore sia il OAuth client, le integrazioni gestite per AWS IoT Device Management eseguono operazioni per conto del connettore. Ad esempio, le integrazioni gestite per AWS IoT Device Management inoltrano richieste al server di autorizzazione per ottenere un token di accesso. Il connettore è ancora considerato il client perché è l'unico componente che accede alla risorsa protetta (dati del dispositivo) nel server di risorse.

Considerate la lampadina intelligente che è stata integrata da un utente finale. Una volta completato il collegamento dell'account tra la piattaforma del cliente e il server di autorizzazione di Lights Incorporated, il connettore stesso comunicherà con il server di risorse per recuperare informazioni sulla lampadina intelligente dell'utente finale. Il connettore può quindi ricevere comandi dall'utente finale. Ciò include l'accensione o lo spegnimento della luce per loro conto tramite il server di risorse Lights Incorporated. Pertanto, designiamo il connettore come client.