June 19, 2026

Securing Identities at Scale: Conditional Access, Azure Security & Infrastructure as Code with Jonathan Hope [MVP]

Securing Identities at Scale: Conditional Access, Azure Security & Infrastructure as Code with Jonathan Hope [MVP]
Securing Identities at Scale: Conditional Access, Azure Security & Infrastructure as Code with Jonathan Hope [MVP]
M365 FM Podcast
Securing Identities at Scale: Conditional Access, Azure Security & Infrastructure as Code with Jonathan Hope [MVP]
Apple Podcasts podcast player iconSpotify podcast player iconYoutube Music podcast player iconSpreaker podcast player iconPodchaser podcast player iconAmazon Music podcast player icon

Identity has become the new security perimeter. As organizations continue moving workloads to Microsoft 365, Azure, and cloud-native platforms, traditional security models are no longer enough. In this episode of the M365 FM Podcast, Mirko Peters is joined by Microsoft MVP Jonathan Hope to explore how modern organizations can secure identities at scale using Conditional Access, Azure Security, Infrastructure as Code, and Zero Trust principles.Jonathan shares lessons learned from more than a decade working with enterprise infrastructure, virtualization, Azure architecture, and identity management. From his early VMware days to designing cloud-first security architectures, he explains why identity protection is now the most critical component of any modern cybersecurity strategy.

UNDERSTANDING WHY IDENTITY IS THE NEW PERIMETER

The conversation explores how the shift to remote work, cloud applications, and hybrid environments transformed security. Traditional firewalls and network boundaries no longer provide sufficient protection when users, applications, and data are accessible from anywhere.Jonathan explains why attackers increasingly focus on identities instead of infrastructure and how compromised accounts can become the entry point for lateral movement, privilege escalation, and data breaches.Topics discussed include:

  • Identity-first security strategies
  • Modern authentication challenges
  • Cloud-native access controls
  • Reducing organizational attack surfaces
CONDITIONAL ACCESS AS THE MODERN SECURITY CONTROL PLANE

One of the central topics of the episode is Microsoft Entra Conditional Access. Jonathan explains why he considers Conditional Access one of the most powerful security capabilities available in Microsoft 365 today.The discussion covers:
  • How Conditional Access works
  • Real-time authorization decisions
  • Device compliance integration
  • Defender and risk signal integration
  • Country-based access controls
  • Blocking legacy authentication
  • Protecting privileged administrator accounts
Listeners will gain practical guidance on the foundational Conditional Access policies every organization should implement immediately.

AZURE SECURITY, ZERO TRUST AND GOVERNANCE

Security is no longer limited to identity teams. Jonathan explains why Azure infrastructure, identity management, governance, and compliance must work together as a unified security strategy.The conversation dives into:
  • Zero Trust architecture principles
  • Least privilege access models
  • Break-glass account strategies
  • Security monitoring and alerting
  • Log Analytics and Microsoft Sentinel
  • Azure Policy enforcement
  • Governance versus compliance realities
The episode highlights why security requires continuous validation rather than simply checking compliance boxes.

INFRASTRUCTURE AS CODE WITH BICEP

Jonathan shares his journey from manual Azure deployments to Infrastructure as Code using Bicep. He explains how automation improves consistency, security, and operational efficiency while reducing human error.Key topics include:
  • Why manual deployments create risk
  • Desired state configuration concepts
  • Repeatable Azure deployments
  • Azure Policy as Code
  • Version control and Git integration
  • Security standardization at scale
  • Building secure Azure environments through automation
For cloud architects and Azure administrators, this section provides valuable insights into modern infrastructure management practices.

AI, PASSKEYS AND THE FUTURE OF IDENTITY SECURITY

The episode also explores how artificial intelligence is changing both offensive and defensive security practices. While attackers increasingly leverage AI to create sophisticated phishing campaigns, organizations can use AI-powered security tools to detect threats and improve security operations.Jonathan shares his thoughts on:
  • Security Copilot
  • AI-assisted security operations
  • Passkeys and phishing-resistant authentication
  • FIDO2 security keys
  • Authentication method modernization
  • Microsoft’s evolving identity roadmap
WHY PASSWORDLESS AUTHENTICATION MATTERS

As the discussion concludes, Jonathan highlights one security improvement every organization should prioritize today: modernizing authentication methods.The move away from SMS-based MFA and weaker authentication methods toward passkeys and phishing-resistant authentication can dramatically improve an organization's security posture while also delivering a better user experience.

FINAL THOUGHTS

If your organization relies on Microsoft 365, Entra ID, Azure, Conditional Access, or Zero Trust security principles, this episode delivers practical guidance from real-world experience. Learn how to build stronger identity defenses, automate secure cloud deployments, and prepare your environment for the next generation of cybersecurity challenges.

CONNECT WITH M365 FM

Subscribe to M365 FM for expert conversations covering Microsoft 365, Azure, AI, Security, Governance, SharePoint, Copilot, Data Management, and the future of modern workplace technology.

Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-modern-work-security-and-productivity-with-microsoft-365--6704921/support.

🚀 Want to be part of m365.fm?

Then stop just listening… and start showing up.

👉 Connect with me on LinkedIn and let’s make something happen:

  • 🎙️ Be a podcast guest and share your story
  • 🎧 Host your own episode (yes, seriously)
  • 💡 Pitch topics the community actually wants to hear
  • 🌍 Build your personal brand in the Microsoft 365 space

This isn’t just a podcast — it’s a platform for people who take action.

🔥 Most people wait. The best ones don’t.

👉 Connect with me on LinkedIn and send me a message:
"I want in"

Let’s build something awesome 👊

1
00:00:00,000 --> 00:00:05,000
Welcome to another edition of the M365FM podcast.

2
00:00:05,000 --> 00:00:11,200
Today we are diving into one of the most critical topics in modern IT, identity security.

3
00:00:11,200 --> 00:00:17,440
As organizations continue moving workloads to Microsoft 365 and Azure, the MTS have become

4
00:00:17,440 --> 00:00:20,440
the new secret perimeter.

5
00:00:20,440 --> 00:00:27,480
Joining me today is Jonathan John Hope, Microsoft MVP, Microsoft C65 solution architect and specialist

6
00:00:27,480 --> 00:00:30,480
in identity and access management.

7
00:00:30,480 --> 00:00:37,520
John Ilay has spent more than the decade designing and operation, large scale infrastructure

8
00:00:37,520 --> 00:00:43,480
environments from enterprise VMware platforms to modern Azure native architectures.

9
00:00:43,480 --> 00:00:48,920
This expertise spans conditional access, Azure security, infrastructure has caught using

10
00:00:48,920 --> 00:00:53,360
bicep, governance and security identity at scale.

11
00:00:53,360 --> 00:01:00,800
Joe has also written extensively about Azure, often overlooked role in identity, protection

12
00:01:00,800 --> 00:01:02,200
and cloud security.

13
00:01:02,200 --> 00:01:05,360
Yeah, Joe, welcome to the M365 podcast.

14
00:01:05,360 --> 00:01:06,960
Hey, thank you, Marko.

15
00:01:06,960 --> 00:01:07,960
Appreciate it.

16
00:01:07,960 --> 00:01:08,960
Thank you for having me on.

17
00:01:08,960 --> 00:01:13,000
Yeah, that was quite an intro.

18
00:01:13,000 --> 00:01:17,720
Yeah, so yeah, no, I mean, a little bit about me.

19
00:01:17,720 --> 00:01:25,400
I do, I come from the managed service space where I worked for an MSP provider here in Virginia

20
00:01:25,400 --> 00:01:33,440
for about 15 years, started my way up from the help desk and worked into modernizing virtual

21
00:01:33,440 --> 00:01:34,440
servers.

22
00:01:34,440 --> 00:01:39,720
I specifically was a VMware engineer who then moved into the Microsoft side because let's

23
00:01:39,720 --> 00:01:45,960
be honest, B-Post was a thing back in the day and everyone wanted to jump on board.

24
00:01:45,960 --> 00:01:51,040
That quickly started to change what I was doing from an identity perspective and understanding

25
00:01:51,040 --> 00:01:59,160
Azure Active Directory, now, and try D. And today, I now work for an organization who sole

26
00:01:59,160 --> 00:02:02,400
focus is basically optimizing that space.

27
00:02:02,400 --> 00:02:06,560
So I work for a company called enforcer and one of the things that I love about is it gives

28
00:02:06,560 --> 00:02:10,960
me an opportunity to talk about things like these such as security identity at scale.

29
00:02:10,960 --> 00:02:13,440
So yeah, no, excited to be here.

30
00:02:13,440 --> 00:02:15,240
Yeah, thank you.

31
00:02:15,240 --> 00:02:22,120
Yeah, you spent many years in working with VM there before moving into Azure.

32
00:02:22,120 --> 00:02:29,080
Any lessons from traditional infrastructure still apply in today's cloud first world?

33
00:02:29,080 --> 00:02:32,240
Yeah, I mean, that's a great point.

34
00:02:32,240 --> 00:02:40,440
So ironically enough, I did actually just write a blog today around groups and the idea

35
00:02:40,440 --> 00:02:45,040
that you talk about a lot, which is governance and how groups can do that.

36
00:02:45,040 --> 00:02:46,800
I think there's a lot of tithers, right?

37
00:02:46,800 --> 00:02:51,200
I mean, the idea of least privilege still pertains on premise to the cloud.

38
00:02:51,200 --> 00:02:54,320
It shifts the structure and how that works, right?

39
00:02:54,320 --> 00:02:59,040
So today, we have to understand that, like, you know, not everything on-prem has to correlate

40
00:02:59,040 --> 00:03:01,920
to exact replica in the cloud.

41
00:03:01,920 --> 00:03:07,600
So we want to start to separate that from a governance standpoint and the idea of being

42
00:03:07,600 --> 00:03:14,060
able to really create kind of a secure structure in the cloud so that lateral movement

43
00:03:14,060 --> 00:03:17,240
isn't a thing where it can replicate back to the on-prem infrastructure.

44
00:03:17,240 --> 00:03:21,920
So there's definitely some cross-ervers, but I will say, you know, I'm trying more and

45
00:03:21,920 --> 00:03:27,500
more to kind of write about things that help people to understand how groups can be

46
00:03:27,500 --> 00:03:32,240
that conduit to get them from on-prem into a cloud first kind of organization.

47
00:03:32,240 --> 00:03:34,240
So yeah?

48
00:03:34,240 --> 00:03:41,040
And what are one point you say, or you realized identity was becoming the new primary

49
00:03:41,040 --> 00:03:43,040
security boundary?

50
00:03:43,040 --> 00:03:47,720
Yeah, no, I mean, I guess the idea, it's funny.

51
00:03:47,720 --> 00:03:53,600
So the company I work for, we tagline, right, the idea of the tenant is the new server.

52
00:03:53,600 --> 00:04:00,540
And for me, I think the realization really hit me around the COVID era, right, 2020.

53
00:04:00,540 --> 00:04:04,440
If we look at, if we look at what happened, I know for me, right?

54
00:04:04,440 --> 00:04:08,620
I came home and one day I was just working remotely every day.

55
00:04:08,620 --> 00:04:11,140
And it was, okay, we need to start leveraging teams more.

56
00:04:11,140 --> 00:04:15,260
You need to start, you know, okay, I need to put these files that I can't get access to

57
00:04:15,260 --> 00:04:17,740
that S&TP file sharing more on-prem.

58
00:04:17,740 --> 00:04:20,020
I need to put them over in one drive.

59
00:04:20,020 --> 00:04:27,460
And what I noticed is that those identities that used to be protected behind a firewall, they

60
00:04:27,460 --> 00:04:28,460
were on-premise.

61
00:04:28,460 --> 00:04:32,820
You set up a new site, you put your AD server on-prem, you get a firewall and place your

62
00:04:32,820 --> 00:04:34,300
good to go, right?

63
00:04:34,300 --> 00:04:37,220
That was no longer relevant.

64
00:04:37,220 --> 00:04:41,700
You move to this cloud-based authentication where the identities were accessible from anywhere,

65
00:04:41,700 --> 00:04:42,700
right?

66
00:04:42,700 --> 00:04:43,700
I could go work from Starbucks.

67
00:04:43,700 --> 00:04:44,900
I could work anywhere.

68
00:04:44,900 --> 00:04:51,060
And so as easy as it is for me to log into it, the idea is if you're not securing those

69
00:04:51,060 --> 00:04:55,460
effectively, you, anyone can log into them from anywhere.

70
00:04:55,460 --> 00:05:00,660
That is the point of cloud-native APIs and the ability to get to this stuff from anywhere.

71
00:05:00,660 --> 00:05:07,180
And so that, for me, I think was the realization that if we're not locking down these identities,

72
00:05:07,180 --> 00:05:11,260
then inevitably, we're just allowing the attackers to get in.

73
00:05:11,260 --> 00:05:16,740
And the one statement I hate hearing from a customer is, we got security defaults.

74
00:05:16,740 --> 00:05:22,620
I'm like, okay, well, let me be honest, Microsoft isn't necessarily secure by default.

75
00:05:22,620 --> 00:05:23,620
They're secure.

76
00:05:23,620 --> 00:05:25,460
They want collaboration.

77
00:05:25,460 --> 00:05:26,460
They don't care.

78
00:05:26,460 --> 00:05:27,460
They do care.

79
00:05:27,460 --> 00:05:28,460
Let's not say they don't care.

80
00:05:28,460 --> 00:05:33,420
They care about security, but if it hinders collaboration, then they choose to go with

81
00:05:33,420 --> 00:05:34,820
collaboration first.

82
00:05:34,820 --> 00:05:35,820
So, yeah.

83
00:05:35,820 --> 00:05:36,820
Yeah.

84
00:05:36,820 --> 00:05:37,820
I see.

85
00:05:37,820 --> 00:05:44,700
Often, it's the, I think companies often think we pay for all these security tools.

86
00:05:44,700 --> 00:05:46,660
So Microsoft time was for us.

87
00:05:46,660 --> 00:05:50,980
Yeah, it's a little bit risky thinking, I think.

88
00:05:50,980 --> 00:05:51,980
Yeah.

89
00:05:51,980 --> 00:05:52,980
Yeah.

90
00:05:52,980 --> 00:05:53,980
No, it is.

91
00:05:53,980 --> 00:05:59,420
I mean, you wouldn't put a server in place and then rely on the Comcast modem from your internet

92
00:05:59,420 --> 00:06:00,420
service provider.

93
00:06:00,420 --> 00:06:01,420
You would get a firewall, right?

94
00:06:01,420 --> 00:06:04,220
You would be precise about the technology.

95
00:06:04,220 --> 00:06:06,620
You would be intentional about what you're doing.

96
00:06:06,620 --> 00:06:08,860
So, same concept applies in the cloud.

97
00:06:08,860 --> 00:06:10,700
You've got to be intentional about it.

98
00:06:10,700 --> 00:06:19,780
And I also see the Steve, yeah, thinking the one time setup idea.

99
00:06:19,780 --> 00:06:24,780
I think that's also a little bit critical.

100
00:06:24,780 --> 00:06:31,980
But when you look back over your career, what are the major shifts that change the way

101
00:06:31,980 --> 00:06:35,940
organization approach security?

102
00:06:35,940 --> 00:06:37,220
What are your ways, organizations?

103
00:06:37,220 --> 00:06:42,540
I mean, I think for me, the concept of what we're talking about today is really one of the

104
00:06:42,540 --> 00:06:43,940
major shifts, right?

105
00:06:43,940 --> 00:06:49,700
I know when I started with B-Post and in getting into the Microsoft realm, conditional

106
00:06:49,700 --> 00:06:53,900
access wasn't necessarily as great as it is today, right?

107
00:06:53,900 --> 00:06:57,900
There were a lot of gaps in how it operated and things you could test, the what if wasn't

108
00:06:57,900 --> 00:06:59,140
really there.

109
00:06:59,140 --> 00:07:02,820
It just wasn't, it wasn't what it is today.

110
00:07:02,820 --> 00:07:09,500
As conditional access is expanded to me, conditional access has almost become the new modern firewall

111
00:07:09,500 --> 00:07:11,100
per se, right?

112
00:07:11,100 --> 00:07:16,780
It makes real time decisions on actual, you know, authorization and can you access the

113
00:07:16,780 --> 00:07:17,780
same, right?

114
00:07:17,780 --> 00:07:21,660
You've authenticated to the identity platform, but do you have the authorization to access

115
00:07:21,660 --> 00:07:22,660
these things?

116
00:07:22,660 --> 00:07:26,820
And if not, it's a real time engine that applies and a lot of people like to apply it like

117
00:07:26,820 --> 00:07:27,820
a firewall.

118
00:07:27,820 --> 00:07:30,100
My network guys used to be like, oh, so it's like a firewall rule.

119
00:07:30,100 --> 00:07:32,100
I'm like, not necessarily.

120
00:07:32,100 --> 00:07:34,340
Firewall rules have a priority and they go one by one.

121
00:07:34,340 --> 00:07:39,660
This is a exact, it challenges every policy all at the same time and it makes a real time

122
00:07:39,660 --> 00:07:40,660
decision on it, right?

123
00:07:40,660 --> 00:07:43,700
So there are differences, but I think very similar overlap.

124
00:07:43,700 --> 00:07:47,780
And I think that's one of the bigger things that has changed for me when it comes to securing

125
00:07:47,780 --> 00:07:52,380
the new talent as a chance today.

126
00:07:52,380 --> 00:07:56,700
We are also often here, identity as a new parameter.

127
00:07:56,700 --> 00:08:02,020
What do you think actually mean in practice?

128
00:08:02,020 --> 00:08:05,020
What was the question again that identity?

129
00:08:05,020 --> 00:08:11,300
Yeah, we often heard these, these, I think, phrase identities in a new parameter.

130
00:08:11,300 --> 00:08:14,820
What do you think actually mean in practice?

131
00:08:14,820 --> 00:08:15,820
Identity is a new parameter.

132
00:08:15,820 --> 00:08:16,820
Yeah.

133
00:08:16,820 --> 00:08:17,820
Oh, gosh, yeah, yeah, yeah.

134
00:08:17,820 --> 00:08:19,660
So as far as it being the new parameter, right?

135
00:08:19,660 --> 00:08:22,740
I mean, it is the entry point into everything.

136
00:08:22,740 --> 00:08:28,820
So I specifically, I think I did a post on it called identity as the new parameter and then

137
00:08:28,820 --> 00:08:32,020
data governance is the new blast radius, right?

138
00:08:32,020 --> 00:08:38,060
So the idea is that it ties back into everything that Microsoft reaches from defense and

139
00:08:38,060 --> 00:08:39,420
death to zero trust.

140
00:08:39,420 --> 00:08:45,860
If an identity can be compromised and someone can get claims into the tenant, the new server,

141
00:08:45,860 --> 00:08:48,540
they can sit there, they can lie, they can wait.

142
00:08:48,540 --> 00:08:50,740
That identity can then be used laterally, right?

143
00:08:50,740 --> 00:08:56,740
So I did an article last week on guest identities because it's often so overlooked.

144
00:08:56,740 --> 00:09:00,980
And the idea is guests can act like a Trojan horse.

145
00:09:00,980 --> 00:09:06,220
It's an identity that exists that we oftentimes just overlook, but the ideas are simple.

146
00:09:06,220 --> 00:09:11,220
If you can compromise that guest identity, which you don't have full necessary control around,

147
00:09:11,220 --> 00:09:15,420
and then you can do things like if you have weak guest restrictions, you can do things

148
00:09:15,420 --> 00:09:17,180
like enumerate groups.

149
00:09:17,180 --> 00:09:18,620
You can look at all the members.

150
00:09:18,620 --> 00:09:23,220
You can then look through those members and find someone who may have privileged roles within

151
00:09:23,220 --> 00:09:24,540
the organization.

152
00:09:24,540 --> 00:09:26,980
So it really is the parameter.

153
00:09:26,980 --> 00:09:31,260
You have to protect that because if you don't, that then leads to everything else that can

154
00:09:31,260 --> 00:09:35,700
happen inside the server, which is your data governance, getting access to your SharePoint

155
00:09:35,700 --> 00:09:36,700
sites.

156
00:09:36,700 --> 00:09:39,180
I mean, anything that you can think of inside, right?

157
00:09:39,180 --> 00:09:43,620
A lot of the conversations you have around governance are so critical because the idea is

158
00:09:43,620 --> 00:09:47,260
once they get in the house, what do they actually have access to?

159
00:09:47,260 --> 00:09:50,660
If you've got a really good data governance policy and a really good ability to lock that

160
00:09:50,660 --> 00:09:52,820
down, good to go.

161
00:09:52,820 --> 00:09:58,620
It's going to give the administrators time that they really need to be sure that, okay,

162
00:09:58,620 --> 00:10:00,100
hey, we had a breach.

163
00:10:00,100 --> 00:10:01,700
The identity has been compromised.

164
00:10:01,700 --> 00:10:03,580
Now let's act on to our playbook.

165
00:10:03,580 --> 00:10:07,860
Let's disable the account, revoke all sessions.

166
00:10:07,860 --> 00:10:10,620
Often occasion methods required need to be higher level.

167
00:10:10,620 --> 00:10:12,820
We want fish and resistant things like that.

168
00:10:12,820 --> 00:10:14,820
So, yep.

169
00:10:14,820 --> 00:10:20,700
How do identity, how do identities look like?

170
00:10:20,700 --> 00:10:24,500
How do you check a work in this space?

171
00:10:24,500 --> 00:10:27,140
You're getting more and more sophisticated.

172
00:10:27,140 --> 00:10:35,460
I mean, if you take a look over the past, the two main ways that they've tackled identities,

173
00:10:35,460 --> 00:10:40,300
the biggest one, I think it was a storm 9-0-4-2 or 9-2-4-2.

174
00:10:40,300 --> 00:10:44,220
The most recent one, they leveraged SSPR attack factors.

175
00:10:44,220 --> 00:10:51,060
So, one of the things a lot of companies don't think about is the idea of leveraging SSPR,

176
00:10:51,060 --> 00:10:55,340
something that is meant for good, being used for malicious intent.

177
00:10:55,340 --> 00:10:59,940
So, what they were able to do is, and there's also a very interesting update coming from Microsoft

178
00:10:59,940 --> 00:11:01,940
that I just posted about today on LinkedIn.

179
00:11:01,940 --> 00:11:06,820
Hopefully, everyone takes a look at that as how they're trying to lock that protocol down

180
00:11:06,820 --> 00:11:08,140
a little more.

181
00:11:08,140 --> 00:11:13,660
But the idea there was essentially just continuing to flood users with password reset

182
00:11:13,660 --> 00:11:18,140
requests and then gain access into the identity infrastructure through that.

183
00:11:18,140 --> 00:11:20,740
So, I mean, it's common all over.

184
00:11:20,740 --> 00:11:27,540
I mean, I look at probably one of the last breaches I tackled when I was with the MSP was

185
00:11:27,540 --> 00:11:29,620
specifically around this concept.

186
00:11:29,620 --> 00:11:34,500
It was a company that they were business standard because in the MSP space, we still have

187
00:11:34,500 --> 00:11:41,180
a lot of small mid-sized businesses that don't want, they don't fully understand or see

188
00:11:41,180 --> 00:11:45,740
the value and business premium and the ideas that we talked about with conditional access.

189
00:11:45,740 --> 00:11:50,020
And it was a company that was on business standard and they had, they suffered a business

190
00:11:50,020 --> 00:11:51,620
email compromise.

191
00:11:51,620 --> 00:11:55,740
What happened was, very simple, they sent an email to someone in the organization, that

192
00:11:55,740 --> 00:11:57,940
person clicked on it, they were finished, right?

193
00:11:57,940 --> 00:12:03,100
They put their credentials in, they gave this person access into the organization and

194
00:12:03,100 --> 00:12:05,100
then from there, two things happened.

195
00:12:05,100 --> 00:12:06,100
They had two things.

196
00:12:06,100 --> 00:12:09,740
They registered a malicious enterprise app to give them a foothold into the organization

197
00:12:09,740 --> 00:12:10,940
long term.

198
00:12:10,940 --> 00:12:15,420
They also, then were like, well, they may detect it and we may have to UFA.

199
00:12:15,420 --> 00:12:21,260
So they registered their own SMS authentication method and that's why it's important that

200
00:12:21,260 --> 00:12:23,660
from an authentication method, we disable these things.

201
00:12:23,660 --> 00:12:29,460
But what they did is they put a phone number in and they labeled it free food because

202
00:12:29,460 --> 00:12:31,340
it was, they were not easy to get into.

203
00:12:31,340 --> 00:12:34,140
They had actually been compromised multiple times.

204
00:12:34,140 --> 00:12:35,460
Yeah.

205
00:12:35,460 --> 00:12:37,540
So attackers have a sense of humor.

206
00:12:37,540 --> 00:12:39,780
It turns out.

207
00:12:39,780 --> 00:12:49,620
And I think, yeah, I think, so I was a security, it's, it's, yeah, it's a topic and I think

208
00:12:49,620 --> 00:12:56,500
the old, we all speak about hacking the infrastructure.

209
00:12:56,500 --> 00:13:04,980
But why do, I don't know, if it's really shift, I think for, for, for, no more than 20 years,

210
00:13:04,980 --> 00:13:10,660
we have called a university to, on say, I'm the professor working for the professor to

211
00:13:10,660 --> 00:13:12,420
get free internet access.

212
00:13:12,420 --> 00:13:13,420
Yeah.

213
00:13:13,420 --> 00:13:16,780
So, so I think that's also, can you give the password?

214
00:13:16,780 --> 00:13:24,780
I think it's not so new, but why do attack us target identities before they target the

215
00:13:24,780 --> 00:13:25,780
infrastructure?

216
00:13:25,780 --> 00:13:33,300
I mean, I think they take the, in my opinion, I mean, attackers are targeting the most

217
00:13:33,300 --> 00:13:35,900
susceptible, easiest thing, right?

218
00:13:35,900 --> 00:13:38,100
So humans are very fallible.

219
00:13:38,100 --> 00:13:41,580
They, they, they, they can be fished, right?

220
00:13:41,580 --> 00:13:46,140
They are, they want to believe that people have good intentions at mine.

221
00:13:46,140 --> 00:13:50,100
And it's not to say that everyone doesn't, but there is bad in the world, right?

222
00:13:50,100 --> 00:13:54,740
There are people who want to take advantage of people in that way.

223
00:13:54,740 --> 00:13:59,180
And that's why things like fishing resistance, past keys, all of these things are so critical

224
00:13:59,180 --> 00:14:00,180
to me.

225
00:14:00,180 --> 00:14:04,500
But, because we are, we are faltered, right?

226
00:14:04,500 --> 00:14:08,780
Like, we, we want to assume these things, but at the end of the day, we, I've clicked on,

227
00:14:08,780 --> 00:14:11,740
I was like, poor, not, unintentionally, right?

228
00:14:11,740 --> 00:14:15,500
Like, oh yeah, that does sound extremely relevant to what I'm doing today.

229
00:14:15,500 --> 00:14:16,500
And that's the thing.

230
00:14:16,500 --> 00:14:20,500
And that's what, that's why it's so dangerous with the, you know, the introduction of AI.

231
00:14:20,500 --> 00:14:25,300
Because if you think about, you know, we all joke about the attacks back in the day, right?

232
00:14:25,300 --> 00:14:29,100
The, the crown prince in Africa reaching out to me.

233
00:14:29,100 --> 00:14:32,900
You know, it's like, oh, does he wants to, he needs help for me?

234
00:14:32,900 --> 00:14:37,300
Like, what, you know, these attacks were, were almost laughable back in the day.

235
00:14:37,300 --> 00:14:42,580
But when you introduce something like AI to the mix, which can easily scrape your entire

236
00:14:42,580 --> 00:14:46,940
organization and start to build out a, a flow chart and understand, oh, your CEO is over

237
00:14:46,940 --> 00:14:48,420
at this meeting today.

238
00:14:48,420 --> 00:14:53,820
You know, they can then, in sight, you know, in a sense of urgency in you as a user, because

239
00:14:53,820 --> 00:14:54,820
that's something we have, right?

240
00:14:54,820 --> 00:14:56,940
Our emotions go from zero to 100 very quickly.

241
00:14:56,940 --> 00:15:01,140
And so what they do is they, they incite this urgency, like, hey, it's the CEO.

242
00:15:01,140 --> 00:15:05,020
I'm over at this, you know, I'm over at, you know, this conference today.

243
00:15:05,020 --> 00:15:06,020
Of course, they're at that conference.

244
00:15:06,020 --> 00:15:07,500
Say, we know they're over at that conference.

245
00:15:07,500 --> 00:15:08,500
Say, right?

246
00:15:08,500 --> 00:15:09,980
It, it, it seems legitimate.

247
00:15:09,980 --> 00:15:14,660
I mean, without, you know, and the fact of the matter is when that urgency level hits,

248
00:15:14,660 --> 00:15:19,580
your, your brain, just that fight or flight mechanism in your brain doesn't necessarily

249
00:15:19,580 --> 00:15:21,900
sometimes go hold on, stop.

250
00:15:21,900 --> 00:15:23,580
Why would they be reaching out to me directly?

251
00:15:23,580 --> 00:15:24,580
Right?

252
00:15:24,580 --> 00:15:26,820
And because of that, that false sense of urgency, you just, you know, I'm, you know,

253
00:15:26,820 --> 00:15:28,260
you just go, oh, I need to help this person.

254
00:15:28,260 --> 00:15:29,580
I need to do this, right?

255
00:15:29,580 --> 00:15:34,260
And I've literally watched financial teams get messages like that.

256
00:15:34,260 --> 00:15:39,020
And next thing I know, they're wiring $10,000 in a wire transfer because they think their

257
00:15:39,020 --> 00:15:42,060
seat, the CEO is actually at the conference.

258
00:15:42,060 --> 00:15:43,060
Everything checked out.

259
00:15:43,060 --> 00:15:46,100
They didn't have the appropriate data governance in place, right?

260
00:15:46,100 --> 00:15:50,780
To put a two gate like, hey, anything over this amount of money, don't wire it unless you

261
00:15:50,780 --> 00:15:56,340
get approval from X and Y instead of just giving them full autonomy to just send a wire

262
00:15:56,340 --> 00:15:57,340
transfer of 10k.

263
00:15:57,340 --> 00:16:01,340
Next thing you know, you're dealing with forensics teams trying to understand why $10,000 was just

264
00:16:01,340 --> 00:16:05,300
wired to someone over in, you know, in Bobway.

265
00:16:05,300 --> 00:16:09,860
So yeah, long-winded answer.

266
00:16:09,860 --> 00:16:17,980
I think we have before we jump in the clouds, we have Active Directory.

267
00:16:17,980 --> 00:16:18,980
Sure.

268
00:16:18,980 --> 00:16:19,980
Active Directory.

269
00:16:19,980 --> 00:16:30,020
So did you think for companies that's also important to look at their identity strategy at AD

270
00:16:30,020 --> 00:16:33,820
or can we handle all of us with the MTA?

271
00:16:33,820 --> 00:16:34,820
Yeah.

272
00:16:34,820 --> 00:16:39,220
I mean, I guess it really depends on the business model, right?

273
00:16:39,220 --> 00:16:40,620
Like what specifically?

274
00:16:40,620 --> 00:16:47,660
So I work for an organization where we had a lot of legacy applications and a lot of need

275
00:16:47,660 --> 00:16:49,660
for legacy AD.

276
00:16:49,660 --> 00:16:53,300
Case in point, you know, I've got extreme experience with Azure.

277
00:16:53,300 --> 00:16:58,420
A part of what I did was I built AVD environments for organizations.

278
00:16:58,420 --> 00:17:02,940
When I started building out Azure environments, unlike this past year where we're now cloud

279
00:17:02,940 --> 00:17:08,660
native and everything can be done cloud native there, there was reliance on Active Directory.

280
00:17:08,660 --> 00:17:14,340
So I couldn't build an Azure Virtual Desktop environment without doing hybrid identities,

281
00:17:14,340 --> 00:17:19,620
meaning and while Interdomain Services is a thing, there's still legacy work.

282
00:17:19,620 --> 00:17:22,060
So there's a lot of different solutions that rely on things like Kerberos, right?

283
00:17:22,060 --> 00:17:23,060
SMTP.

284
00:17:23,060 --> 00:17:28,940
Like we, you know, we, in TFS file shares, there are legitimate needs within the organization.

285
00:17:28,940 --> 00:17:35,940
I do believe in this past year Microsoft has really done an amazing job at pushing the boundary,

286
00:17:35,940 --> 00:17:42,500
at what, to really cause you to have to rethink do I still need Active Directory?

287
00:17:42,500 --> 00:17:47,580
From the introduction to the new features within Intercloud Sync, one of the biggest limitations

288
00:17:47,580 --> 00:17:54,940
that it had was if you think about today, organizations that wanted to hybrid join, meaning they,

289
00:17:54,940 --> 00:17:59,740
they had all their devices, they didn't want to just immediately, you know, join them into,

290
00:17:59,740 --> 00:18:01,980
into, into, only that's a huge up lift.

291
00:18:01,980 --> 00:18:08,420
That's a huge project hour to get rid of that, that old legacy Active Directory join initiative.

292
00:18:08,420 --> 00:18:12,660
They've moved the needle on that and that you can now join directly to, you know, to

293
00:18:12,660 --> 00:18:18,500
into with Intercloud Sync. So you can, you can do that hybrid join, which is a great intermediary

294
00:18:18,500 --> 00:18:21,940
step from on-prem to cloud only.

295
00:18:21,940 --> 00:18:24,940
So I, I do think there are still legacy needs.

296
00:18:24,940 --> 00:18:29,580
I, and I think, you know, understanding Active Directory and the OU structures and, and

297
00:18:29,580 --> 00:18:33,900
really understanding what that is and how to reshape and rethink that with the cloud.

298
00:18:33,900 --> 00:18:37,100
If you look at, if you look at intradd, it's a flat landscape.

299
00:18:37,100 --> 00:18:39,660
There is no, there's no OU structure.

300
00:18:39,660 --> 00:18:42,940
Not the same LDAP kind of category and everything you have there, right?

301
00:18:42,940 --> 00:18:47,620
These are all new protocols, new, new identity structures that exist today.

302
00:18:47,620 --> 00:18:52,500
And I think that, that's why I go back to the idea of why groups are so critical.

303
00:18:52,500 --> 00:18:57,260
A lot of what we try to do with OU's can be accomplished within the group structure and

304
00:18:57,260 --> 00:19:00,900
the group conventions that exist with an intradd today.

305
00:19:00,900 --> 00:19:03,140
So yeah, I think it's extremely critical.

306
00:19:03,140 --> 00:19:08,580
But yeah, I, I do think every organization moving forward from today needs to take a hard

307
00:19:08,580 --> 00:19:13,260
look at, okay, what do we still rely on Active Directory for?

308
00:19:13,260 --> 00:19:18,340
And the post that I released today called groups, the connective tissue, right?

309
00:19:18,340 --> 00:19:24,140
The idea is start to look at how can I use this cloud first approach to start minimizing

310
00:19:24,140 --> 00:19:26,300
my reliance on Active Directory?

311
00:19:26,300 --> 00:19:32,860
Because the trap that we fall in, specifically in the MSP space is that we're like, oh, it's

312
00:19:32,860 --> 00:19:33,860
just, you know, it's easy.

313
00:19:33,860 --> 00:19:34,860
We got to do this.

314
00:19:34,860 --> 00:19:35,860
We'll get rid of this sometime later on.

315
00:19:35,860 --> 00:19:37,460
And then it just sits there.

316
00:19:37,460 --> 00:19:38,860
And no one ever gets rid of it.

317
00:19:38,860 --> 00:19:43,180
So when you start looking at new SaaS apps that you want to introduce, you know, we, we,

318
00:19:43,180 --> 00:19:47,300
the first thing we tackled as an organization was file shares and printers.

319
00:19:47,300 --> 00:19:50,660
We, we moved those, we moved those wholeistically to Azure.

320
00:19:50,660 --> 00:19:52,580
We started using Azure premium files.

321
00:19:52,580 --> 00:19:57,740
We started using, we worked, we tried universal print, but then we found a much better product

322
00:19:57,740 --> 00:20:05,020
called printx that actually was amazing for cloud printing and had a few less limitations

323
00:20:05,020 --> 00:20:07,140
than what universal print had.

324
00:20:07,140 --> 00:20:13,300
The idea was we started leveraging those and moving those needs off from from Active Directory

325
00:20:13,300 --> 00:20:14,620
into the cloud.

326
00:20:14,620 --> 00:20:18,980
And by doing that, then target it with groups, we could then connect those systems directly

327
00:20:18,980 --> 00:20:20,260
into enter ID.

328
00:20:20,260 --> 00:20:25,740
That was then groups and GPOs and other aspects of the on-prem identity that we could start

329
00:20:25,740 --> 00:20:28,340
to diminish and get rid of within the organization.

330
00:20:28,340 --> 00:20:33,780
And then it just easily kept shifting from there to a cloud first world.

331
00:20:33,780 --> 00:20:39,900
And there it's, I think, conditional access for listeners, they are new with the topic.

332
00:20:39,900 --> 00:20:42,020
What exactly is it?

333
00:20:42,020 --> 00:20:43,740
What exactly is conditional access?

334
00:20:43,740 --> 00:20:45,140
Ah, perfect question.

335
00:20:45,140 --> 00:20:51,340
So I have a, I have a GitHub repository that I'm going to give you the, I'm going to give

336
00:20:51,340 --> 00:20:52,500
you the answer from that.

337
00:20:52,500 --> 00:20:54,260
There's a real official, right?

338
00:20:54,260 --> 00:20:58,460
Like a kind of explanation of what it is.

339
00:20:58,460 --> 00:21:00,260
The John Hope explanation.

340
00:21:00,260 --> 00:21:03,660
It's the modern day cloud identity and workload firewall in the modern cloud.

341
00:21:03,660 --> 00:21:05,340
Identity is the server.

342
00:21:05,340 --> 00:21:08,780
It's a control plane that every access request goes through.

343
00:21:08,780 --> 00:21:14,460
So again, I correlate it to the idea of, of a firewall a lot of times, but essentially,

344
00:21:14,460 --> 00:21:18,940
it's a zero trust control plane that makes real-time decisions on authorization.

345
00:21:18,940 --> 00:21:20,340
And do you have access?

346
00:21:20,340 --> 00:21:24,820
So it's an authentication, authorization mechanism that says, okay, you've authenticated.

347
00:21:24,820 --> 00:21:27,100
Do you have the ability to contact this?

348
00:21:27,100 --> 00:21:31,340
Does your device that you're working for have the ability to access this?

349
00:21:31,340 --> 00:21:33,460
So in a labencer, that's, that's my.

350
00:21:33,460 --> 00:21:35,460
That's my explanation of it.

351
00:21:35,460 --> 00:21:36,460
Yeah.

352
00:21:36,460 --> 00:21:43,300
I read, I think it's more on one of your blocks that you say one or, yeah, you consider a

353
00:21:43,300 --> 00:21:51,180
condition like says one of the most powerful security controls in Microsoft 365.

354
00:21:51,180 --> 00:21:53,620
Why, why did you think this?

355
00:21:53,620 --> 00:21:54,620
Why?

356
00:21:54,620 --> 00:21:56,260
Because if you look at it, right?

357
00:21:56,260 --> 00:21:58,340
You, you actually talk about this a lot.

358
00:21:58,340 --> 00:21:59,420
Let me be very clear.

359
00:21:59,420 --> 00:22:04,260
My favorite, my favorite talk if anyone hasn't gone and listened to it is governance is an

360
00:22:04,260 --> 00:22:08,060
illusion that that podcast you did was amazing.

361
00:22:08,060 --> 00:22:14,380
And the, the idea is that if you look at conditional access, you know, you made a point in

362
00:22:14,380 --> 00:22:19,420
there that there isn't necessarily a unified control plane for everything because inside

363
00:22:19,420 --> 00:22:25,220
of him 365, there are aspects that have their own unique identities and, and connections,

364
00:22:25,220 --> 00:22:26,220
right?

365
00:22:26,220 --> 00:22:30,820
And the exchange has the exo command module purview has the IPP session modules.

366
00:22:30,820 --> 00:22:33,580
You've got share point with the SPO modules, right?

367
00:22:33,580 --> 00:22:35,700
They have their own capabilities.

368
00:22:35,700 --> 00:22:41,020
Conditional access is that thing that tries its best to unify security from across the board.

369
00:22:41,020 --> 00:22:45,940
If you think about conditional access, yes, it secures identities and it's, it's main purpose

370
00:22:45,940 --> 00:22:49,620
is to make sure that the identities do have the access it needs.

371
00:22:49,620 --> 00:22:53,180
But on top of that, it hooks into all those other modules.

372
00:22:53,180 --> 00:22:56,300
So into it can look at your device compliance statistics.

373
00:22:56,300 --> 00:22:57,780
It says, well, wait a second.

374
00:22:57,780 --> 00:22:59,420
Is this device still healthy, right?

375
00:22:59,420 --> 00:23:01,340
What does intune say it's still healthy?

376
00:23:01,340 --> 00:23:02,340
Okay.

377
00:23:02,340 --> 00:23:03,340
Cool.

378
00:23:03,340 --> 00:23:06,060
Then we, you know, we have a compliance policy inside of intune that's telling us and giving

379
00:23:06,060 --> 00:23:10,780
those signals back for the conditional access policy to make a real time decision at that

380
00:23:10,780 --> 00:23:11,940
moment.

381
00:23:11,940 --> 00:23:13,900
It hooks into defender for cloud, right?

382
00:23:13,900 --> 00:23:16,500
It hooks into defender period, right?

383
00:23:16,500 --> 00:23:18,100
So we have app and force restrictions.

384
00:23:18,100 --> 00:23:22,460
So if you build policies into defender, it's able to then pass through make a real time

385
00:23:22,460 --> 00:23:23,460
decision.

386
00:23:23,460 --> 00:23:26,180
Are you connected to a third party VPN that you shouldn't be?

387
00:23:26,180 --> 00:23:27,180
Okay.

388
00:23:27,180 --> 00:23:30,700
If you're connected to that, you don't get access into the organization, right?

389
00:23:30,700 --> 00:23:33,580
It's able to make all these decisions per view.

390
00:23:33,580 --> 00:23:37,460
You're able to do authentication contacts and then apply conditional access on top of

391
00:23:37,460 --> 00:23:42,460
it to protect that from accessing, you know, critical sharepoint sites.

392
00:23:42,460 --> 00:23:45,780
There are ways that you can do this natively within each of these tools, but conditional

393
00:23:45,780 --> 00:23:50,740
access is kind of that, in my opinion, that last stop kind of deeded process to ensure

394
00:23:50,740 --> 00:23:56,340
that at the end of the day, all of these aspects are protected.

395
00:23:56,340 --> 00:24:03,980
And when you get a new client, what's the first conditional access policy that you look

396
00:24:03,980 --> 00:24:06,300
if they have deployed it?

397
00:24:06,300 --> 00:24:07,300
Yeah.

398
00:24:07,300 --> 00:24:13,460
So, so hopefully everyone after this goes to my my GitHub repository and I'll, I'll make

399
00:24:13,460 --> 00:24:16,900
sure you have all the links, hopefully you have all the links to that.

400
00:24:16,900 --> 00:24:22,940
So there are six policies in my repository that I consider foundation policies.

401
00:24:22,940 --> 00:24:25,740
So there's not necessarily one policy.

402
00:24:25,740 --> 00:24:30,580
Obviously, if there was one policy, it would just be MFA for all users, regardless of what

403
00:24:30,580 --> 00:24:31,900
you're doing, right?

404
00:24:31,900 --> 00:24:34,540
That is, that is at a clear cut.

405
00:24:34,540 --> 00:24:39,740
That is what security defaults tries to do, but fails horribly at.

406
00:24:39,740 --> 00:24:45,900
As far as like what I recommend to anybody, it is there are six fundamental policies, you

407
00:24:45,900 --> 00:24:49,700
know, not, not looking at your in tune, do you have in tune, right?

408
00:24:49,700 --> 00:24:53,580
Because at the end of the day, one of the, one of the requirements for conditional access

409
00:24:53,580 --> 00:24:55,140
is a P1 license.

410
00:24:55,140 --> 00:25:01,820
So assuming you have 10 users and 10 P1 license in your infrastructure, this is the bare bones

411
00:25:01,820 --> 00:25:06,340
what you could still do to protect that organization, you know, just because you have P1 doesn't

412
00:25:06,340 --> 00:25:09,860
mean you have an in tune plan one license, you can do compliant devices.

413
00:25:09,860 --> 00:25:14,180
And, and I break those down into into those six policies, essentially starting with all

414
00:25:14,180 --> 00:25:21,020
MFA for all users, MFA for all admin roles, typically there, I want to use a stronger authentication

415
00:25:21,020 --> 00:25:22,020
method.

416
00:25:22,020 --> 00:25:26,900
So I want to use something that is fishing resistant if they are in admin or have a privileged

417
00:25:26,900 --> 00:25:28,620
role.

418
00:25:28,620 --> 00:25:33,020
And then there's the two fundamental policies that I believe every tenant should have,

419
00:25:33,020 --> 00:25:36,140
which is blocking device code flow and blocking legacy off.

420
00:25:36,140 --> 00:25:41,580
They are, they are known attack vectors that, you know, very sophisticated nation state,

421
00:25:41,580 --> 00:25:46,140
you know, organizations have attacked and have been, you know, instrumental in gaining access

422
00:25:46,140 --> 00:25:48,900
to the organization's time in time again.

423
00:25:48,900 --> 00:25:54,180
And then I do a two gated process for allowed countries.

424
00:25:54,180 --> 00:26:00,140
And I recommend those for every, every person because the idea is I, if you do one block country

425
00:26:00,140 --> 00:26:06,100
policy inevitably what happens is humans and humans travel.

426
00:26:06,100 --> 00:26:10,540
And then what we do is we say, cool, I'm going to put them as an exclusion because they're

427
00:26:10,540 --> 00:26:11,540
traveling.

428
00:26:11,540 --> 00:26:12,540
And it's like, cool.

429
00:26:12,540 --> 00:26:17,500
Well, now that Bob's in the Bahamas, you just allowed him in from Russia and his account

430
00:26:17,500 --> 00:26:21,660
gets compromised in the Bahamas and he's now accessing everything from Russia.

431
00:26:21,660 --> 00:26:25,900
So there's, there's a very deep dive on why I recommend the way, doing the policies, the

432
00:26:25,900 --> 00:26:31,420
way I do, but I, I highly believe in that concept of you, you have to be intentional on where

433
00:26:31,420 --> 00:26:35,500
people can access specifically on country codes, but understanding that countries aren't

434
00:26:35,500 --> 00:26:37,140
the end all be all right.

435
00:26:37,140 --> 00:26:42,260
Because those bad actors have access to a VPN and to Azure here in the US, right?

436
00:26:42,260 --> 00:26:47,420
But it is, it's kind of a fundamental thing of like, let's stop the low hanging fruit because

437
00:26:47,420 --> 00:26:49,340
it is a vector that people use.

438
00:26:49,340 --> 00:26:53,140
So those would be the six that I would say every company needs regardless of what they're

439
00:26:53,140 --> 00:26:54,140
doing.

440
00:26:54,140 --> 00:26:55,140
Awesome.

441
00:26:55,140 --> 00:26:56,140
Yeah.

442
00:26:56,140 --> 00:26:57,140
Yeah.

443
00:26:57,140 --> 00:26:58,140
Yeah.

444
00:26:58,140 --> 00:27:00,140
That's, that's so funny.

445
00:27:00,140 --> 00:27:03,140
What, what all happened?

446
00:27:03,140 --> 00:27:12,500
But the role of AI, when I look in the intro, for me, I say the co-pilot or AI, a staff looks

447
00:27:12,500 --> 00:27:18,540
more than the human than an application.

448
00:27:18,540 --> 00:27:25,220
Did you think, yeah, this is, yeah, I don't know.

449
00:27:25,220 --> 00:27:29,340
AI is a new vector for a text.

450
00:27:29,340 --> 00:27:30,340
Oh, 100%.

451
00:27:30,340 --> 00:27:32,820
Yeah, yeah, yeah, 100%.

452
00:27:32,820 --> 00:27:37,780
Well, there was actually, I wrote about this one and I'm trying to think what the session was.

453
00:27:37,780 --> 00:27:41,740
There was an amazing session at ignite this past year.

454
00:27:41,740 --> 00:27:42,740
I attended it.

455
00:27:42,740 --> 00:27:49,100
It was essentially the foundation of identity and it was two of the principal architects

456
00:27:49,100 --> 00:27:55,500
from Microsoft talking about how they fundamentally targeted identity inside the organization, right?

457
00:27:55,500 --> 00:27:59,180
One of the, one of the facts that I got from it, to actually two very interesting facts

458
00:27:59,180 --> 00:28:00,700
I got from it.

459
00:28:00,700 --> 00:28:05,500
One was that they were, you know, their entire organization is kind of all in on past keys,

460
00:28:05,500 --> 00:28:06,500
right?

461
00:28:06,500 --> 00:28:07,900
So they're, they're, they're using past keys.

462
00:28:07,900 --> 00:28:11,420
They're, they're eating their own dog food, drinking their own champagne internally.

463
00:28:11,420 --> 00:28:13,060
I think that's amazing.

464
00:28:13,060 --> 00:28:17,780
The other, the other thing was the fact that it was shown on one of the screens that according

465
00:28:17,780 --> 00:28:22,820
to their, you know, data, and I believe they, they, they make this in the digital defense

466
00:28:22,820 --> 00:28:28,580
playbook, is that they're only 80% of administrative level accounts are protected with the

467
00:28:28,580 --> 00:28:29,580
method.

468
00:28:29,580 --> 00:28:31,980
There's a 20% of organization.

469
00:28:31,980 --> 00:28:36,460
And if you look at, if you look at the landscape of what Microsoft sees, that's a lot of companies

470
00:28:36,460 --> 00:28:37,460
out there.

471
00:28:37,460 --> 00:28:41,580
20% is a lot of privileged roles that they're seen without MFA on it.

472
00:28:41,580 --> 00:28:44,220
So if you're one of those companies, please go get it.

473
00:28:44,220 --> 00:28:46,140
They enabled for those account.

474
00:28:46,140 --> 00:28:51,220
But what the, the point of that conversation, the point of that whole session is the idea

475
00:28:51,220 --> 00:28:54,700
of we have to empower AI for good, right?

476
00:28:54,700 --> 00:28:57,100
AI can be used for, for negative things.

477
00:28:57,100 --> 00:29:02,260
It can be used to, to figure out how to, you know, compromise an identity, move louder

478
00:29:02,260 --> 00:29:04,460
really within an organization.

479
00:29:04,460 --> 00:29:08,220
But the idea is that we need to leverage AI for good.

480
00:29:08,220 --> 00:29:12,380
And I believe what they're trying to do with security co-pilot.

481
00:29:12,380 --> 00:29:13,460
I tested this.

482
00:29:13,460 --> 00:29:17,220
Be careful with that, with that tool.

483
00:29:17,220 --> 00:29:19,980
But yeah, the idea is it's good, right?

484
00:29:19,980 --> 00:29:23,700
Humans make mistakes all the time.

485
00:29:23,700 --> 00:29:24,700
We, we click a button.

486
00:29:24,700 --> 00:29:26,500
We think we have it exactly the same way.

487
00:29:26,500 --> 00:29:30,660
And then we go and try to do it 10 more times and each one looks a little different.

488
00:29:30,660 --> 00:29:37,060
And that's the idea of using AI and automation is to create a standard configuration and

489
00:29:37,060 --> 00:29:40,940
then be able to do that very continuously across each environment, right?

490
00:29:40,940 --> 00:29:43,740
For, for my space, the MSP space where I came from, right?

491
00:29:43,740 --> 00:29:46,020
Remain as you know, 120 different clients.

492
00:29:46,020 --> 00:29:52,340
So you start, you take 10 to 12 conditional access policies across 120 tenants.

493
00:29:52,340 --> 00:29:57,900
There is an exponential amount of errors that can be created if you're manually doing that.

494
00:29:57,900 --> 00:30:04,540
So that's, that's the idea of how AI comes in and it really helps to make it more efficient,

495
00:30:04,540 --> 00:30:09,180
but also catch those, those hidden mistakes that we sometimes overlook as humans.

496
00:30:09,180 --> 00:30:10,180
So yeah.

497
00:30:10,180 --> 00:30:19,900
Well, when I often see that organization separate Azure security from identity security, yeah,

498
00:30:19,900 --> 00:30:23,780
there are, say, interconnected, really interconnected.

499
00:30:23,780 --> 00:30:32,300
But why, why did companies have these kind of thinking, what, what your perspective on this?

500
00:30:32,300 --> 00:30:36,700
So I, you know, it's, it's different across organizations.

501
00:30:36,700 --> 00:30:40,780
I think the mindset of what you're, what you're getting to there fundamentally is an enterprise

502
00:30:40,780 --> 00:30:45,700
mindset of, you know, separation of roles, kind of separation of duties that exists within

503
00:30:45,700 --> 00:30:47,100
an organization.

504
00:30:47,100 --> 00:30:49,980
So I think the idea of like you have your infrastructure team, right?

505
00:30:49,980 --> 00:30:51,300
That's the Azure side.

506
00:30:51,300 --> 00:30:55,820
Their, their primary responsibility is looking at Azure infrastructure in SGs, you know, the

507
00:30:55,820 --> 00:31:01,340
VNet, making sure all these rules are optimized and, and working effectively.

508
00:31:01,340 --> 00:31:06,020
But that is, and I, I will die on this hill that there is a, there is a massive need for

509
00:31:06,020 --> 00:31:10,940
these teams to come together to, to talk and be more efficient.

510
00:31:10,940 --> 00:31:17,020
The, the new introduction of this cloud connected world, these silos can't continue to exist.

511
00:31:17,020 --> 00:31:21,500
And, and there's been some really good conversations, you know, Merrill Fernando on, you know, on

512
00:31:21,500 --> 00:31:25,140
interchette, had a great conversation about this, you know, because he's had a lot of time

513
00:31:25,140 --> 00:31:27,420
and work on the Zero Trust Assessment.

514
00:31:27,420 --> 00:31:33,540
And the idea is like these teams have to come together because it can't continue to be silo.

515
00:31:33,540 --> 00:31:35,700
And, and there's a huge overlap.

516
00:31:35,700 --> 00:31:40,380
And there's a reason why I specifically talk about the, the fundamental role that Azure

517
00:31:40,380 --> 00:31:42,580
plays an identity.

518
00:31:42,580 --> 00:31:49,140
Um, it is far as how those two coexist and I mean, any identity admin who's ever tried to

519
00:31:49,140 --> 00:31:54,540
go figure out what's going on in, in a, you know, whether it's conditional access or just

520
00:31:54,540 --> 00:31:59,180
looking through logs should understand the hardship of doing that manually, right?

521
00:31:59,180 --> 00:32:04,180
And so the idea is if you have Azure infrastructure, you can set up log analytics workspace.

522
00:32:04,180 --> 00:32:06,620
You can set up Sentinel around those workspaces, right?

523
00:32:06,620 --> 00:32:08,860
There's, there's huge opportunities there.

524
00:32:08,860 --> 00:32:14,740
I specifically coming from the Azure side built tons of KQL queries and tons of, tons

525
00:32:14,740 --> 00:32:20,820
of quick ways to check for specific logs and that completely changed the way on how I did

526
00:32:20,820 --> 00:32:23,060
conditional access rollouts.

527
00:32:23,060 --> 00:32:24,820
So, and a lot of people don't, they don't know that.

528
00:32:24,820 --> 00:32:29,900
They don't know about these built in KQL workbooks that exist in Azure that help you deploy

529
00:32:29,900 --> 00:32:32,260
out conditional access for identity.

530
00:32:32,260 --> 00:32:33,260
Yeah.

531
00:32:33,260 --> 00:32:37,500
Um, I think Zero Trust plays, um, yeah.

532
00:32:37,500 --> 00:32:39,500
It's, it's so important topic.

533
00:32:39,500 --> 00:32:46,660
A lot of people hadn't lived a little bit like, yeah, I don't know, like the, uh, thin foil

534
00:32:46,660 --> 00:32:55,860
heads guys, uh, but yeah, what roles plays Zero Trust for you in an Azure architecture?

535
00:32:55,860 --> 00:32:59,340
What roles plays you're trusting in Azure architecture for me?

536
00:32:59,340 --> 00:33:03,740
Um, so me, I want to make sure I, I, I break down that question correctly, right?

537
00:33:03,740 --> 00:33:10,760
I mean, inevitably the, the idea there is just ensuring that, you know, you don't have

538
00:33:10,760 --> 00:33:12,000
master owner roles.

539
00:33:12,000 --> 00:33:18,600
So like when I was deploying out Azure infrastructure, I used by said, I was very explicit on who

540
00:33:18,600 --> 00:33:20,500
had the owner role.

541
00:33:20,500 --> 00:33:23,540
And the idea there is no one gets an owner role, right?

542
00:33:23,540 --> 00:33:28,340
Like other than, you know, me as the, to your point, you have to have someone that owns

543
00:33:28,340 --> 00:33:29,340
it, right?

544
00:33:29,340 --> 00:33:31,780
Who is the responsible party for the organization?

545
00:33:31,780 --> 00:33:35,260
Outside of that, the network, we need to start to minimize what they have and the whole idea

546
00:33:35,260 --> 00:33:38,500
of Zero Trust is, well, if you're just working on the network side of things, then this is

547
00:33:38,500 --> 00:33:39,700
what you need access to.

548
00:33:39,700 --> 00:33:43,740
These are the redeemable roles that you can leverage to then do that.

549
00:33:43,740 --> 00:33:47,380
But I don't want you messing with the Azure files over here, right?

550
00:33:47,380 --> 00:33:51,620
There's always an interconnection between the teams and the roles that are needed, but

551
00:33:51,620 --> 00:33:54,660
the idea is kind of controlling that blast radius, right?

552
00:33:54,660 --> 00:33:58,660
Like if you compromise the identity, but you don't have access to the SharePoint data

553
00:33:58,660 --> 00:34:01,060
that you want, you've contained it, right?

554
00:34:01,060 --> 00:34:07,260
Because you've given your team time back to get in and do the things necessary to remediate

555
00:34:07,260 --> 00:34:11,780
the issue and then fix it before any damage is done before this files are maybe, you know,

556
00:34:11,780 --> 00:34:17,500
corrupted or deleted maliciously before data is exultated and you got to go to a governing

557
00:34:17,500 --> 00:34:22,500
organization and, you know, tell them that there was a data breach in your organization.

558
00:34:22,500 --> 00:34:23,500
That's the whole idea.

559
00:34:23,500 --> 00:34:25,020
And the same thing exists within Azure.

560
00:34:25,020 --> 00:34:29,380
We've got to make sure that we're controlling who has access and then building automation

561
00:34:29,380 --> 00:34:31,380
to alert.

562
00:34:31,380 --> 00:34:34,820
Like I did extensive automation around break glass accounts.

563
00:34:34,820 --> 00:34:39,140
If a break glass account was used, if someone sneezed and they were even thinking of logging

564
00:34:39,140 --> 00:34:41,580
in with the break glass account, I wanted to get notified on it.

565
00:34:41,580 --> 00:34:46,380
Like I knew every time a break glass account was logged in, I had multiple alerts coming

566
00:34:46,380 --> 00:34:47,380
from anything.

567
00:34:47,380 --> 00:34:51,260
And depending on, you know, I had an alert that was like, if the break glass account is

568
00:34:51,260 --> 00:34:56,380
used outside of a country, like outside of my, you know, respected country, let me know.

569
00:34:56,380 --> 00:35:00,460
And then it immediately high critical alert started flashing bells.

570
00:35:00,460 --> 00:35:03,260
You know, I didn't have a siren in the office, but if I did it would have, I would have

571
00:35:03,260 --> 00:35:08,580
figured an automation flow to like, a sound the alarm on the siren like it would, it was,

572
00:35:08,580 --> 00:35:11,380
you know, it was obvious what was going on.

573
00:35:11,380 --> 00:35:12,380
Yeah, awesome.

574
00:35:12,380 --> 00:35:20,540
You said you said by said, so, yeah, let me have to talk about the infrastructure as code.

575
00:35:20,540 --> 00:35:23,620
Oh, yes.

576
00:35:23,620 --> 00:35:24,620
Let me tell you that.

577
00:35:24,620 --> 00:35:32,460
How does for you, for your perspective, I see you are in infrastructure, just codes, improve

578
00:35:32,460 --> 00:35:33,860
security outcomes.

579
00:35:33,860 --> 00:35:34,860
Oh, my God.

580
00:35:34,860 --> 00:35:36,620
It's, it's everything.

581
00:35:36,620 --> 00:35:42,060
So, you know, let me, let me give you a little bit of backstory on why I got to that point.

582
00:35:42,060 --> 00:35:45,500
So I was given a mandate by my previous organization.

583
00:35:45,500 --> 00:35:50,620
I worked at, I needed to move every client that we had hosted in a data center into Azure.

584
00:35:50,620 --> 00:35:52,820
I was very new into Azure architecture.

585
00:35:52,820 --> 00:35:54,900
I was, you know, an A.V.D. specialist.

586
00:35:54,900 --> 00:35:56,340
I had already gotten a cert for that.

587
00:35:56,340 --> 00:36:01,620
I was in my Azure admin days working on the 104 and what I was doing is I was building

588
00:36:01,620 --> 00:36:04,460
out the first client into Azure.

589
00:36:04,460 --> 00:36:09,580
So I am a stickler for if it's not documented, it doesn't exist.

590
00:36:09,580 --> 00:36:14,380
Like if you can't document exactly what you're doing, then the standardization doesn't

591
00:36:14,380 --> 00:36:15,380
exist, right?

592
00:36:15,380 --> 00:36:19,180
I have to be able to document every step of what I'm doing so that I can come back and

593
00:36:19,180 --> 00:36:20,940
repeat said steps.

594
00:36:20,940 --> 00:36:25,220
So if you look, there's actually a, I have a legacy document I bill that I haven't made

595
00:36:25,220 --> 00:36:27,540
public, but I have this document.

596
00:36:27,540 --> 00:36:34,300
It's about 120 some paintings and it's every step that I took in the portal to deploy out

597
00:36:34,300 --> 00:36:38,540
the Azure infrastructure from how the NSG got created to how the Azure file shares were

598
00:36:38,540 --> 00:36:40,620
created to each individual settings.

599
00:36:40,620 --> 00:36:43,740
I had screenshots of all the settings.

600
00:36:43,740 --> 00:36:48,340
I had the private endpoint connection to the Azure file share so they connect correctly

601
00:36:48,340 --> 00:36:50,260
from on print.

602
00:36:50,260 --> 00:36:56,740
I then went back to the beginning of the document and I tried to do it for the next client.

603
00:36:56,740 --> 00:36:57,740
Everything changed.

604
00:36:57,740 --> 00:37:04,980
The speed and the rate at which Microsoft is changing the interface is so fast that there

605
00:37:04,980 --> 00:37:08,140
is no amount of documentation that can keep up with it.

606
00:37:08,140 --> 00:37:12,500
And it was in that moment when I had to start that second project that I said, this is un,

607
00:37:12,500 --> 00:37:13,500
this is unitatable.

608
00:37:13,500 --> 00:37:18,740
I will not be able to maintain this document and this stay relevant long term.

609
00:37:18,740 --> 00:37:22,020
And so when that realization happened, I did two things.

610
00:37:22,020 --> 00:37:25,500
I started looking at Terraform and I started looking at Pysa.

611
00:37:25,500 --> 00:37:26,740
I looked at Terraform.

612
00:37:26,740 --> 00:37:27,820
I liked Terraform.

613
00:37:27,820 --> 00:37:33,100
I didn't love all the requirements around Terraform and some of the, some of the files that

614
00:37:33,100 --> 00:37:34,740
you had to, had to leverage.

615
00:37:34,740 --> 00:37:37,900
And I really took a hard look at, okay, what's my objective here?

616
00:37:37,900 --> 00:37:43,380
And my objective was not necessarily to interconnect with other clouds and not to

617
00:37:43,380 --> 00:37:46,380
necessarily maintain anything on premise.

618
00:37:46,380 --> 00:37:50,980
So I said, I feel like I'm kind of making it harder by looking at Terraform.

619
00:37:50,980 --> 00:37:53,100
Not that I've talked to a ton of Terraform developers.

620
00:37:53,100 --> 00:37:54,820
It's an amazing product.

621
00:37:54,820 --> 00:37:56,300
Highly recommending.

622
00:37:56,300 --> 00:38:01,100
But then I started looking at Pysa and I go, okay, well, what the heck is this Pysa thing?

623
00:38:01,100 --> 00:38:07,180
It's a native DSL, so it's a domain specific language that integrates into Azure.

624
00:38:07,180 --> 00:38:12,860
The underlying, the underlying protocol of ARM Azure Resource Manager is JSON.

625
00:38:12,860 --> 00:38:17,340
And the idea is JSON is extremely complex to look at.

626
00:38:17,340 --> 00:38:19,420
It's extremely complex to modify.

627
00:38:19,420 --> 00:38:23,220
But then you look at something like Bysep, extremely intuitive, very friendly.

628
00:38:23,220 --> 00:38:25,580
Hey, create a resource, resource storage account.

629
00:38:25,580 --> 00:38:27,420
I want it to have these properties.

630
00:38:27,420 --> 00:38:28,420
So started digging in.

631
00:38:28,420 --> 00:38:30,340
I watched all kinds of videos.

632
00:38:30,340 --> 00:38:32,780
I started learning from other developers.

633
00:38:32,780 --> 00:38:39,580
And I was able to build a zero trust-ish architecture, right?

634
00:38:39,580 --> 00:38:42,580
Within Azure, I was able to create custom Azure policies, right?

635
00:38:42,580 --> 00:38:47,060
A lot of people overlook that, but Azure has amazing guardrails built in through the Azure

636
00:38:47,060 --> 00:38:48,460
policy mechanism.

637
00:38:48,460 --> 00:38:51,820
I was able to build all of that out with Bysep.

638
00:38:51,820 --> 00:38:55,500
And I went through it one time and I deployed an entire infrastructure.

639
00:38:55,500 --> 00:39:00,860
What would have taken me three days was dropped down to about a four to six hour time period.

640
00:39:00,860 --> 00:39:02,740
And I was like, oh, this is it.

641
00:39:02,740 --> 00:39:07,460
This is the whole point of what Azure is trying to do, right?

642
00:39:07,460 --> 00:39:10,660
They really don't want you necessarily in the interface.

643
00:39:10,660 --> 00:39:13,700
They have to provide a UI in the interface.

644
00:39:13,700 --> 00:39:17,620
But at the end of the day, those APIs stay the same.

645
00:39:17,620 --> 00:39:19,180
A lot of them are very similar.

646
00:39:19,180 --> 00:39:21,060
Now they may add functionality into it.

647
00:39:21,060 --> 00:39:24,740
And that's why you got to get up to date on what new APIs are available.

648
00:39:24,740 --> 00:39:27,820
What within the Bysep code you can actually modify.

649
00:39:27,820 --> 00:39:32,380
But I have an entire infrastructure built out in Bysep.

650
00:39:32,380 --> 00:39:37,580
As infrastructure is code, I can go to play that today and it still works the same way.

651
00:39:37,580 --> 00:39:44,580
So that is the idea you take a standard configuration and you're able to replicate it effectively across

652
00:39:44,580 --> 00:39:45,580
every tenant.

653
00:39:45,580 --> 00:39:48,340
I did this for tenant after tenant as I moved them.

654
00:39:48,340 --> 00:39:49,340
I just took it.

655
00:39:49,340 --> 00:39:51,420
I had an entire AVD build out.

656
00:39:51,420 --> 00:39:54,060
So everything was built out in Bysep code.

657
00:39:54,060 --> 00:39:56,540
Everything custom script, it would call a custom script.

658
00:39:56,540 --> 00:39:59,820
It would join it to a domain because you're probably doing hybrid at the time.

659
00:39:59,820 --> 00:40:03,860
All of that stuff was just built in and it was the same across every deployment I did.

660
00:40:03,860 --> 00:40:09,620
The naming conventions, the regions, the policies as far as locking it down right.

661
00:40:09,620 --> 00:40:11,980
Like that's one of those vectors you have to look at.

662
00:40:11,980 --> 00:40:16,100
If you leave Azure open up to the world, people are going to come in.

663
00:40:16,100 --> 00:40:17,780
They're going to start crypto mining on your dime.

664
00:40:17,780 --> 00:40:22,260
They're going to build some in-series VMs and just say cool, let me have at it.

665
00:40:22,260 --> 00:40:28,020
The idea is, if you're not deploying in-series VMs that need this intense GPU functionality,

666
00:40:28,020 --> 00:40:29,020
don't deploy them.

667
00:40:29,020 --> 00:40:32,780
Put a gate in, put an Azure policy in place that eliminates their ability to even do

668
00:40:32,780 --> 00:40:33,780
that.

669
00:40:33,780 --> 00:40:39,860
So, yeah, there's a long winded, but it's a much story there.

670
00:40:39,860 --> 00:40:51,540
So we can say, a Bysep is the same what's actually for managing automated task and then Bysep

671
00:40:51,540 --> 00:40:54,260
is then for deploying Azure resources.

672
00:40:54,260 --> 00:40:57,940
Yeah, but it's a desired state configuration protocol, right?

673
00:40:57,940 --> 00:41:03,020
Meaning that it's so two things that Bysep has is desired state and item potent.

674
00:41:03,020 --> 00:41:08,340
So it can be rerun again and again and do the exact same task.

675
00:41:08,340 --> 00:41:09,860
Whereas PowerShell, right?

676
00:41:09,860 --> 00:41:11,860
PowerShell is like, you have to tell it where to go.

677
00:41:11,860 --> 00:41:14,420
And if it hits an issue, it kind of just stops.

678
00:41:14,420 --> 00:41:17,220
It's like telling someone how to get from point A to point B.

679
00:41:17,220 --> 00:41:20,980
There may be three different ways you can get from point A to point B.

680
00:41:20,980 --> 00:41:23,500
Bysep's just like, I don't care the direction you take.

681
00:41:23,500 --> 00:41:27,380
I just want the in-state, the desired state to look like this.

682
00:41:27,380 --> 00:41:31,580
And that's what Bysep does really effectively is it provides what the in-state should look

683
00:41:31,580 --> 00:41:35,420
like and it can be continuously run and evaluated.

684
00:41:35,420 --> 00:41:36,740
Does the in-state still match this?

685
00:41:36,740 --> 00:41:39,420
If someone makes a change, nope, revert it right back.

686
00:41:39,420 --> 00:41:41,260
The in-state should look like this.

687
00:41:41,260 --> 00:41:42,260
And that's the idea.

688
00:41:42,260 --> 00:41:45,660
That's how it standardizes that configuration, which inevitably if you standardize your

689
00:41:45,660 --> 00:41:51,620
configuration, security is going to improve from that from that methodology.

690
00:41:51,620 --> 00:42:01,100
And how do what those roles here, Bysep speed, how good is Bysep when we talk about

691
00:42:01,100 --> 00:42:03,980
version control?

692
00:42:03,980 --> 00:42:06,420
By something we talk about version control.

693
00:42:06,420 --> 00:42:13,100
So as far as version control, I would say that a lot of the Bysep is going to depend

694
00:42:13,100 --> 00:42:14,100
on you.

695
00:42:14,100 --> 00:42:21,220
So as far as version control, a lot of what we handled was within our DevOps repo environment,

696
00:42:21,220 --> 00:42:23,860
Markdown was a great way to keep track of notes.

697
00:42:23,860 --> 00:42:30,700
I will say, version control, you can go in and because it's using Git as the underlying

698
00:42:30,700 --> 00:42:31,700
engine, right?

699
00:42:31,700 --> 00:42:35,460
Like, if you're probably using Git for that, I would hope it's stored in something like

700
00:42:35,460 --> 00:42:40,660
Git of or within Azure DevOps, you can constantly see any of the versions that were created

701
00:42:40,660 --> 00:42:44,700
previously and the modifications that were made with inside the actual code that you're

702
00:42:44,700 --> 00:42:45,700
leveraging.

703
00:42:45,700 --> 00:42:50,620
But just like I said, you know, if you can't document it, I still believe there is a case

704
00:42:50,620 --> 00:42:55,220
for extreme documentation.

705
00:42:55,220 --> 00:43:00,980
You should be very aware of any context that is needed outside of it.

706
00:43:00,980 --> 00:43:04,700
You know, not everyone is using Bysep with the CI/CD pipeline, right?

707
00:43:04,700 --> 00:43:09,300
Like, hopefully some of it you are automating with the CI/CD pipeline, but at the end of

708
00:43:09,300 --> 00:43:11,220
the day, Bysep can be used very manually.

709
00:43:11,220 --> 00:43:17,140
You can build a Bysep file and manually deploy it and it still does ABC just like you want.

710
00:43:17,140 --> 00:43:21,620
So the idea is using something like Markdown to help document any context that's needed

711
00:43:21,620 --> 00:43:22,620
around the Bysep.

712
00:43:22,620 --> 00:43:26,460
The day all the version is maintained within the Git repos that you're hopefully storing

713
00:43:26,460 --> 00:43:30,060
your Bysep files in.

714
00:43:30,060 --> 00:43:36,460
And how do you convince traditional infrastructure teams to adapt infrastructure as a code?

715
00:43:36,460 --> 00:43:39,940
That's a great question, right?

716
00:43:39,940 --> 00:43:44,740
You know, I feel like the answer is always it depends on technology, right?

717
00:43:44,740 --> 00:43:48,540
Like, legacy infrastructure teams, you got the guys that just want to sit in front of

718
00:43:48,540 --> 00:43:50,460
the server and do the manual steps, right?

719
00:43:50,460 --> 00:43:51,780
So that's going to be a harder sell.

720
00:43:51,780 --> 00:43:54,220
But then you got the guys that are like, no, I don't want to do that.

721
00:43:54,220 --> 00:43:55,420
I want to save time, right?

722
00:43:55,420 --> 00:43:57,140
So they're building power shell scripts.

723
00:43:57,140 --> 00:44:00,980
So I think for those power shell gurus, it's an easy sell, right?

724
00:44:00,980 --> 00:44:04,860
What if I told you there was power shell, but even more verbose and you didn't have to

725
00:44:04,860 --> 00:44:06,380
be as explicit?

726
00:44:06,380 --> 00:44:08,020
I think it's an easy sell, right?

727
00:44:08,020 --> 00:44:13,340
Let's start seeing how we can use that same automation capabilities to maintain that

728
00:44:13,340 --> 00:44:15,700
adherence to the security configuration.

729
00:44:15,700 --> 00:44:23,180
Now as far as the people that aren't necessarily looking at infrastructure as code, I would say

730
00:44:23,180 --> 00:44:25,380
that it is time to start looking at that, right?

731
00:44:25,380 --> 00:44:28,580
That's going to be a harder sell because there are people who just get scared by the fact

732
00:44:28,580 --> 00:44:31,180
of automation and things of that nature.

733
00:44:31,180 --> 00:44:36,020
But I think when you look at what AI is doing in the industry and where the industry is

734
00:44:36,020 --> 00:44:40,500
going, it's going to become more and more pertinent that every organization is looking at

735
00:44:40,500 --> 00:44:42,820
infrastructure as code.

736
00:44:42,820 --> 00:44:46,340
You know, that is what AI is doing at the end of the day, right?

737
00:44:46,340 --> 00:44:51,380
And like use the tools, if you look at some of the new Microsoft models, they have M.A.I.

738
00:44:51,380 --> 00:44:52,940
1.1 code, right?

739
00:44:52,940 --> 00:44:54,620
Like it's a coding model.

740
00:44:54,620 --> 00:45:02,740
It's, we're trying to demystify how hard coding is and break it down into, hey, what is

741
00:45:02,740 --> 00:45:03,740
it that you want to do?

742
00:45:03,740 --> 00:45:04,740
Tell me what you're trying to do.

743
00:45:04,740 --> 00:45:07,220
I'll build you the script to do that, right?

744
00:45:07,220 --> 00:45:08,220
And so that is the idea.

745
00:45:08,220 --> 00:45:12,180
I think that's really where the conversation is going to lead to is like, it's not something

746
00:45:12,180 --> 00:45:13,900
to be afraid of.

747
00:45:13,900 --> 00:45:18,180
It's something that we have to embrace to become more efficient as an organization.

748
00:45:18,180 --> 00:45:26,340
That is also, I think, not the really new topic, but the, yeah, a lot of people now talking

749
00:45:26,340 --> 00:45:28,900
about policy as code.

750
00:45:28,900 --> 00:45:35,620
Can you a little bit explain what is it and how it fits into a broader governance picture?

751
00:45:35,620 --> 00:45:38,020
I can definitely take a stab at it.

752
00:45:38,020 --> 00:45:40,820
I mean, so if I look at policy as code, right?

753
00:45:40,820 --> 00:45:46,500
I mean, I have a ton of things that exist within that policy as code around the organization

754
00:45:46,500 --> 00:45:47,900
I work for in Forcer, right?

755
00:45:47,900 --> 00:45:49,500
That we are kind of policy as code.

756
00:45:49,500 --> 00:45:52,580
We are a wrapper on top of the graph API.

757
00:45:52,580 --> 00:45:56,900
So the idea is if you look at identity specifically, right?

758
00:45:56,900 --> 00:46:00,900
Conditional access as code, you know, it's, there's graph APIs.

759
00:46:00,900 --> 00:46:06,300
There's things that wrap around it to be able to then bring that into a consistent manner.

760
00:46:06,300 --> 00:46:07,660
And that's one of the things we try to do.

761
00:46:07,660 --> 00:46:09,740
If you look at Azure as code, right?

762
00:46:09,740 --> 00:46:11,660
I talked about Azure policy.

763
00:46:11,660 --> 00:46:15,020
It's one thing that gets overlooked completely, but it shouldn't, right?

764
00:46:15,020 --> 00:46:18,460
From a governance and a compliance standpoint, you know, one of the, one of the policies

765
00:46:18,460 --> 00:46:21,540
that I built out is I worked with a lot of medical companies.

766
00:46:21,540 --> 00:46:28,100
So we had to look at, if you look at Azure, there's a 476 HIPAA, you know, high, a, a, a

767
00:46:28,100 --> 00:46:31,700
line policy for governance of HIPAA organizations.

768
00:46:31,700 --> 00:46:33,980
So now I'm going to be honest.

769
00:46:33,980 --> 00:46:36,300
I looked through all 470 of those.

770
00:46:36,300 --> 00:46:37,620
There's a lot.

771
00:46:37,620 --> 00:46:43,100
There's some that are processes and procedures when it comes to the medical space, a lot of

772
00:46:43,100 --> 00:46:48,100
it relies on processes and procedures and how you're doing things as the human identity

773
00:46:48,100 --> 00:46:49,940
inside the organization.

774
00:46:49,940 --> 00:46:52,620
There are technical things that there's auditing capabilities.

775
00:46:52,620 --> 00:46:56,380
You know, you have to be able to go back at any point in time and pull the logs and look

776
00:46:56,380 --> 00:46:59,060
at, okay, did they have access from this, right?

777
00:46:59,060 --> 00:47:03,380
So did your NSGs or did your vNets have logging enabled on them?

778
00:47:03,380 --> 00:47:05,660
Did your storage accounts have logging enabled on them?

779
00:47:05,660 --> 00:47:07,140
All of that is critical.

780
00:47:07,140 --> 00:47:12,220
And that kind of ties into the full concept and the full picture of why bicep this code,

781
00:47:12,220 --> 00:47:16,820
while policy is code is such an important concept because in order to enforce those policies,

782
00:47:16,820 --> 00:47:19,780
you have to have those configuration set.

783
00:47:19,780 --> 00:47:24,460
So the policy has to ensure that there's a technical prerequisite that's being met.

784
00:47:24,460 --> 00:47:25,460
Okay, cool.

785
00:47:25,460 --> 00:47:28,100
Our policy is to ensure that we have logging for eight months.

786
00:47:28,100 --> 00:47:29,100
Cool.

787
00:47:29,100 --> 00:47:32,340
There's a technical configuration that has to be in place to ensure that logging is being

788
00:47:32,340 --> 00:47:33,340
held.

789
00:47:33,340 --> 00:47:38,260
We need a fill safe loop that goes back and says, cool, do we have those configurations

790
00:47:38,260 --> 00:47:40,780
in place and is the policy correct?

791
00:47:40,780 --> 00:47:41,780
Awesome.

792
00:47:41,780 --> 00:47:45,060
And at the end of the day, who's the human that's accountable for all of that, right?

793
00:47:45,060 --> 00:47:48,340
And that's who the owner of said governance needs to be.

794
00:47:48,340 --> 00:47:56,460
Yeah, I think a lot of companies have these, I don't know, misconception.

795
00:47:56,460 --> 00:47:59,500
We are, yeah, we are compliant.

796
00:47:59,500 --> 00:48:00,580
We have policies.

797
00:48:00,580 --> 00:48:02,580
So we are secure.

798
00:48:02,580 --> 00:48:10,820
Yeah, but we also have to do a, I think another podcast, we talk about he far and healthcare,

799
00:48:10,820 --> 00:48:13,220
I think it's also an interesting topic.

800
00:48:13,220 --> 00:48:15,460
I came from for Mittek.

801
00:48:15,460 --> 00:48:18,580
I have worked years in Mittek.

802
00:48:18,580 --> 00:48:26,740
So this is really, really, yeah, assumption yes, I don't know, remove them.

803
00:48:26,740 --> 00:48:31,860
Yeah, but yeah, let's, let's look a little bit in the future.

804
00:48:31,860 --> 00:48:32,860
Okay.

805
00:48:32,860 --> 00:48:36,940
And there it's, yeah, you are a MVP.

806
00:48:36,940 --> 00:48:42,700
So I think you were in Redmond on the MVP summit.

807
00:48:42,700 --> 00:48:46,500
So I just got my MVP status very recently.

808
00:48:46,500 --> 00:48:47,980
I missed the summit this year.

809
00:48:47,980 --> 00:48:50,900
My buddy, Louis Berry is also an MVP.

810
00:48:50,900 --> 00:48:51,900
He did go.

811
00:48:51,900 --> 00:48:55,780
So I, I heard about all the good times had and I've talked to a lot of the identity architects

812
00:48:55,780 --> 00:48:56,780
that were there.

813
00:48:56,780 --> 00:48:59,220
So I'm, I'm really excited for the next one.

814
00:48:59,220 --> 00:49:00,420
But yeah, I know, very new.

815
00:49:00,420 --> 00:49:04,500
I've been doing a lot in a space for a while, but very new to the MVP side of things.

816
00:49:04,500 --> 00:49:06,500
So I'm really excited to be here.

817
00:49:06,500 --> 00:49:08,740
Then I'm for us congratulations.

818
00:49:08,740 --> 00:49:09,740
Thank you.

819
00:49:09,740 --> 00:49:13,660
Yeah, yeah, yeah, that's really cool.

820
00:49:13,660 --> 00:49:16,300
And, but then, then it's, it's cool.

821
00:49:16,300 --> 00:49:23,700
So you can talk a little bit about what did you see in the future in the Microsoft secure

822
00:49:23,700 --> 00:49:27,620
queue road map and what excited you there most?

823
00:49:27,620 --> 00:49:28,620
Yeah.

824
00:49:28,620 --> 00:49:33,620
I, I'm going to be honest, the thing that excites me the most with Microsoft security these days

825
00:49:33,620 --> 00:49:40,700
is just how they're advancing conditional access and, and the idea of PASKIES as a whole.

826
00:49:40,700 --> 00:49:43,260
I, I think Microsoft is doing a lot.

827
00:49:43,260 --> 00:49:47,540
I mean, if you look at the recent announcements over the past few months, right?

828
00:49:47,540 --> 00:49:52,100
You know, the, the SSPR, you know, instance that we talked about, they're, they're doing

829
00:49:52,100 --> 00:49:55,340
a lot around walking these things down.

830
00:49:55,340 --> 00:50:00,140
They're doing a lot around agents in general as far as bringing those agents and creating

831
00:50:00,140 --> 00:50:04,780
this frontier model where agents are able to connect into every aspect of what you're doing

832
00:50:04,780 --> 00:50:08,540
across the Microsoft stack and provide real time value back.

833
00:50:08,540 --> 00:50:14,260
So I look at, I look at what they're doing with the security copilot agent and then, you

834
00:50:14,260 --> 00:50:16,260
know, conditional access as a whole, right?

835
00:50:16,260 --> 00:50:17,980
Like there are issues.

836
00:50:17,980 --> 00:50:21,780
Every conditional access deployment is not pristine the way it exists, right?

837
00:50:21,780 --> 00:50:28,860
And so being able to use AI to evaluate it and then being able to use the AI to then provide

838
00:50:28,860 --> 00:50:32,060
responses back where someone can communicate easily, right?

839
00:50:32,060 --> 00:50:34,380
Do a chat agent and go, okay, we'll wait a second.

840
00:50:34,380 --> 00:50:36,740
Why is that policy not working correctly?

841
00:50:36,740 --> 00:50:39,020
And then be able to dig into the Microsoft side, right?

842
00:50:39,020 --> 00:50:42,260
If we look at some of the changes, app and force restrictions have changed.

843
00:50:42,260 --> 00:50:46,660
If you look at recent updates, you know, there used to be, I, I did when I did conditional

844
00:50:46,660 --> 00:50:51,220
access, I would go check Fabian batter's introscopes every time.

845
00:50:51,220 --> 00:50:54,660
There's some low level scopes that got removed by default.

846
00:50:54,660 --> 00:50:59,500
If you excluded any service principle, well, you know, Microsoft has made changes in that

847
00:50:59,500 --> 00:51:00,500
area.

848
00:51:00,500 --> 00:51:04,140
So now those four same low level scopes that would get excluded by default are no longer.

849
00:51:04,140 --> 00:51:06,940
That was an update as of March this past year.

850
00:51:06,940 --> 00:51:11,340
Microsoft is continuing to push the limits on what they are doing when it comes to identity

851
00:51:11,340 --> 00:51:13,100
security.

852
00:51:13,100 --> 00:51:20,020
Two of the things that I guess, exactly the most are how, you know, much they are pushing

853
00:51:20,020 --> 00:51:24,100
the idea of pass keys and fight a two fishing resistant authentication.

854
00:51:24,100 --> 00:51:29,100
If you look at over the past few months, right, the introduction of synced pass keys is an

855
00:51:29,100 --> 00:51:35,420
amazing way to start bridging the gap between technical requirements and usability from a

856
00:51:35,420 --> 00:51:36,900
human perspective, right?

857
00:51:36,900 --> 00:51:40,900
The idea of if I can go to someone, it doesn't make sense.

858
00:51:40,900 --> 00:51:44,300
If I show them how a pass key works, they're going to fall asleep, right?

859
00:51:44,300 --> 00:51:46,380
If I go, yeah, well, you just take your phone.

860
00:51:46,380 --> 00:51:52,460
You see on this QR code, there's AL3, AL3, you know, encryption authentication, PK, let

861
00:51:52,460 --> 00:51:54,460
me tell you how public and private keys work, right?

862
00:51:54,460 --> 00:51:56,340
They don't care how PKI works.

863
00:51:56,340 --> 00:51:59,060
What they care about is they like their iPhone.

864
00:51:59,060 --> 00:52:01,300
They like to scan their face and get in.

865
00:52:01,300 --> 00:52:05,900
So if I can explain to them, we can replicate that exact same behavior, whether it's a Mac

866
00:52:05,900 --> 00:52:06,900
or Windows device.

867
00:52:06,900 --> 00:52:10,540
We've got Windows Hello for Business, which is going to use that same fishing resistant

868
00:52:10,540 --> 00:52:13,140
authentication, Macs with the platform.

869
00:52:13,140 --> 00:52:18,140
So using the secure enclave, touch ID, so you just click it and you're in your device,

870
00:52:18,140 --> 00:52:19,140
right?

871
00:52:19,140 --> 00:52:24,420
If they can get that same type of iPhone-like experience with all of their enterprise tools,

872
00:52:24,420 --> 00:52:31,380
it's a huge addition to being able to start to bring the average user into the ecosystem

873
00:52:31,380 --> 00:52:35,540
where fishing resistance becomes a tangible thing for a lot of people that otherwise wouldn't

874
00:52:35,540 --> 00:52:36,540
have adopted it.

875
00:52:36,540 --> 00:52:41,780
I think that's a huge point that I'm excited to see how it continues to advance.

876
00:52:41,780 --> 00:52:45,660
The new registration campaigns are pushing that and incentivizing that behavior, which I

877
00:52:45,660 --> 00:52:48,500
think is amazing for Microsoft's end.

878
00:52:48,500 --> 00:52:54,740
The other aspect is, while I have not gotten to play with it as much as I would have liked,

879
00:52:54,740 --> 00:52:59,620
is kind of a play on with the verified ID and then the account recovery process, right?

880
00:52:59,620 --> 00:53:07,340
That was a really cool implication or new technology that they added so that when you

881
00:53:07,340 --> 00:53:09,980
do get that new phone, you're not necessarily done.

882
00:53:09,980 --> 00:53:13,180
You don't have sync pass keys, but you have account recovery.

883
00:53:13,180 --> 00:53:16,580
So now if you get that new phone, you lose your phone, whatever the case may be, you can

884
00:53:16,580 --> 00:53:17,580
go in.

885
00:53:17,580 --> 00:53:22,820
If your organization has this setup, you can use another identity provider to go, "Okay,

886
00:53:22,820 --> 00:53:24,900
nope, yep, I see your government issued ID.

887
00:53:24,900 --> 00:53:25,900
That is you.

888
00:53:25,900 --> 00:53:26,900
Okay, cool.

889
00:53:26,900 --> 00:53:28,420
I'm going to generate a tap for you.

890
00:53:28,420 --> 00:53:32,300
You're going to use that tap to then bootstrap the process into getting your new fishing

891
00:53:32,300 --> 00:53:33,900
resistant credential setup.

892
00:53:33,900 --> 00:53:35,460
You never had to contact the help desk.

893
00:53:35,460 --> 00:53:37,020
You never had to get any of that done."

894
00:53:37,020 --> 00:53:40,740
That one's super exciting.

895
00:53:40,740 --> 00:53:43,140
The problem is I don't have a third party provider right now set up in my tenant because

896
00:53:43,140 --> 00:53:47,100
I'm broke and everybody, one is a real thing.

897
00:53:47,100 --> 00:53:51,660
I do need to get that going so I can do some testing there, but yeah.

898
00:53:51,660 --> 00:53:59,940
Yeah, a while, I think, two weeks, three weeks, I have started the synthetic market and it's

899
00:53:59,940 --> 00:54:09,500
around, and it's, I think, 1,300 companies between one and 1,000 users and it's run from

900
00:54:09,500 --> 00:54:18,340
the, I call it, I was the name, the gold standard, all Azure information and it's now, it's

901
00:54:18,340 --> 00:54:24,540
placed different characters or different employees and then it's learnt where security

902
00:54:24,540 --> 00:54:26,500
issues come from.

903
00:54:26,500 --> 00:54:28,580
That's what a really, really fun project.

904
00:54:28,580 --> 00:54:29,580
That's awesome.

905
00:54:29,580 --> 00:54:36,180
I got some 150,000 ad renders for free so I can't check that out.

906
00:54:36,180 --> 00:54:37,180
Oh man.

907
00:54:37,180 --> 00:54:38,180
That's awesome.

908
00:54:38,180 --> 00:54:40,340
That was really fun.

909
00:54:40,340 --> 00:54:48,180
Yeah, but that's really interesting and I think that comes a lot of new stuff and yeah.

910
00:54:48,180 --> 00:54:53,220
So yeah, let's just jump in the quick fire round.

911
00:54:53,220 --> 00:54:57,300
I say some things and you say what's come first on your mind.

912
00:54:57,300 --> 00:55:06,140
So pass, pass, versus pass keys, pass keys, as a policy or conditional access, oh, conditional

913
00:55:06,140 --> 00:55:13,020
access all day security or productivity security.

914
00:55:13,020 --> 00:55:18,180
Most on the right is Microsoft security feature.

915
00:55:18,180 --> 00:55:26,980
Most on the right Microsoft security feature defender defender.

916
00:55:26,980 --> 00:55:34,580
And when you got, when you get one day at Microsoft CEO position and you can say one thing Microsoft

917
00:55:34,580 --> 00:55:38,980
should develop tomorrow, what, what should it be?

918
00:55:38,980 --> 00:55:41,780
A true multi tenant interface.

919
00:55:41,780 --> 00:55:43,980
They, they need one.

920
00:55:43,980 --> 00:55:44,980
It's, it's hard.

921
00:55:44,980 --> 00:55:49,780
It's very, it's all very separate still and it's obvious.

922
00:55:49,780 --> 00:55:53,620
And coffee, tea or energy through red TV?

923
00:55:53,620 --> 00:55:54,620
Coffee.

924
00:55:54,620 --> 00:55:59,380
They literally have my Starbucks in hand right now.

925
00:55:59,380 --> 00:56:04,420
And is that one, your, your biggest security met?

926
00:56:04,420 --> 00:56:10,020
Biggest security met security, security defaults are secure by default.

927
00:56:10,020 --> 00:56:12,460
It's a crazy math that exists.

928
00:56:12,460 --> 00:56:13,460
They are not.

929
00:56:13,460 --> 00:56:14,460
Yeah.

930
00:56:14,460 --> 00:56:15,460
Okay.

931
00:56:15,460 --> 00:56:21,860
Now my closing question is if you, if every listener should call, implement just one change

932
00:56:21,860 --> 00:56:22,860
this week.

933
00:56:22,860 --> 00:56:26,300
And that would dramatically improve their security posture.

934
00:56:26,300 --> 00:56:28,260
What showed the B and Y?

935
00:56:28,260 --> 00:56:30,020
Interesting.

936
00:56:30,020 --> 00:56:35,260
I would say that would be authentication methods.

937
00:56:35,260 --> 00:56:38,660
I think they should look at their existing authentication methods.

938
00:56:38,660 --> 00:56:43,420
And if they have email, TOTP or SMS, they need to look at getting those cut off.

939
00:56:43,420 --> 00:56:49,380
I think using the, the higher privilege, the more secure, I've got an article on authentication

940
00:56:49,380 --> 00:56:51,300
methods on conditional access dot tech.

941
00:56:51,300 --> 00:56:55,780
Hope everyone will look at that article and kind of guide some, some context to why I'm saying

942
00:56:55,780 --> 00:56:56,780
that.

943
00:56:56,780 --> 00:56:59,780
But I think that's a critical component that's often ever worked.

944
00:56:59,780 --> 00:57:00,780
Yeah.

945
00:57:00,780 --> 00:57:05,460
So Jonathan, thank you for, for joining us today and sharing your experience on identity,

946
00:57:05,460 --> 00:57:10,060
security, conditional access, Azure governance and infrastructure as a code.

947
00:57:10,060 --> 00:57:11,060
Yeah.

948
00:57:11,060 --> 00:57:16,700
And I will say, remember in the cloud, first world security, security, identity isn't just

949
00:57:16,700 --> 00:57:19,860
a part of security is security.

950
00:57:19,860 --> 00:57:23,140
I think that's my little link for today.

951
00:57:23,140 --> 00:57:26,700
And yeah, thank you for listening to MC64 guys.

952
00:57:26,700 --> 00:57:28,780
And thank you, Jonathan for being here.

953
00:57:28,780 --> 00:57:32,580
And I hope we have another session and we talk about you and healthcare.

954
00:57:32,580 --> 00:57:33,580
Yeah.

955
00:57:33,580 --> 00:57:34,580
Yeah.

956
00:57:34,580 --> 00:57:35,580
I love that.

957
00:57:35,580 --> 00:57:36,580
Awesome.

958
00:57:36,580 --> 00:57:37,580
Thanks, Marco, for having me.

959
00:57:37,580 --> 00:57:37,580
Appreciate it.

960
00:57:37,580 --> 00:57:41,880
[indistinct]