Jeff Taylor高级产品经理,Bharat Bhat市场营销主管开发者关系

在这个大量演示的环节中,我们将介绍新开发人员版,并探索Okta如何使所有开发人员更容易保护应用程序、保护api和插入DevOps自动化。

加入我们,我们向您展示下一代Auth工具。

视频记录

大家好,感谢大家参加今天的节目。我是Bharat Bhat,负责Okta的开发者关系营销。我们很高兴来到swampp,今天我们邀请了Stephen Chin加入我们。我现在把它交给他,让我们开始吧。嘿,Bharat,非常感谢你的介绍,正如我们昨天在主题演讲中所展示的,对于swapamp来说,拥有一个合作伙伴的生态系统,他们可以为你的整个DevOps管道提供更好的价值,这对整个DevOps社区和我们所有客户的成功至关重要,我们昨天谈到过关于如何更好地集成协作工具、可观察性工具和ITSM工具,我认为这是基础设施的关键部分,我们真的没有讨论过,这节课将具体讨论如何在整个DevOps管道中更好地集成身份验证。这涵盖了从工件管理到能够识别和验证在管道中提交版本的开发人员,再到做审批门,然后弄清楚如何安全地将事情推到下一个阶段,分发,在你分发东西之前,你可以有应用程序标识符,一直到有一个单独的窗格来查看你的整个DevOps管道。所以我认为JFrog平台和Okta的故事是我们合作伙伴战略中非常令人兴奋的一部分。我很高兴你们能邀请我来参加这次关于身份验证的讲座谢谢你们,巴拉特和杰夫。

谢谢你,史蒂夫。我们很高兴来到这里,也很高兴能成为合作伙伴。你知道,在Okta,在过去的6-8个月里,我们谈论了很多关于开发人员的重要性,开发人员已经变得非常重要。你知道,他们在一个组织的各个部分都是非常重要的影响者,是当今企业成功不可或缺的一部分。不管你在哪个行业或垂直领域。开发人员在构建新的应用程序和体验以及推动创新方面发挥着重要作用。

他们可能并不总是掌握预算的人,但他们的意见越来越重要。在Okta,当他们使用我们的技术时,我们希望尽一切努力与他们互动,并创造良好的开发体验。但你知道,就像你们大多数人加入一样,你知道,今天的开发者有很多事情要做。而且,你知道,他们被要求为企业和客户解决越来越复杂的问题。他们被要求尽快完成。这就是我们重新构想Okta开发平台和Okta开发体验的真正原因,以加快应用程序开发人员生命周期和整个开发人员工具链的生产时间。

我们已经推出了新的开源工具,并与应用生成器(如J hipster)、Heroku平台和API网关(如Kong)进行了更紧密的集成,因此旅程的每一步都可以更快、更大规模地完成。这包括我们用JFrog做的自动化工作。我们的目标是与开发人员见面,而不是让他们先了解身份的所有细微差别,然后再发现如何经常提供帮助。我们想从一开始就提供帮助。我们还希望确保开发人员在遇到困难时能够得到帮助,因此我们加强了专门的开发人员支持和社区,聘请了最流行的语言和框架专家,以便他们能够在需要的时候以及如何得到答案。

所有这些创新都将极大地改善我们的开发体验,正如你们所知道的,开发人员正在创建的任何创新或解决方案都必须知道底层技术是安全的。这意味着今天开发者面临着许多挑战,新的业务需求,新的攻击向量,最新的技术创新都需要他们去理解和执行。就像有数百万的信号进入,你知道,风险。为了做到这一点,了解这些威胁信号到底发生了什么可疑的演员,所有这些都是很难做到的当你独自做的时候。所以我们正在努力让这变得更容易。

开发人员需要在整个应用程序开发生命周期中实现自动化。在DevOps和用于认证的CI\CD方面,对于部署来说尤其如此。

我们最近发布了由产品和工程支持的更新terrform提供者,因此开发人员可以在Okta开发、测试和生产租户之间推动配置,以支持CI\CD管道的自动化。我们还希望确保组织能够通过应用程序、api和基础设施的单一窗格无缝地控制对云原生部署的访问。

为此,今年,我们还将整合我们的CIAM功能或客户身份访问管理,为越来越多地转向基础设施即代码的组织提供无缝体验。而且,你知道,我们在swapamp这里,我们真的想强调,你知道,与JFrog的真正伟大的合作伙伴关系,我们实际上正在增强Okta没有JFrog和JFrog不能做的一些功能,你知道,没有我们也不能做。关于认证,包括N和Z认证。所以,你知道,非常复杂或突出的身份验证和授权用例。所以我们在CI\CD和DevOps方面集成了JFrog。我们正在与Kong进行API安全方面的集成,在未来,我们将更多地转向云原生和Kubernetes。所以,在接下来的几个月里,我们可以期待一些这样的东西。

正如我经常说的,我们Okta在这里帮助您保护您的应用程序,api和基础设施,以便您可以专注于创新和发展您的业务。现在,我将把它交给杰夫,他将向你们展示所有的部件是如何组合在一起的。

谢谢Bharat,重申一下,在整个过程中,我们真正关注的是开发人员,我们真正关注的是如何利用开发人员在部署和管理应用程序时所经历的所有步骤。

我们在4月份宣布了一个全新的完整功能的初始开发者版,每月有15000名活跃用户免费使用,目的是让你起床运行,让你的应用程序成熟,而不必担心成本。

与此同时,我们正在重新设想我们的示例可以帮助您有效使用Okta的方式,并了解Okta提供的不同特性如何在应用程序工作流中发挥作用。我们还想加强我们的文档来解释一些深层次的概念,你需要理解应用的认证,以便为你的应用做出正确的决定。然后,正如你所提到的,与开发人员工具集成将使这个过程更快。然后在你的应用需要成熟和改变的时候关注成熟度。

将强大的基础设施作为代码使用,将配置作为代码使用,就像terraform这样的工具,它们现在处于早期访问阶段,可用于管理所有这些配置。这只是说说而已。但是让我们看一看它是怎么运作的。我想从一个简单的例子开始,对吧?比如,我们需要建立一个应用程序,我们有这样一个想法,我们可以建立一个在线小吃菜单。我们想让它快速运行起来。

我们要做的第一件事是创建一个脚手架,我们要怎么做以最快的方式进入市场?

我们可以利用像jhipster这样的快速开发工具,我们可以根据我们认为必要的标准来创建应用。

这个工具的一个伟大之处在于,它允许您填写一份关于您的应用程序所需的所有样板需求的问卷。

如果你看得很快,当我们建立我们想要的应用程序连接方式时,我们已经创建了一个OIDC应用程序。这只是基于消费者的应用程序的标准,但你注意到那里有一个Okta和另一个解决方案Kiko的插件,你也可以选择你喜欢的前端形式,有任何JavaScript风格的反应,可能是角或视图。然后你要填写所有你想要的东西看看这个应用是如何被创建的。

这里重要的是,如果你说我想让我所有的应用都有一个特定的集合,我想让它们有一个管理界面,我想让它们以某种方式配置。jhipster代表了一个工具包,它允许你确保所有的应用程序都以相同的方式部署。

这允许你在开发一个应用程序和另一个应用程序的开发人员之间无缝切换,因为他们都来自同一个堆栈,甚至这些变化都可以被最小化,当你试图管理一个产品套件中的所有应用程序时,这些变化会造成很多头痛。现在我们要做的是完全构建整个程序并启动应用程序的本地版本。如你所见,我们已经完成了,我们的应用应该最终构建好了,从这里开始,到这里结束。我们现在应该启动我们的j嬉皮士应用程序了。

我们现在要做的是部署它。所以我们要看看我们如何部署Heroku,并将其投入生产,比如状态,也许,也许Dev,但在线,所以我们可以看到它是如何运行的。

有趣的是,你在j hipster, Heroku和Okta之间有一个插件。大家都知道,在你做这个之前,auth是我们必须处理的重量级新闻之一。我们要如何登录用户?根据我在产品方面的经验,我们把这推迟到最后的责任时刻,所以我们真的不用担心。但正如你看到的,我用的是我启动J hipster应用程序时创建的凭证,我正在登录。我还提供了一个Okta添加。你在这里看到的是Okta, J hipster和Heroku把所有的部件放在一起,在我们准备好发布的时候配置Okta。在这里同样重要的是,当我让这个自然的CI\CD过程实时运行时,是回顾许多你必须做出的决定。

回到平台作为一种服务,比如Heroku,比如JFrog管道。此外,像Cloud Foundry这样的公司在部署我们的软件方面做得非常好,在解决如何跨标准部署我们的软件方面做得非常好,我们需要使其有效。

我认为有很多决策需要考虑,其中有几个需要考虑的是我如何向我的客户提供新功能?我想使用AB测试吗?我希望有一个受保护的路由,只有特定的客户被路由到?我想有一个无缝切割,我推出功能在一个蓝绿色的方法?我该如何应对这些发生的变化呢?我要如何获得批准?我怎么知道开发人员没有在产品经理的批准之外推送代码?这些都是非常重要的问题。这还不包括我们如何确保代码的功能,比如运行烟雾测试,运行前后验证测试,只是为了确保所有东西都安全成功地到达客户手中。

所有这些决定都需要运营方面和DevOps工程师进行大量的规划,以确保站点保持正常,保持活跃和安全。我们不想做的是我们不想在这个过程中插入auth干扰。因此,我们在这里所做的是,我们试图将你必须为认证做出的决定与你必须为CI\CD管道做出的决定分开。当你考虑如何部署时,这变得越来越有效这涉及多个应用程序。

在app1和appin中这样做是有区别的。如果我们在所有这些我们正在部署的不同应用程序中都有定制的CI\CD管道,那么它对运营商社区的实际服务有多好?这意味着我们实际上必须横向扩展,而这并不是真正有效的。再一次,我真的想表明这是发生在真正的时间当我们完成CI \ CD的过程,我们建立和压缩我们所有的工件,叫出我们所看到的可能性与JFrog合作是我们必须存储这些工件的地方,我们必须检索它们,这样做对我们有机会在一起,我们感觉我们会有一个强大的解决方案,并确保这些应用程序也建造,编译和部署安全。

我们只有几秒钟的时间来部署我们应该可以开始运行了。我实际上会跳过这个,我们会进入它应该是什么样的。现在让我们来看看我们部署的应用程序。记住,我们在把身份验证放到这里时没有触及任何代码。

当我点击登录按钮时,我被重定向到Okta,在那里我可以输入我的用户名和密码。

当我点击登录时,我将被重定向回应用程序。现在,我们已经登录了。同样,我使用快速原型工具j hipster引导我的应用程序,并经常部署它。现在我可以登录了。这只花了我们几分钟的时间,主要花在决定如何构建应用,以及如何部署应用上。

我们来搅局一下,好吗?我在职业生涯早期就了解了应用连续体。这是我能够与模型的概念和平共处的一种方式,模型已经在我的生活中运行了很多年,我真的有点担心我们将如何开始打破它们,因为我们如何将这个大型应用程序变成第二个版本这个古老的问题总是在遥远的地方隐约出现。所以我从应用连续体中学到的是,倾听你的应用是如何成熟和制作的,并在事情开始变得明显时开始打破它。

让我们举个例子。现在我们收到很多顾客的请求他们把我们在网站上列出的零食放到API中,让我们的一些顾客可以消费。可能用于市场营销或在他们的网站上展示可用的产品。这里的建议是建立一个轻量级的API我们会很快地做这个,就像我在模拟一个工程师说,是的,我可以很快地做这个。下面是API契约的样子。

当我把它推到这里时,有一件重要的事情要注意,它没有固定。它是公开的,不安全,这可能不是我们想要的部署方式。那么,我们如何在这个API端点中构建安全性,同时不给开发人员带来太多负担,以应对不断变化的客户需求呢?

这就是API访问网关发挥作用的地方。它们是一个很好的工具,可以拦截你的API请求,并在上面插入安全性。同样,它们代表了一种集中式解决方案,允许您标准化如何进行交互和拦截,从而确保在所有应用程序中维护安全性。

在这个例子中,我们将为我们的堆栈API设置一个简单的路由。然后我们会经历不安全感和一些简单的步骤。

关于调用,我想强调的是调用有一个扩展的设置集,你可以用它来控制api的安全性。我们要做的是看一下我们在设置这个的时候可以做的一些变化。

我喜欢的一个例子是能够限制某些方法。假设我现在有一个关于零食的操作。我有一些单页应用程序需要请求这些信息。所以我觉得也许我可以只给他们零食列表,没有特别的安全性,我实际上可以在get上保护放置、张贴补丁和删除,并确保get是打开的。

现在我们来谈谈如何保护它。所以你可能会想,好吧,我要学习OAuth。所以我可以有效地做这个。嗯,没那么快。Kong有一个开放ID连接库,可以让你简单地配置。

现在,如果您将它与Okta的API和访问管理相结合,我们将为您提供所需的一切。它有四个主要属性,客户端ID和标识它的秘密,颁发者(授权服务器的位置),最后是一个自定义范围,允许您为调用应用程序的颜色定义授权。很快地,我定义了下一个作用域。现在,我将点击保存,我的api现在是安全的。只需要几个简单的步骤,你就能看到所有你可以为你的应用程序设置的扩展属性,但只需要这四个属性,和几个简单的步骤,我们就能保护我们的api。

好吧,让我们来确保它能像预期的那样工作。让我们看看调用这些api时会发生什么。当我在这里调用时,我会快速地输入我的零食端点,我会看到一些有趣的事情发生,它会让我知道拦截实际上正在发生,我会看到重定向指示,嘿,发生了一些事情,它被暂时移动了。

那我们就用一些假客户ID和秘密来确保它的安全。我们期望在这里看到的是请求被拒绝,并显示401和一条消息,说您未经授权,对吗?开始吧。所以我们知道应用程序是安全的。但我们也必须确保它是可访问的。因此,让我们使用一个真实的客户机ID和一个真实的秘密运行最后的测试,看看会发生什么。

现在我把这个放进去。我点击返回。希望我能拿回我的零食合同。看,我现在得到了这个。快速回顾一下,我们都做了些什么。

用一些基本的脚手架和模板设置我们的应用程序,使用auth启动和运行,并使用Kong和成熟的应用程序实际保护我们的端点。这花了我们8到10分钟。那么,如果我们更进一步,会发生什么呢?

现在我们必须扩大这个平台。这发生在很多方面。在某些情况下,你可能会让你的客户渴望获得预先发布的新功能,这样你就可以得到一些反馈,他们就可以对即将发布的东西产生兴趣。因此,您可能希望引入类似用户验收测试环境的东西,该环境模仿开放的prod,但只对选定的一组用户开放。

我们希望这是一种刺激,但我们也不想自己重建所有的基础设施。

类似地,如果您正在寻求扩展,可能会扩展到您的云提供商的不同可用性区域,或者尝试在全球范围内进行解释,以满足您的原籍国以外的一些客户的需求。

在这些场景中,您希望尽可能与您的基础设施相似,但在另一个位置复制。类似地,如果你想建立弹性,这是现在的热门话题确保你有灾难恢复或容错能力,你想确保你在以类同群地复制。在过去,这样做是试图用基本的机器来匹配其他网站的服务器规格,这是非常非常困难的,也很昂贵。但现在随着容器化和云提供商的出现,我们实际上可以非常快速地做到这一点,而且可以通过基础设施和代码配置来实现。

我想说的另一件事是,如果你的商业模式改变了,客户想要以一种不同的方式与你互动,比如说你将进入一个多租户模式。

现在,你实际上必须提供租户,这是一个有趣的部分,因为它可能不像基础设施那么昂贵,但你仍然需要以同样的方式创建配置和对象,但在一个新的架构,一个新的空间。让我们来看看terraform能做些什么来帮助我们做到这一点。正如Bharat前面提到的,Okta提供的terraform提供商现在已经被引入到产品中,并在整个产品生命周期中进行维护和增长。

我们不断地添加新功能,以确保我们与管理sdk,甚至与我们的新产品齐平,我们确保你能看到这些尽快进入环境。

很快地,在这个例子中,我们已经收集了所有的Okta配置,现在我们允许你把这个Okta配置打包到Kubernetes容器中,在这个例子中,和你做任何其他事情的方式一样。

这意味着在您走向成熟的道路上成为一个强大的沉默的合作伙伴,我们不希望auth成为一个前沿,它将占用您的时间来单独的会议,以确定您将如何处理基础设施的所有Okta部分。

我们希望与你同行,以确保无论你最终在哪里,auth都与你同在。正如你们在这里看到的,有几件事花费了最长的时间是你们真正需要考虑的事情。我想如何部署这些容器?更重要的是,当我们进入这些DNS的AWS记录时,我要如何将这些东西连接在一起?

这些确实是你需要考虑的一些最重要的事情。但我们不希望你从这些循环中花时间去深入思考认证,以及如何以同样的方式复制。因此,快速回顾一下我们为这个复制的基础设施部署网络的最后一部分,在过去的12到14分钟里,我们已经看到了我们如何快速地构建一个应用程序,快速地建立原型,部署它,使它活跃起来,成熟起来,把它从一个庞然大物分解成微服务,最后,复制我们所有的基础设施,以应对不断变化的客户需求和不断变化的业务需求。所有这一切都可以通过Okta为您提供的工具来实现。再说一次,我对我们与JFrog建立的合作关系感到非常兴奋JFrog的产品也是如此。

为了快速结束,现在我们已经完成了部署,我想回顾一下初始开发者版,这是一个行动呼吁,让你们开始Okta的开发之旅。

如果你访问developer.okta.com,你可以很容易地注册,免费获得所有这些功能。我想说的是授权,这就是我们谈论的API和访问管理,与其他身份提供者集成的b2b集成,自适应MFA,能够探索多因素身份验证如何为您的用户和您的场景工作。另一个需要调用的是访问我们的Okta集成网络,使用大量预先构建的连接器,允许您做许多事情。我还要感谢你们今天来参加我们的发布会。

我要把它还给史蒂夫,让他来总结一下。看到所有这些技术结合在一起真是太棒了,我很兴奋能够开发J hipster应用程序,并将其与Okta连接起来。我要开始讲这个了。

你们推出的开发者版入门版非常棒,只是为了让开发者开始构建应用程序并让它运行起来。我们有类似的JFrog免费层,所以你也可以使用它的免费版本部署到Artifactory。

我有一个关于技术和不同Java框架的问题,你支持哪些。所以你展示了jhipster和像Kong这样的API网关,连接其他Java框架有多容易?假设我使用Spring Boot或微配置文件或korkis,开发人员将其连接到Okta有多容易?是的,我们为Java和Java spring预先构建了sdk。对于我们通过API访问的传统路线提供的其他一些口味,您将完全访问我们的API。

现在,我们正在根据需求和需求为这些sdk构建一个全面的库。我们一直在关注趋势是什么,比如,我们知道在服务器端渲染和一些JavaScript框架方面肯定有一些动作在进行。这些是我们真正关注的东西。我们与客户接触并与他们交谈也很有帮助,你知道,哪些技术让你兴奋?哪些事情会对你产生影响?而且,就像,你知道,进入智力讨论,你知道,这些技术有什么吸引力,这样我们就可以和你在一起支持,并确保在你最喜欢的语言和框架上,旅程始终保持简单。

很酷,我在模仿我们想让观众做的行为,并提出问题。希望大家已经在问巴拉特和杰夫的问题了。还要大声告诉我们你在JavaScript, Java, Python或go开发中使用的框架,这样Okta的人就知道什么是流行的,他们需要更好地集成。还有一个简单的问题,因为你之前谈到了安全Bharat,你知道,它有点被太阳风黑客搞砸了,这只是一个关于供应链安全的普遍问题。那么开发人员为什么要关心安全性呢?喜欢为什么?

你知道,我们已经很好地处理了基本的网络认证,我们为什么要关心呢?

杰夫,如果你想[听不清],我会接受这个说法,但是,你知道,我认为,你知道,当你想到已经发生的最大的漏洞时,很多都是因为没有实施正确的代码,实际上是在内部做的。所以,你知道,通常如果你是微软的商店,你会使用Azure活动目录或类似的东西,它是内置的,但如果你自己写,你知道,这真的,真的,你在冒巨大的风险。您不仅要冒巨大的风险,而且还要投入大量的开发人员资源和时间来弄清楚LIDC到底是什么?2022世界杯阿根廷预选赛赛程2.0到底是什么?比如,在你真正实现这些东西之前,你必须做很多概念性的学习,而且,你没有在最佳实践中做这些事情。所以,当你在编写自己的安全代码时,当你使用自己的认证代码时,有很多威胁向量是开放的,在Okta,我们一路上遇到了这些问题,所以我们知道它们是什么,我们知道避免这些陷阱的最佳方法,而且,你知道,为开发人员节省时间的事情,我认为这是一件大事。这样你就可以去做,你知道,你真正想做的事情,也就是,你知道,开发令人惊叹的应用程序,或者,你知道,发展你的业务,不管是什么,但另一方面,你要承担巨大的风险。所以,你知道,只是一个小错误和代码打开了一个,你知道,一个威胁向量。所以,我认为,从更大的角度来说,史蒂夫,我认为,你知道,我想说的是,它不仅仅是保护你的应用程序,对不起,它不仅仅是保护你的应用程序和api。再说一次,我们正在构建这些复杂的方法,通过Kong和其他工具来增强API的安全性,但对于那个信息站点也是如此。那么我如何自动化这些东西呢?那么最终的结果是什么呢?

它最终导致了大的安全问题,信息保护,治理。

如何保护自己,如何进行权限访问管理?当你使用Okta时,所有这些东西都会出现。假设,所以,你知道,我喜欢……和你们说话,JFrog,我爱说,你知道,自动由JFrog Okta获得的,你知道,所以你得到的,你这样的事情,你知道,当你思考和规划如何构建应用程序或您的业务增长,你不需要担心,部分因为我们照顾的重任。我们告诉你它是安全的。

我们有SLA说,好吧,你会得到所有的信号,这些信号是威胁向量。

我们会帮你的。

我希望这能回答……不,不,我认为这很有说服力。它与构建、发布、验证和保护应用程序的整个平台紧密联系在一起。所以我认为这不仅节省了时间,而且避免了对公司、应用程序和用户的重大威胁,这一点很关键。这是一次很棒的会议。

非常感谢你邀请我和你一起做这件事。我希望所有人都能享受今天合伙人日剩下的环节。因此,我期待着与Okta的合作,并与你们一起工作。非常感谢。

非常感谢各位。

谢谢你们邀请我们。

要么快速释放,要么死亡