Supporto SSO per gli adapter di trasmissione
Enterprise Single Sign-On (SSO) fornisce servizi per archiviare e trasmettere le credenziali utente crittografate oltre i limiti locali, di rete e di dominio. Quando si crea un adapter di trasporto, è possibile sfruttare le API SSO per le credenziali utente utilizzate da un adapter di trasporto per accedere alle applicazioni back-end.
Gli adapter di trasporto che non supportano SSO devono in genere essere configurati con una sola serie di credenziali utilizzate per accedere alle applicazioni back-end. Per molti sistemi back-end, l'autenticazione di un singolo account può non soddisfare tutti i requisiti di sicurezza. Molte applicazioni forniscono diritti di accesso diversi a seconda dell'utente che vi accede. SSO consente agli adapter di scegliere dinamicamente le credenziali da utilizzare per l'endpoint in base all'utente che tenta di eseguire l'accesso.
Funzionamento degli adapter di trasmissione con SSO
Inviare schede che supportano la convalida dell'accesso SSO e riscattare il ticket e ottenere le credenziali utente dal sistema SSO usando l'API ISSOTicket.ValidateAndRedeemTicket . L'adapter utilizza le credenziali ottenute per eseguire l'autenticazione con l'endpoint di destinazione.
Nel frammento di codice seguente viene illustrato come un adapter di trasmissione ottiene le credenziali utente dal sistema SSO.
public class MyAdapter : IBTTransport,
IBTTransportConfig,
IBTTransportControl,
IPersistPropertyBag,
IBaseComponent
{
...
private string m_UserName = null;
private string m_UserPassword = null;
// Get user credentials from SSO
// AffiliateAppVal is the name of SSO affiliate
// application for the specific destination endpoint
private void GetUserCredentials(
IBaseMessage message,
string AffiliateAppVal )
{
string creds[] = null;
string externalUserName = null;
ISSOTicket ssoTicket = new ISSOTicket();
creds = ssoTicket.ValidateAndRedeemTicket(
message,
AffiliateAppVal,
0,
out externalUserName);
m_UserName = externalUserName;
m_UserPassword = creds[0];
}
...
}
Risoluzione entità
Il componente della pipeline di risoluzione entità è responsabile del mapping del certificato del mittente o dell'ID di sicurezza del mittente (SID, Security ID) all'entità BizTalk Server configurata corrispondente. Gli adattatori che dispongono di queste informazioni disponibili devono impostare le due proprietà del contesto del messaggio di sistema, WindowsUser e SignatureCertificate, da utilizzare dal componente di risoluzione delle parti downstream se configurato.
La proprietà WindowsUser viene popolata con l'utente di dominio del mittente, ad esempio redmond\myBtsUser. La proprietà SignatureCertificate viene popolata con l'identificazione personale del certificato di autenticazione client.
Gestione delle password
Se si inseriscono credenziali direttamente nelle proprietà di un endpoint, il campo password verrà visualizzato come vuoto quando sarà necessario esportare un file di associazione. L'utente dovrà quindi reimmettere la password come amministratore. È possibile evitare questa difficoltà utilizzando SSO per le credenziali.