馃攳
Identity and Access Management: Technical Overview - YouTube
Channel: unknown
[7]
Hi my name is Peter Bj枚rk and I'm a
senior staff architect at VMware in this
[13]
video I'll cover an overview of Identity
and Access Management if you google
[20]
Identity and Access Management you often
get a definition similar to this one
[25]
Identity and Access Management is the
security discipline that enables the
[30]
right individuals to access the right
resources at the right time for the
[35]
right reasons that sounds easy enough
but embedded in that sentence is quite a
[41]
lot we need to manage the life cycle of
users we need to make sure the user is
[47]
who the user claims to be we must think
about ease of access for our users
[52]
access management doesn't mean it must
be hard to gain access just that the
[56]
access must fulfill our security
policies let's have a closer look at the
[63]
components that build a typical
Enterprise Identity and Access
[67]
Management solution first we need a user
store this is often based on Active
[73]
Directory but doesn't have to be
secondly quite early on companies
[78]
invested in some single sign-on or SSO
capabilities these were often focusing
[84]
on internal applications and used
non-standard methods of achieving single
[90]
sign-on but once the company started to
interact more with external parties such
[96]
as partners and software as a service
SaaS applications Federation was needed
[102]
these solutions very much are built on
standards and you can integrate products
[107]
from many different vendors because of
that closely tied to SSO and Federation
[113]
are the need for multi-factor
authentication or MFA with the use of
[118]
MFA we can have a higher trust level in
who the user is
[123]
with an ever-growing catalog of
application directories partners of SaaS
[129]
applications we need something that can
help with the lifecycle of the users
[134]
many companies have tied their user
lifecycle to their human reason
[139]
management system and lastly we need
capabilities to monitor and audit our
[145]
identity and access management solution
to make sure the right person has the
[150]
right access at the right time and for
the right reasons let's move on with
[156]
some common vocabulary the first one is
an easy one
[159]
Authentication, authentication is the act
of proving who you are it is often
[165]
referred to as AuthN typically
authentication is done by the use of
[171]
username and password or a certificate
to gain a higher trust level in the
[177]
authentication you can use things like
multi-factor authentication
[181]
authorization once the user has
authenticated authorization decides
[188]
what the user has access to
authorization is often written as AuthZ
[193]
as an example, you authenticate into
your domain join Windows machine once
[200]
logged in you open a file share and
browse the content your access to that
[205]
content is your authorization at the
beginning of mankind when developers
[212]
were asked to create an application the
developer started out investigating the
[217]
business requirements are starting
coding the business logic pretty soon
[222]
they realized they need some method of
separating different users from each
[226]
other the reason could be to store
individual user settings and preferences
[231]
or controlling access to data and so on
so developers had to create a user store
[237]
within the application in order to know
who the user were the developers had to
[243]
create some method of authentication and
roles and writes engine each new
[251]
application required this of course the
code could be reused but what happened
[256]
if username and password weren't good
enough anymore
[258]
perhaps you require certificate based
authentication instead now each
[263]
application must be changed and updated
and to make it worse the developers who
[269]
mainly cared about the business logic is
now in charge of
[272]
protecting the user store and to make
sure it's not being hacked or become
[277]
corrupted using a local method for
authentication is painful for developers
[282]
end users must enter user name and
password for each application often
[287]
resulting in weak passwords or the reuse
of passwords and lastly it's painful for
[294]
the administrators first they must
create users in each application
[298]
secondly if someone leaves they must
disable the user in each one of the
[303]
applications to solve this we have for a
long time had claim based access in the
[311]
claim based model the developer replaces
the authentication logic in the
[316]
application with a simpler logic that
can accept a claim and Trust is
[322]
established between the application and
a source of authentication and
[326]
authorization in this case I call it an
identity provider or IdP the application
[333]
will happily accept the claim that is
sent from the IdP the application may
[339]
still have a local user store for user
settings and access rights but the
[344]
application does not have to handle any
passwords since the users never
[348]
authenticate directly into the
application the user authenticate into
[354]
the identity provider instead and when
users wants to access the application a
[359]
claim or access token is generated by
the identity provider and sent to the
[365]
application the identity provider can
issue claims to all your applications
[372]
claim based access is much simpler for
the developers because they do not have
[377]
to create a strong authentication method
nor do they have to protect the users
[381]
passwords if a change in authentication
method is needed you change it on the
[386]
identity provider and the application
remains unmodified users are super happy
[392]
they can be authenticated once into the
identity provider and with that gain
[398]
seamless access into all their
applications administrators are also
[403]
happy if a user leaves the company
the administrator can disable the user
[408]
in the identity provider and immediately
access to all application has been
[413]
revoked let's try to use a common
scenario to explain the concept of a
[419]
claim a little more in depth
imagine you are about to go on a trip
[423]
and you decided to fly to the
destination when you arrive at the
[428]
airport you walk up to the check-in counter here you provide proof of
[432]
purchase of the ticket and you
authenticate with the help of your
[435]
passport
the check-in personnel validates your
[439]
credentials and issue you a boarding
pass this is your claim and the check-in
[443]
counter is the identity provider you
walk through security and when it's time
[450]
to board you show your boarding pass to
the personnel at the gate the gate
[454]
trusts the check-in counter
therefore it accepts what the boarding
[459]
pass claims for example my name my
frequent flyer status which plane I'm
[464]
supposed to board the boarding pass is
signed so the gate knows the claim
[470]
hasn't been tampered with and in today's
world of flying the gate trusts multiple
[476]
different identity providers the gate
trust the check-in kiosk and many times
[481]
also web check-in in a claim based
access model trust is at the heart in
[489]
order for it to work the application
must trust the identity provider how you
[494]
establish trust varies depending on
which standard you use often is trust
[499]
built with the help of exchanging
certificates when you create the trust
[503]
you are often asked to use something
referred to as the metadata
[508]
this is typically a file or a link to a
file the application shares its metadata
[514]
with the identity provider and the
identity provider shares its metadata
[519]
with the application using a metadata
file simplifies the establishment of
[524]
trust the metadata often contains the
certificate, login and logout URLs and
[531]
what else parameters each system
supports or requires not using a
[537]
metadata file require
you to manually enter these parameters
[542]
for some standards you do not use a
certificate instead you use something
[547]
like a system username and password now
[551]
we have a better understanding of claim
based access but as I mentioned before
[557]
in most cases we still need user objects
in the applications today many companies
[562]
use a centralized human resource system
to create and manage their users this
[568]
system can provision users into the
identity provider and then the identity
[574]
provider can provision the users into
the application but for larger
[579]
enterprises a more centralized system is
needed most enterprises have many
[584]
different users stores so they
incorporate a metadirectory as their
[589]
centralized and single point of truth this metadirectory is often fed by the
[596]
human resource management system from
the meta directory users are being
[601]
synchronized into each one of the other
systems this way the whole lifecycle of
[606]
the user is driven from the metadirectory you will often hear the term
[613]
realm or security domain when discussing
claim based access a realm or security
[619]
domain is basically the circle of trust
within the realm each component trusts
[625]
each other and claims are used to
provide access to systems but if you
[631]
have multiple realms or security domains
by default they do not have a trust
[636]
between each other so users in realm B
cannot make use of their claim issued by
[643]
their local identity provider to gain
access to applications in realm A this
[650]
is where Federation comes into play with
Federation it is possible to establish
[654]
trust between two different realms and
thereby a user in realm B can access an
[660]
application within realm A Federation
offers a great user experience users can
[667]
use their own local identity provider
for authentication and then seamlessly
[671]
access applications
in other realms user administration is
[676]
handled within each realm which means if
a user in realm B should no longer have
[681]
access the administrator of realm B
disables the user the administrator of
[687]
realm A doesn't have to be told the user
will lose all access once disabled by
[693]
the administrator in realm B when
federating between different realms you
[699]
often discuss the level of assurance in
other words how much do I trust the
[703]
other realm's processes, systems, users and administrators if I know that in order
[709]
for a user to be created in realm B the
user must provide proper means of
[715]
identification and in order to
authenticate the user are prompted for
[719]
multi-factor authentication my level of
assurance is quite high but if a user
[725]
can get a user account by simply filling
in an anonymous form and are prompted
[731]
for only username and password my level
of assurance is of course quite low you
[736]
can tie this to the fact that many
claims include information about how the
[741]
user was authenticated so you may have a
trust established between two different
[746]
realms but if the user is authenticated
using a too weak of an authentication
[752]
method I may decide not to allow access
many times I can redirect the user back
[758]
to its home realm and in my redirect
message requests for a higher level of
[764]
authentication when you federate with
many different entities you must have a
[770]
method of knowing the home realm of the
user this is often referred to as tenant
[776]
discovery you can argue tenant
discovery is more when using a SaaS
[780]
application who have many different
tenants and each tenant has its own
[785]
Federation configuration but the
principle is the same a user connects
[789]
directly to a resource and the resource
do not know if it should try to
[794]
authenticate the user or if it should
redirect the user to someone else for
[799]
authentication realm or tenant discovery
is quite hard to automate it often
[806]
requires some kind of user interaction here is a
[809]
couple of different variations of realm
discovery prompts Office 365 is well known
[815]
by most people in office 365 we often
perform tenant discovery by entering
[821]
your email address this tells Office 365
which tenant you belong to and thereby
[827]
it knows the Federation configuration
other ways of performing tenant
[832]
discovery is to simply offer a custom
URL then each tenant has a unique URL
[837]
that the user use for access here's an
example where both a custom URL and a
[844]
user prompt is used this tenant is
configured for two different identity
[849]
providers one for employees and one for
the externals with realm or tenant
[857]
discovery the system can now
successfully redirect the user for
[861]
authentication once authenticated the
user gets a claim that can be passed to
[868]
the system for access there are many
different standards regarding claims
[873]
which means a claim can contain many
different things but as a bare minimum a
[878]
unique user identifier must be included
the claim is often signed so the
[884]
receiving entity can verify the claim
hasn't been tampered with nowadays it
[889]
becomes more and more common to encrypt the whole claim for further protection
[894]
in some claims you have information
about if the user managed to
[899]
authenticate or not this might sound
weird but you often use this to see if a
[904]
user can perform a certain method of
authentication or not what method of
[910]
authentication the user performed is
also often passed in the claim if I
[915]
think the method is too weak I can
either prompt for another method myself
[919]
or I can redirect the user back to
perform a stronger method of
[924]
authentication some standards are very
flexible with the content of the claim
[929]
where others are very strict and
minimalistic but you can often see
[934]
things like email address first-name
lastname you can pass things like
[940]
rolls and group membership in a claim
[944]
sometimes you hear the word claim
transformation so here's two example of
[950]
claim transformation in alternative one
I use one type of claim to gain access
[956]
to an identity provider in this case I
use Kerberos once authenticated the
[963]
identity provider sends me forward with
a new kind of claim this time is
[968]
saml-based claim another way of viewing
claim transformation is if you change
[974]
the content of the claim as an example
the user may authenticate using username
[980]
a password and thereby authenticate into
the identity provider as an individual
[985]
but the application may not need
individual users separation so the only
[991]
thing that may be needed in the claim is
group membership or the role employee of
[996]
a certain company you can build chains
of federating entities with each hop the
[1004]
claim is terminated and a new claim is
issued a claim is never passed through a
[1010]
hop in this example the application only
trusts the last identity provider in the
[1016]
chain and lastly
just to clarify multi-factor
[1021]
authentication or MFA. MFA means you must
prompt for at least two different
[1027]
factors and the factors typically are
something you know like a password or a
[1032]
pin, something you have like a
certificate on a smart card or something
[1037]
you are like your fingerprint if you
prompt twice for username and password
[1042]
you are still only using one factor so
you haven't elevated your trust in the
[1048]
user's authentication method the only
result you gained was to annoy the users
[1053]
with that I thank you for watching this
video I hope you found it informative to
[1060]
learn more please visit techzone.vmware.com
Most Recent Videos:
You can go back to the homepage right here: Homepage





