• We are AWS Experts.

    Realizza i tuoi progetti Cloud subito
    grazie ai Cloud Expert di beSharp

chat icon PARLA CON UN ESPERTO! Contattaci  al +39-339-7816800

Cloud Professional Services

Una gamma completa di servizi Cloud


beSharp animation

Architetture
Cloud

Progettiamo, realizziamo e gestiamo infrastrutture Cloud su Amazon Web Services.




beSharp animation

Sviluppo
Cloud

Sviluppiamo software Cloud Native, trasformiamo in Cloud-Aware gli applicativi che già usi.




beSharp animation

Consulenza
Cloud

Definiamo ogni aspetto della Cloud Transformation, dalla strategia alla stima dei costi.



Scopri i nostri servizi!

Our services

Cloud Transformation!

La via più breve tra le tue idee e grandi risultati.

Stai pensando a come gestire la tua migrazione su Amazon Web Services ma ti preoccupa la sicurezza della tua infrastruttura Cloud?
Vuoi sviluppare un software web-based che sfrutti al massimo la scalabilità dei servizi AWS e vuoi avere al tuo fianco un partner che ti sappia consigliare sulle best practices dello sviluppo Cloud Native?
Vuoi usare il Cloud per implementare un innovativo progetto Industry 4.0 che usi i servizi Cloud per l’Internet of Things, ma vuoi conoscere prima i costi della tua infrastruttura?
Affidati a beSharp! I nostri Cloud Expert progettano, realizzano e gestiscono infrastrutture e servizi in Cloud con Amazon Web Services, così ti possiamo offrire contemporaneamente il supporto dei tecnici più preparati e i servizi Cloud del primo provider al mondo.

Scopri i nostri servizi
  • beSharp è eccellente. Riesce a capire al volo e a risolvere cose complicate, là dove gli altri solitamente falliscono.

    Gabriele Repossi / Repossi Macchine Agricole S.R.L.
  • Un team giovane e super-competente spinto da un’innata passione per la tecnologia. Il supporto che ci offrono non è come semplici fornitori ma come un partner che crede nei nostri progetti quanto noi.

    Dario Brignone / Satispay

About us

Cloud Expert, da sempre.

Tutta la nostra esperienza a tua completa disposizione.

Cosa vuol dire essere 100% Cloud?
Significa avere a disposizione in ogni istante tutte le risorse di cui hai bisogno per realizzare i tuoi progetti, prima e meglio.
Sfrutta questo enorme potenziale grazie ai nostri Cloud Expert: beSharp è nata per occuparsi di Cloud e ed è da sempre il partner di riferimento per Amazon Web Services in Italia.

Vieni a conoscere i cloud expert
aws partner logo

Our partner

AWS Advanced Partner

Nati Cloud, 100% AWS.

Scalabilità, sicurezza e resilienza sono caratteristiche fondamentali per dei servizi Cloud capaci di supportare in ogni istante il tuo business online.
Per questo ci affidiamo ad Amazon Web Services: con decine di casi di successo all’attivo, il nostro team di Cloud Expert è tra i più specializzati nella migrazione verso architetture Cloud-native, nella realizzazione di applicativi Serverless e nella gestione di managed services con supporto 24/7.

Scopri i vantaggi

Dal nostro blog

Leggi le ultime novità

<?php
$data 
=
WP_Query::__set_state(array(
   
'query' => 
  array (
    
'order' => 'DESC',
    
'posts_per_page' => 4,
    
'suppress_filters' => true,
  ),
   
'query_vars' => 
  array (
    
'order' => 'DESC',
    
'posts_per_page' => 4,
    
'suppress_filters' => true,
    
'error' => '',
    
'm' => '',
    
'p' => 0,
    
'post_parent' => '',
    
'subpost' => '',
    
'subpost_id' => '',
    
'attachment' => '',
    
'attachment_id' => 0,
    
'name' => '',
    
'static' => '',
    
'pagename' => '',
    
'page_id' => 0,
    
'second' => '',
    
'minute' => '',
    
'hour' => '',
    
'day' => 0,
    
'monthnum' => 0,
    
'year' => 0,
    
'w' => 0,
    
'category_name' => '',
    
'tag' => '',
    
'cat' => '',
    
'tag_id' => '',
    
'author' => '',
    
'author_name' => '',
    
'feed' => '',
    
'tb' => '',
    
'paged' => 0,
    
'meta_key' => '',
    
'meta_value' => '',
    
'preview' => '',
    
's' => '',
    
'sentence' => '',
    
'title' => '',
    
'fields' => '',
    
'menu_order' => '',
    
'embed' => '',
    
'category__in' => 
    array (
    ),
    
'category__not_in' => 
    array (
    ),
    
'category__and' => 
    array (
    ),
    
'post__in' => 
    array (
    ),
    
'post__not_in' => 
    array (
    ),
    
'post_name__in' => 
    array (
    ),
    
'tag__in' => 
    array (
    ),
    
'tag__not_in' => 
    array (
    ),
    
'tag__and' => 
    array (
    ),
    
'tag_slug__in' => 
    array (
    ),
    
'tag_slug__and' => 
    array (
    ),
    
'post_parent__in' => 
    array (
    ),
    
'post_parent__not_in' => 
    array (
    ),
    
'author__in' => 
    array (
    ),
    
'author__not_in' => 
    array (
    ),
    
'ignore_sticky_posts' => false,
    
'cache_results' => true,
    
'update_post_term_cache' => true,
    
'lazy_load_term_meta' => true,
    
'update_post_meta_cache' => true,
    
'post_type' => '',
    
'nopaging' => false,
    
'comments_per_page' => '50',
    
'no_found_rows' => false,
  ),
   
'tax_query' => 
  
WP_Tax_Query::__set_state(array(
     
'queries' => 
    array (
    ),
     
'relation' => 'AND',
     
'table_aliases' => 
    array (
    ),
     
'queried_terms' => 
    array (
    ),
     
'primary_table' => 'p2bcloud_posts',
     
'primary_id_column' => 'ID',
  )),
   
'meta_query' => 
  
WP_Meta_Query::__set_state(array(
     
'queries' => 
    array (
    ),
     
'relation' => NULL,
     
'meta_table' => NULL,
     
'meta_id_column' => NULL,
     
'primary_table' => NULL,
     
'primary_id_column' => NULL,
     
'table_aliases' => 
    array (
    ),
     
'clauses' => 
    array (
    ),
     
'has_or_relation' => false,
  )),
   
'date_query' => false,
   
'request' => 'SELECT SQL_CALC_FOUND_ROWS  p2bcloud_posts.ID FROM p2bcloud_posts  WHERE 1=1  AND p2bcloud_posts.post_type = \'post\' AND (p2bcloud_posts.post_status = \'publish\')  ORDER BY p2bcloud_posts.post_date DESC LIMIT 0, 4',
   
'posts' => 
  array (
    
=> 
    
WP_Post::__set_state(array(
       
'ID' => 231,
       
'post_author' => '3',
       
'post_date' => '2017-11-29 19:13:21',
       
'post_date_gmt' => '2017-11-29 18:13:21',
       
'post_content' => '<img class="aligncenter wp-image-232 size-large" src="http://test-blog.besharp.net/wp-content/uploads/2017/11/IMG_3812-1024x768.jpg" alt="" width="1024" height="768" />

Ed eccoci, finalmente, ad uno degli appuntamenti più attesi e importanti dell\'anno per beSharp e per tutto il mondo del Cloud: AWS re: Invent. Quest\'anno il nostro team è ancora più nutrito per non perderci nemmeno un bit di quello che si preannuncia essere l\'evento Cloud più grande di sempre, per numero si sessioni ed eventi e soprattutto partecipanti (si parla di più di 40.000 persone!!! -  numero ufficioso al momento)

&nbsp;

In attesa degli appuntamenti più importanti, come i keynote di Andy Jassy (oggi, alle 17 ora italiana) e di Werner Vogels (domani) dove verranno sicuramente annunciate le novità più interessanti, che riassumeremo nei prossimi post del blog, ecco una breve carrellata dei nuovi servizi che son stati annunciati nei primi due giorni della conferenza, "nascosti" all\'interno di vari eventi e sessioni:

<a href="https://aws.amazon.com/sumerian/">Amazon Sumerian</a>: un tool semplificato per la creazione di applicazioni 3D, di realtà aumentata e di realtà virtuale, compatibile tra l\'altro con OculusRift e iOS11

<a href="https://aws.amazon.com/media-services/">AWS Media Services (Elemental)</a>: una suite molto completa di tool per la gestione di contenuti multimediali; Media Convert per il transcoding, Media Live per lo streaming Media Package per la distillazione dei contenuti per i vari device e formati, Media Store per lo storage dei contenuti e Media Taylor per l\'inserimento di dinamico di advertising targettizzato all\'interno dei video. Si preannuncia uno strumento estremamente potente e interessante, già utilizzato in beta da Netflix, Hulu e Amazon Video.

<a href="https://aws.amazon.com/appsync/">AWS AppSync</a>: un tool di alto livello (che si basa ovviamente sui building block esistenti di AWS, come S3 e DynamoDB) per la creazione di applicazioni data-driven , utilizzando lo standard <a href="http://graphql.org">GraphQL</a>. Il tool è molto sofisticato e merita di sicuro ulteriori approfondimenti (e sarà sicuramente oggetto di test al nostro ritorno :-) ), ma da una prima analisi le caratteristiche più interessanti sembrano il supporto nativo alla collaborazione real-time, la funzionalità offline e la risoluzione automatica dei conflitti di sincronizzazione dei dati.

<a href="https://aws.amazon.com/blogs/aws/new-aws-privatelink-endpoints-kinesis-ec2-systems-manager-and-elb-apis-in-your-vpc/">AWS PrivateLink</a>: finalmente la possibilità per i clienti AWS di accedere a servizi di terze parti (SaaS) che già sono ospitati su AWS passando per la rete privata senza attraversare Internet e quindi senza la necessità di IP pubblico, per massimizzare la sicurezza e il trust. Disponibile anche per i servizi venduti tramite AWS Marketplace.

<a href="https://aws.amazon.com/amazon-mq/">Amazon MQ</a>: una versione gestita e ridondata del popolare message broker <a href="http://activemq.apache.org">Apache ActiveMQ</a>

<a href="https://aws.amazon.com/blogs/aws/new-amazon-ec2-bare-metal-instances-with-direct-access-to-hardware/">Bare Metal EC2</a>: questa è la prima bomba! Possibilità di gestire server fisici con gli stessi tool di provisioning di istanze virtuali. utile per chi vuole usare hypervisor personalizzati, per installare sistemi legacy o sistemi operativi non nativamente supportati da AWS e anche per gestire licenze "ostili" che non sono pensate per macchine virtuali e Cloud. Questo stesso servizio è alla base di <a href="https://aws.amazon.com/vmware/">Vmware Cloud on AWS</a>.

<a href="https://aws.amazon.com/guardduty/">Amazon GuardDuty</a>: un tool completamente automatico che utilizza il Machine Learning per rilevare possibili minacce di sicurezza a un\'infrastruttura AWS e reagire dinamicamente e immediatamente.

[NERD MODE ON] Inoltre, alla Tuesday Night Peter Desantis (responsabile di tutte le infrastrutture AWS) ha rivelato alcuni interessanti dettagli tecnici su Nitro System, il nuovo stack di gestione di EC2 gestito completamente su hardware ASIC proprietario e Hyperplane, il bus proprietario che AWS usa per gestire connessioni di rete super scalabili per i suoi servizi. pazzesco! [NERD MODE OFF]

Per il momento abbiamo finito. Mentre scrivevamo queste righe è partito il keynote di Andy Jassy e non potete nemmeno immaginare le incredibili novità annunciate. Per quelle vi rimandiamo al nostro post rissuntivo di domani che, a questo punto, ci terrà svegli tutta la notte!

Vi lasciamo con una piccola gallery di foto carine! :-) Ciao!!

[gallery columns="4" link="file" size="medium" ids="234,235,236,237,238,239,240,241"]'
,
       
'post_title' => 'AWS re:Invent 2017 - Day 1 e 2',
       
'post_excerpt' => '',
       
'post_status' => 'publish',
       
'comment_status' => 'open',
       
'ping_status' => 'open',
       
'post_password' => '',
       
'post_name' => 'aws-reinvent-2017-day-1-e-2',
       
'to_ping' => '',
       
'pinged' => '',
       
'post_modified' => '2017-11-30 17:34:01',
       
'post_modified_gmt' => '2017-11-30 16:34:01',
       
'post_content_filtered' => '',
       
'post_parent' => 0,
       
'guid' => 'http://test-blog.besharp.net/?p=231',
       
'menu_order' => 0,
       
'post_type' => 'post',
       
'post_mime_type' => '',
       
'comment_count' => '0',
       
'filter' => 'raw',
    )),
    
=> 
    
WP_Post::__set_state(array(
       
'ID' => 196,
       
'post_author' => '3',
       
'post_date' => '2017-05-04 17:52:44',
       
'post_date_gmt' => '2017-05-04 15:52:44',
       
'post_content' => 'Nell’<a href="http://test-blog.besharp.net/2017/04/07/single-sign-on-con-g-suite-sulla-console-di-amazon-web-services/">ultimo articolo</a> abbiamo parlato di come utilizzare gli account <strong>G-suite</strong> aziendali per effettuare il <strong>Single-Sign-On</strong> sulla web console di <strong>Amazon Web Services</strong>.

L’accesso alla web console copre solamente una parte delle esigenze di chi lavora quotidianamente con AWS. In particolare gli sviluppatori e i DevOps necessitano quasi sempre di una <a href="http://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys"><strong>coppia access key/secret key</strong></a> sui loro personal computer per utilizzare la <a href="https://aws.amazon.com/cli/">AWS CLI</a>, per chiamare singole API di AWS (ad esempio quelle dei nuovi servizi di AI come <a href="https://aws.amazon.com/rekognition/">Rekognition</a> e <a href="https://aws.amazon.com/lex/">Lex</a>) e per poter utilizzare tutte quelle applicazioni desktop (pensiamo ad esempio ai vari file manager basati su S3 – come l’ottimo <a href="https://www.cloudberrylab.com/explorer/amazon-s3.aspx">CloudBerry File Explorer</a>, o ai client Git per l’utilizzo di <a href="https://aws.amazon.com/codecommit/">CodeCommit</a>) che a loro volta utilizzano le API di AWS.

Access key e secret key <strong>non sono associabili direttamente a uno IAM role</strong> (il cui utilizzo tramite l’API AssumeRole abbiamo già visto essere una best practice di sicurezza), ma <strong>necessitano di uno IAM user dedicato</strong>, il che renderebbe di fatto vano l’assumere un ruolo AWS con delle credenziali centralizzate.

Questa limitazione necessitava giocoforza una soluzione un po’ creativa ed è così che in beSharp <strong>ci siamo inventati beAuth</strong>.

[caption id="attachment_201" align="aligncenter" width="584"]<a href="http://test-blog.besharp.net/wp-content/uploads/2017/05/beAuth_login.png" rel="lightbox"><img class="wp-image-201 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/05/beAuth_login.png" alt="" width="584" height="584" /></a> All\'avvio il programma mostra la schermata di login di G-suite (alla quale può essere associata la two-factor-authentication di Google)[/caption]

beAuth è un piccolo software installabile come agent all’interno del sistema operativo, che utilizza le credenziali G-suite e il meccanismo di SSO basato sul <strong>protocollo SAML</strong> (che abbiamo visto nel precedente articolo) per generare coppie access key/secret key temporanee e legate allo IAM role assunto, che vengono ruotate a intervalli prestabiliti (tipicamente 1 ora) all’interno della configurazione della AWS CLI. In questo modo, oltre alla CLI stessa, tutti i servizi che vi si appoggiano possono accedere alle risorse AWS ereditando temporaneamente i permessi del ruolo assunto, senza la necessità di disporre di uno IAM user dedicato.

[caption id="attachment_202" align="aligncenter" width="584"]<img class="wp-image-202 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/05/beAuth_panel.png" alt="" width="584" height="584" /> Il pannello di controllo di beAuth mostra le informazioni relative alla sessione (che dura di default 12 ore) e alla durata della coppia access/secret key (che scade dopo un\'ora), identifica l\'utente connesso, lo IAM role assunto e le chiavi attive in un determinato momento. La chiave attiva viene configurata in automatico come default nella AWS CLI[/caption]

Inoltre, siccome uno IAM role può essere assunto anche <strong>cross-account</strong>, con le stesse credenziali G-suite (opportunamente configurate) si possono ottenere coppie access/secret key per account differenti, <strong>soluzione estremamente utile nel caso in cui l’azienda disponga di più account AWS</strong> (ad esempio test – staging – produzione) oppure nel caso in cui si amministrino molteplici account AWS per conto di diversi clienti.

Per tutti i software che non si basano sulla CLI ma che necessitano l’inserimento diretto di coppie access/secret key, <strong>beAuth permette di generare coppie “usa e getta”</strong> della durata massima di 1 ora che possono essere inserite manualmente alla bisogna per singole chiamate o sessioni di lavoro.

[caption id="attachment_203" align="aligncenter" width="500"]<img class="wp-image-203 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/05/beAuth_rinnovo_chiavi.png" alt="" width="500" height="499" /> Le chiavi possono essere rigenerate alla bisogna e copiate-incollate all\'interno di qualsiasi applicazione di terze parti[/caption]

I vantaggi di questa soluzione sono molteplici:
<ul>
     <li><strong>Praticità:</strong> si può accedere a TUTTE le risorse AWS (e non solo alla CLI) con un unico account centralizzato, che coincide con l’account G-suite, senza la necessità di implementare complesse infrastrutture Active Directory.</li>
     <li><strong>Sicurezza:</strong> il tutto si basa sul meccanismo di <a href="http://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html">AssumeRole e STS token</a>, quindi rispettando appieno le best practice di sicurezza dettate da AWS, le stesse che stanno alla base di servizi come S3, <a href="https://aws.amazon.com/solutions/case-studies/">considerati sicuri da molte aziende della lista Fortune500</a>. Il fatto che ci sia la possibilità di ruotare le chiavi con molta frequenza rende il tutto ancora più rock solid!</li>
     <li><strong>Semplicità:</strong> beAuth si configura in automatico, per cui, una volta fatto il setup iniziale (5 minuti), tutto quello che è richiesto all’utente è di loggarsi con le proprie credenziali G-suite, senza dover gestire complicati script o switchare tutto il giorno tra credenziali e account differenti, potendosi così concentrare sulle proprie attività “core”.</li>
     <li><strong>Portabilità:</strong> beAuth è realizzata in <a href="https://electron.atom.io/">Electron</a>, quindi è portabile su qualunque sistema operativo desktop (Windows, Mac OS, Linux), ha un footprint ridottissimo in termini di consumo di risorse di sistema, è completamente sotto il controllo dell’utente e non necessita di permessi particolari per essere eseguita</li>
     <li><strong>Costi:</strong> tutto questo genera 0 (ZERO) costi lato AWS, il che non guasta :-P</li>
</ul>
Che ne dite di questa nostra soluzione creativa? Siete interessati a implementare beAuth all’interno della vostra azienda? Volete realizzare qualcosa di simile in casa? Avete suggerimenti o domande? <a href="https://www.besharp.it/contacts/">Contattateci</a> e commentate qui sotto per avere tutte le risposte!'
,
       
'post_title' => 'Idea creativa: Single-sign-on con G-suite per i client di sviluppo!',
       
'post_excerpt' => '',
       
'post_status' => 'publish',
       
'comment_status' => 'open',
       
'ping_status' => 'open',
       
'post_password' => '',
       
'post_name' => 'single-sign-on-con-g-suite-per-i-client-di-sviluppo-unidea-creativa',
       
'to_ping' => '',
       
'pinged' => '',
       
'post_modified' => '2017-05-31 15:03:47',
       
'post_modified_gmt' => '2017-05-31 13:03:47',
       
'post_content_filtered' => '',
       
'post_parent' => 0,
       
'guid' => 'http://test-blog.besharp.net/?p=196',
       
'menu_order' => 0,
       
'post_type' => 'post',
       
'post_mime_type' => '',
       
'comment_count' => '0',
       
'filter' => 'raw',
    )),
    
=> 
    
WP_Post::__set_state(array(
       
'ID' => 149,
       
'post_author' => '3',
       
'post_date' => '2017-04-07 14:28:30',
       
'post_date_gmt' => '2017-04-07 12:28:30',
       
'post_content' => 'Chi, tra gli utilizzatori di della console di AWS, non si è mai scontrato con l’annoso problema di <strong>gestire molteplici utenti su altrettanti account</strong>, dovendo creare diversi IAM user e, per ognuno di essi, password complesse, oltre alla quanto mai fondamentale (ma decisamente scomoda, diciamoci la verità) <strong>two-factor-authentication</strong>?

Proprio riguardo a quest’ultima, dando per scontato che non si voglia utilizzare un token hardware dedicato per ogni singolo IAM user, la scelta ricade quasi obbligatoriamente sul <a href="https://en.wikipedia.org/wiki/Google_Authenticator"><strong>Google Authenticator</strong></a>, con codici e QR code che proliferano come funghi e che diventa complicato salvaguardare da eventi nefasti legati allo smartphone (furti, smarrimenti, rotture, backup, cambio device…)

AWS in realtà offrirebbe <a href="https://aws.amazon.com/blogs/aws/new-cross-account-access-in-the-aws-management-console/">un servizio di <strong>cross-account access</strong></a> per la sua management console, che ha però diversi limiti, tra i quali:
<ul>
     <li>il limite massimo di 5 account AWS gestiti;</li>
     <li>l\'essere basato sui cookie del browser da cui si accede (se cambiamo browser o cancelliamo la cache si azzera tutto);</li>
     <li>il richiedere almeno uno IAM user "master" da cui partire, che necessita di credenziali di login e TFA dedicate.</li>
</ul>
La risposta più consona alla necessità di gestire centralmente utenti e accessi, per AWS così come per la stragrande maggioranza delle applicazioni che necessitano autenticazione multi-utente, si chiama  <strong>Single-sign-on</strong> (SSO).

Tipicamente, il meccanismo del SSO si basa su un <a href="https://en.wikipedia.org/wiki/Identity_provider"><strong>Identity Provider</strong></a> (un repository centralizzato di tutte le identità aziendali con relativi attributi – username, password, gruppi, ruoli ecc…) e una serie di <strong>Service Provider</strong> (le applicazioni dove gli utenti si possono loggare con le loro identità aziendali) che vengono federati all\'Identity Provider con <strong>relazioni di <em>trust</em> forte</strong>, basate tipicamente sulla <strong>condivisione di chiavi, certificati o token</strong>. In questo modo gli utenti possono utilizzare un’unica utenza (e quindi una sola password e una singola TFA), gestita in maniera centralizzata, per loggarsi in tutte le applicazioni per le quali sono stati abilitati.

Se i Service Provider possono essere le applicazioni più disparate (Web, desktop, mobile, accesso remoto, CLI, API ecc….), gli Identity Provider sono quasi sempre dei <strong><a href="https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol">server LDAP</a> o <a href="https://en.wikipedia.org/wiki/Active_Directory">Microsoft Active Directory</a></strong>. In particolare MS AD è lo standard de facto nella maggior parte delle aziende più strutturate per la gestione delle identità aziendali, ed è infatti supportato di default da tutte le applicazioni che prevedano la possibilità di fare SSO.

Tuttavia <strong>non è così comune trovare implementata un’infrastruttura MS AD</strong> (ma il discorso vale in parte anche per LDAP), in particolar modo nelle realtà più piccole o giovani e agili, per ragioni che spaziano <strong>dai costi alla complessità di gestione</strong> (specie se si necessita del servizio di AD erogato in alta affidabilità), senza trascurare il fatto che MS AD è tipico di realtà Microsoft-centriche (quasi tutte le grandi aziende legacy) ed è quindi meno diffuso dove il parco client è più eterogeneo (Windows+Mac+Linux…).

Una tendenza molto diffusa in realtà è quella di utilizzare come Identity Provider l’account Google Apps (da poco rinominato in <a href="https://gsuite.google.com/">G Suite</a>) aziendale, servizio ampiamente diffuso e largamente utilizzato per le funzionalità di posta elettronica e colaboration. In questo modo si può fare SSO sulle numerosissime <strong>applicazioni che già nativamente supportano la funzione “login with Google”</strong>, ma anche su quelle (come è il caso della console di AWS) che supportano lo <a href="https://en.wikipedia.org/wiki/Security_Assertion_Markup_Language"><strong>standard SAML</strong></a>, standard per il quale da circa un anno G Suite eroga il servizio di Identity Provider.

[caption id="attachment_186" align="alignnone" width="624"]<img class="wp-image-186 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/WD_2.png" alt="" width="624" height="294" /> Schema di funzionamento dell\'autenticazione tramite SAML tra G Suite e la console di AWS[/caption]

Vediamo quindi come <strong>configurare i nostri account AWS e G Suite per far funzionare il Single-Sign-On con SAML</strong>.

Innanzi tutto, nella pagina di amministrazione di G Suite, dobbiamo aggiungere degli attributi custom ai nostri utenti, tramite i quali il nostro Identity Provider (Google) comunicherà al Service Provider (AWS) oltre all’identità dell’utente loggato, informazioni aggiuntive che spiegheremo in seguito.

<img class="alignnone wp-image-173 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/user_attributes.png" alt="" width="1588" height="596" />

Creiamo una categoria di attributi custom e chiamiamola “AWS SAML” e creiamo gli attributi “IAM Role” e “SessionDuration”. E’ importante che entrambi gli attributi siano privati (ovvero non visualizzabili da tutti gli utenti della vostra organizzazione) e che l’attributo “IAM Role” supporti valori multipli.

<img class="alignnone wp-image-174 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/user_attributes2.png" alt="" width="1349" height="1369" />

<img class="alignnone wp-image-175 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/user_attributes3.png" alt="" width="1430" height="965" />

Fatto questo andiamo nella sezione “Apps” e aggiungiamo una nuova applicazione SAML, partendo dal template pre-configurato per AWS.

<img class="alignnone wp-image-170 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/saml.png" alt="" width="3312" height="943" />

<img class="alignnone wp-image-171 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/saml2.png" alt="" width="1362" height="1329" />

Scarichiamo (opzione 2) gli IDP Metadata (di fatto un file .xml che contiene alcuni parametri di configurazione e il certificato X509 su cui si basa la relazione di <em>trust</em> tra IdP e SP) e teniamoli da parte per un passaggio successivo. <strong>ATTENZIONE!!! Il contenuto di questo file non deve essere diffuso per nessun motivo; sulla sua segretezza si basa la sicurezza di tutta la soluzione!</strong>

<img class="alignnone wp-image-159 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/idp_meta.png" alt="" width="1331" height="1286" />

Proseguiamo nella configurazione mappando l’entità SAML “Name ID” su “Primary Email” (ovvero l’utente verrà presentato alla console AWS con l’indirizzo mail come identificativo univoco).

<img class="alignnone wp-image-161 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/mapping1.png" alt="" width="1337" height="1277" />

Nel passaggio successivo dobbiamo configurare tre mapping aggiuntivi (attenzione che qui la UI di G Suite non è molto chiara, in quanto non si leggono bene gli URL nella colonna di sinistra):
<ul>
     <li>L’attributo <em>https://aws.amazon.com/SAML/Attributes/RoleSessionName</em> va mappato nuovamente su “Primary Email”</li>
     <li>L’attributo <em>https://aws.amazon.com/SAML/Attributes/Role</em> va mappato sull’attributo custom “IAM role” che abbiamo creato prima. In questo modo stiamo dicendo ad AWS quali ruoli l’utente è autorizzato ad assumere e su quali account.</li>
     <li>Va aggiunto l’attributo <em>https://aws.amazon.com/SAML/Attributes/SessionDuration</em> che va mappato sull’attributo custom “SessionDuration” che abbiamo creato prima. Qui stiamo dicendo ad AWS quanto deve durare la sessione di un determinato utente prima di essere sloggato in automatico.</li>
</ul>
<img class="alignnone wp-image-162 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/mapping2.png" alt="" width="1345" height="1295" />

È molto utile poter personalizzare questo parametro perché di default la sessione dura 1 ora, e, per esperienza di chi lavora parecchio sulla console AWS, è un valore molto basso, che comporta numerosi e scomodi logout forzati durante l’operatività quotidiana. <strong>ATTENZIONE!!! Questo “trick” è un’esclusiva di beSharp; non è documentato sulle guide ufficiali ne’ di Google ne’ di AWS! (nda).</strong>

A questo punto la configurazione di G Suite è terminata e passiamo alla configurazione di AWS.

Andiamo nella sezione <a href="https://aws.amazon.com/iam/">IAM</a> --&gt; Identity Providers e creiamone uno nuovo, di tipo SAML, che chiamiamo “GoogleApps”; in questo punto dovremo caricare gli IdP metadata che abbiamo scaricato in precedenza (una volta caricato il file in questo punto, suggerisco di cancellarlo dal proprio computer)

<img class="alignnone wp-image-155 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/aws_idp.png" alt="" width="3328" height="807" />

<img class="alignnone wp-image-156" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/aws_idp2-400x227.png" alt="" width="500" height="284" />

<img class="alignnone wp-image-157" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/aws_idp3.png" alt="" width="500" height="227" />

Poi creiamo un nuovo IAM role che chiamiamo “GoogleLogin” e come tipo di ruolo selezioniamo “Identity Provider Access” --&gt; “WebSSO” e lo associamo all’Identity Provider “GoogleApps” che abbiamo appena creato.

<img class="alignnone wp-image-164 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/role.png" alt="" width="1962" height="609" />

<img class="alignnone wp-image-165 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/role2.png" alt="" width="3304" height="818" />

<img class="alignnone wp-image-166 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/role3.png" alt="" width="3232" height="558" />

Nei passi successivi del wizard associamo una policy allo IAM role per dare i permessi (nel nostro esempio abbiamo dato i permessi di admin – <strong>DON’T TRY THIS AT HOME!!! :-)</strong> ) e la configurazione lato AWS è terminata.

<img class="alignnone wp-image-167 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/role4.png" alt="" width="2413" height="1015" />

<img class="alignnone wp-image-168 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/role5.png" alt="" width="3292" height="1595" />

<img class="alignnone wp-image-169 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/role6.png" alt="" width="1976" height="604" />

Adesso torniamo nell’amministrazione di G Suite, per assegnare ai singoli utenti i permessi relativi a quali ruoli possono assumere e su quali account AWS.

<img class="alignnone wp-image-176 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/utente.png" alt="" width="3311" height="1530" />

Questa è la parte meno intuitiva della configurazione: per quanto riguarda i ruoli e gli account accessibili, AWS si aspetta da Google dei valori di questo tipo:
<pre lang="yaml">arn:aws:iam::1234567891012:role/GoogleLogin,arn:aws:iam::1234567891012:saml-provider/GoogleApps</pre>
Come vedete si tratta di due <a href="http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> separati da una virgola. Il primo è l’ARN del ruolo che quell’utente può assumere, il secondo è l’ARN dell’identity provider che abbiamo creato all’interno dell’account AWS. (il numero 1234567891012 è un segnaposto che va sostituito con il vero account number del vostro account AWS). Questo valore va inserito nel campo custom “IAM role” che abbiamo creato in precedenza. In questo modo possiamo specificare per ogni utente quale ruolo può assumere e su quale account AWS.

<img class="alignnone wp-image-154 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/attributi.png" alt="" width="1305" height="804" />

<img class="alignnone wp-image-163 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/mario_rossi.png" alt="" width="3322" height="1606" />

Se vi ricordate bene abbiamo fatto in modo che l’attributo “IAM role” supportasse valori multipli; infatti è possibile, per lo stesso utente, specificare più ruoli all’interno dello stesso account, o anche su account differenti. Basterà aggiungere altre tuple del tipo:
<pre lang="yaml">arn:aws:iam::112233445566:role/Ruolo1,arn:aws:iam::112233445566:saml-provider/GoogleApps
arn:aws:iam::112233445566:role/Ruolo2,arn:aws:iam::112233445566:saml-provider/GoogleApps</pre>
e subito dopo il login ci verrà chiesto quale ruolo vogliamo assumere su quale account.

Ovviamente, perchè tutto funzioni, nel nostro esempio dovremmo ripetere la procedura di federazione SAML (con lo scambio degli IdP metadata) anche per l’account 112233445566

Nel campo custom “SessionDuration” potete specificare, per ogni utente, la durata in secondi della sessione di login. Suggerisco il valore 28800, che corrisponde a 8 ore, ovvero circa a una tipica giornata lavorativa.

A questo punto non ci resta che abilitare la SAML application che abbiamo creato, e tutti gli utenti si troveranno una nuova icona nel loro menu di accesso rapido alle Google Apps.

<img class="alignnone wp-image-172 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/turn_on.png" alt="" width="3312" height="1158" />

Facciamo login quindi con il nostro account di prova "Mario Rossi" e, cliccando sull’icona corrispondente, verremo magicamente indirizzati verso la console AWS dove, come potete vedere, risultiamo loggati con il nostro account federato, m.rossi@besharp.net.

<img class="alignnone wp-image-158 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/icona.png" alt="" width="3351" height="1431" />

<img class="alignnone wp-image-160 size-full" src="http://test-blog.besharp.net/wp-content/uploads/2017/04/login.png" alt="" width="3228" height="1123" />

Soddisfatti? :-)

Nel prossimo articolo vedremo come abbiamo utilizzato, in maniera decisamente creativa, lo stesso approccio basato su G Suite e SSO per utilizzare ai servizi AWS che prevedono l’autenticazione tramite la coppia key/secret, come la <a href="https://aws.amazon.com/cli/">AWS CLI</a>, <a href="https://aws.amazon.com/codecommit/">CodeCommit</a> e l’accesso alle API da client extra VPC.

Negli articoli successivi, invece, approfondiremo l’utilizzo di G Suite come Identity Provider per tutti gli altri servizi che normalmente richiederebbero una federazione con Active Directory o LDAP.

Avete dubbi o domande? Commentate l\'articolo, vi risponderemo ASAP! E se volete implementare una soluzione come questa ma vi manca il tempo o la voglia... <a href="mailto:info@besharp.it">chiamateci</a>!'
,
       
'post_title' => 'Single-sign-on con G Suite sulla console di Amazon Web Services',
       
'post_excerpt' => '',
       
'post_status' => 'publish',
       
'comment_status' => 'open',
       
'ping_status' => 'open',
       
'post_password' => '',
       
'post_name' => 'single-sign-on-con-g-suite-sulla-console-di-amazon-web-services',
       
'to_ping' => '',
       
'pinged' => '',
       
'post_modified' => '2017-05-31 12:32:45',
       
'post_modified_gmt' => '2017-05-31 10:32:45',
       
'post_content_filtered' => '',
       
'post_parent' => 0,
       
'guid' => 'http://test-blog.besharp.net/?p=149',
       
'menu_order' => 0,
       
'post_type' => 'post',
       
'post_mime_type' => '',
       
'comment_count' => '0',
       
'filter' => 'raw',
    )),
    
=> 
    
WP_Post::__set_state(array(
       
'ID' => 98,
       
'post_author' => '1',
       
'post_date' => '2015-09-29 16:46:05',
       
'post_date_gmt' => '2015-09-29 14:46:05',
       
'post_content' => 'Immagina un futuro dove <strong>la tecnologia sarà la chiave per aprire le porte dell’innovazione al tuo business</strong>: fino a dove potresti spingerti, avendo a disposizione risorse illimitate, disponibili istantaneamente in maniera totalmente automatica?
<br>
Oggi beSharp ti rende possibile tutto questo grazie al Cloud di Amazon Web Services.
<br>
Realizziamo <strong>progetti IT innovativi</strong> che fanno raggiungere alle aziende i loro obiettivi di business, attraverso l’adozione di <strong>modelli tecnologici rivoluzionari.</strong>
Contribuiamo all’evoluzione della cultura dell’innovazione, studiando e diffondendo i nuovi trend dell’IT, per permettere alle imprese di <strong>affrontare nuove sfide e cogliere tutte le opportunità</strong> che queste offrono.
<br>
Investiamo sull’aggiornamento, sulla formazione e sulla crescita di ognuno dei nostri collaboratori: la loro realizzazione, sia umana che professionale, è il vero valore aggiunto per noi e per i progetti dei nostri clienti.

E soprattutto <strong>“We make IT run”: noi facciamo funzionare le cose.</strong>'
,
       
'post_title' => 'Vision, Mission, Attitude.',
       
'post_excerpt' => '',
       
'post_status' => 'publish',
       
'comment_status' => 'closed',
       
'ping_status' => 'closed',
       
'post_password' => '',
       
'post_name' => 'about',
       
'to_ping' => '',
       
'pinged' => '',
       
'post_modified' => '2018-08-30 16:51:41',
       
'post_modified_gmt' => '2018-08-30 14:51:41',
       
'post_content_filtered' => '',
       
'post_parent' => 0,
       
'guid' => 'http://test-www.besharp.net/?post_type=megablock&#038;p=98',
       
'menu_order' => 0,
       
'post_type' => 'megablock',
       
'post_mime_type' => '',
       
'comment_count' => '0',
       
'filter' => 'raw',
    )),
  ),
   
'post_count' => 4,
   
'current_post' => -1,
   
'in_the_loop' => false,
   
'post' => 
  
WP_Post::__set_state(array(
     
'ID' => 231,
     
'post_author' => '3',
     
'post_date' => '2017-11-29 19:13:21',
     
'post_date_gmt' => '2017-11-29 18:13:21',
     
'post_content' => '<img class="aligncenter wp-image-232 size-large" src="http://test-blog.besharp.net/wp-content/uploads/2017/11/IMG_3812-1024x768.jpg" alt="" width="1024" height="768" />

Ed eccoci, finalmente, ad uno degli appuntamenti più attesi e importanti dell\'anno per beSharp e per tutto il mondo del Cloud: AWS re: Invent. Quest\'anno il nostro team è ancora più nutrito per non perderci nemmeno un bit di quello che si preannuncia essere l\'evento Cloud più grande di sempre, per numero si sessioni ed eventi e soprattutto partecipanti (si parla di più di 40.000 persone!!! -  numero ufficioso al momento)

&nbsp;

In attesa degli appuntamenti più importanti, come i keynote di Andy Jassy (oggi, alle 17 ora italiana) e di Werner Vogels (domani) dove verranno sicuramente annunciate le novità più interessanti, che riassumeremo nei prossimi post del blog, ecco una breve carrellata dei nuovi servizi che son stati annunciati nei primi due giorni della conferenza, "nascosti" all\'interno di vari eventi e sessioni:

<a href="https://aws.amazon.com/sumerian/">Amazon Sumerian</a>: un tool semplificato per la creazione di applicazioni 3D, di realtà aumentata e di realtà virtuale, compatibile tra l\'altro con OculusRift e iOS11

<a href="https://aws.amazon.com/media-services/">AWS Media Services (Elemental)</a>: una suite molto completa di tool per la gestione di contenuti multimediali; Media Convert per il transcoding, Media Live per lo streaming Media Package per la distillazione dei contenuti per i vari device e formati, Media Store per lo storage dei contenuti e Media Taylor per l\'inserimento di dinamico di advertising targettizzato all\'interno dei video. Si preannuncia uno strumento estremamente potente e interessante, già utilizzato in beta da Netflix, Hulu e Amazon Video.

<a href="https://aws.amazon.com/appsync/">AWS AppSync</a>: un tool di alto livello (che si basa ovviamente sui building block esistenti di AWS, come S3 e DynamoDB) per la creazione di applicazioni data-driven , utilizzando lo standard <a href="http://graphql.org">GraphQL</a>. Il tool è molto sofisticato e merita di sicuro ulteriori approfondimenti (e sarà sicuramente oggetto di test al nostro ritorno :-) ), ma da una prima analisi le caratteristiche più interessanti sembrano il supporto nativo alla collaborazione real-time, la funzionalità offline e la risoluzione automatica dei conflitti di sincronizzazione dei dati.

<a href="https://aws.amazon.com/blogs/aws/new-aws-privatelink-endpoints-kinesis-ec2-systems-manager-and-elb-apis-in-your-vpc/">AWS PrivateLink</a>: finalmente la possibilità per i clienti AWS di accedere a servizi di terze parti (SaaS) che già sono ospitati su AWS passando per la rete privata senza attraversare Internet e quindi senza la necessità di IP pubblico, per massimizzare la sicurezza e il trust. Disponibile anche per i servizi venduti tramite AWS Marketplace.

<a href="https://aws.amazon.com/amazon-mq/">Amazon MQ</a>: una versione gestita e ridondata del popolare message broker <a href="http://activemq.apache.org">Apache ActiveMQ</a>

<a href="https://aws.amazon.com/blogs/aws/new-amazon-ec2-bare-metal-instances-with-direct-access-to-hardware/">Bare Metal EC2</a>: questa è la prima bomba! Possibilità di gestire server fisici con gli stessi tool di provisioning di istanze virtuali. utile per chi vuole usare hypervisor personalizzati, per installare sistemi legacy o sistemi operativi non nativamente supportati da AWS e anche per gestire licenze "ostili" che non sono pensate per macchine virtuali e Cloud. Questo stesso servizio è alla base di <a href="https://aws.amazon.com/vmware/">Vmware Cloud on AWS</a>.

<a href="https://aws.amazon.com/guardduty/">Amazon GuardDuty</a>: un tool completamente automatico che utilizza il Machine Learning per rilevare possibili minacce di sicurezza a un\'infrastruttura AWS e reagire dinamicamente e immediatamente.

[NERD MODE ON] Inoltre, alla Tuesday Night Peter Desantis (responsabile di tutte le infrastrutture AWS) ha rivelato alcuni interessanti dettagli tecnici su Nitro System, il nuovo stack di gestione di EC2 gestito completamente su hardware ASIC proprietario e Hyperplane, il bus proprietario che AWS usa per gestire connessioni di rete super scalabili per i suoi servizi. pazzesco! [NERD MODE OFF]

Per il momento abbiamo finito. Mentre scrivevamo queste righe è partito il keynote di Andy Jassy e non potete nemmeno immaginare le incredibili novità annunciate. Per quelle vi rimandiamo al nostro post rissuntivo di domani che, a questo punto, ci terrà svegli tutta la notte!

Vi lasciamo con una piccola gallery di foto carine! :-) Ciao!!

[gallery columns="4" link="file" size="medium" ids="234,235,236,237,238,239,240,241"]'
,
     
'post_title' => 'AWS re:Invent 2017 - Day 1 e 2',
     
'post_excerpt' => '',
     
'post_status' => 'publish',
     
'comment_status' => 'open',
     
'ping_status' => 'open',
     
'post_password' => '',
     
'post_name' => 'aws-reinvent-2017-day-1-e-2',
     
'to_ping' => '',
     
'pinged' => '',
     
'post_modified' => '2017-11-30 17:34:01',
     
'post_modified_gmt' => '2017-11-30 16:34:01',
     
'post_content_filtered' => '',
     
'post_parent' => 0,
     
'guid' => 'http://test-blog.besharp.net/?p=231',
     
'menu_order' => 0,
     
'post_type' => 'post',
     
'post_mime_type' => '',
     
'comment_count' => '0',
     
'filter' => 'raw',
  )),
   
'comment_count' => 0,
   
'current_comment' => -1,
   
'found_posts' => '11',
   
'max_num_pages' => 3.0,
   
'max_num_comment_pages' => 0,
   
'is_single' => false,
   
'is_preview' => false,
   
'is_page' => false,
   
'is_archive' => false,
   
'is_date' => false,
   
'is_year' => false,
   
'is_month' => false,
   
'is_day' => false,
   
'is_time' => false,
   
'is_author' => false,
   
'is_category' => false,
   
'is_tag' => false,
   
'is_tax' => false,
   
'is_search' => false,
   
'is_feed' => false,
   
'is_comment_feed' => false,
   
'is_trackback' => false,
   
'is_home' => true,
   
'is_404' => false,
   
'is_embed' => false,
   
'is_paged' => false,
   
'is_admin' => false,
   
'is_attachment' => false,
   
'is_singular' => false,
   
'is_robots' => false,
   
'is_posts_page' => false,
   
'is_post_type_archive' => false,
   
'query_vars_hash' => '7f66c09ae256077ac798805dd12d862c',
   
'query_vars_changed' => false,
   
'thumbnails_cached' => false,
   
'stopwords' => NULL,
   
'compat_fields' => 
  array (
    
=> 'query_vars_hash',
    
=> 'query_vars_changed',
  ),
   
'compat_methods' => 
  array (
    
=> 'init_query_flags',
    
=> 'parse_tax_query',
  ),
));
?>

AWS re:Invent 2017 – Day 1 e 2


di Francesca Adragna - 29 novembre 2017

CONTINUA

Vision, Mission, Attitude.


di beSharp - 29 settembre 2015

CONTINUA

chat-image PARLA CON UN ESPERTO! Contattaci al +39-339-7816800

scroll up image