你好 AWS - 身份验证模块 | Mendix

跳到主要内容

Hello AWS – 身份验证模块

我最近在 YouTube 上发布了一个名为 HelloAWS 的新系列。为了配合视频,我认为创建一系列博客会很有帮助——在博客中,我可以添加尽可能多的细节,而不必担心时间过长。就像视频一样,这个系列将以 AWS 和如何在 AWS 中使用其服务为中心。 Mendix.

我们一直在努力创造一系列连接器,以便 AWS服务 更容易以低代码方式使用。在本系列中,我将介绍每个模块的工作原理,并向您展示如何在您的 Mendix 发展。

如果你想使用这些很棒的新连接器,你首先必须验证你的 Mendix 应用程序,因此我们将在本视频中对其进行查看。

快速了解一下我将在本系列中介绍的 AWS 模块和连接器:

  • AWS 身份验证
  • 亚马逊重新认识
  • AWS Lambda
  • Amazon DynamoDB
  • 亚马逊SNS
  • 亚马逊Textract
  • 亚马逊波莉
  • 亚马逊翻译
  • Amazon S3
  • 亚马逊EventBridge

下载

要开始设置,我们可以点击 Studio Pro 中的购物车图标,在侧窗口中打开市场面板。搜索“AWS 身份验证连接器”并单击以打开它。接下来,我们可以单击下载,然后选择将其添加为新模块,然后单击导入进行确认。

静态凭证与会话凭证

根据 Marketplace 中的描述,该模块支持两种形式的 AWS 身份验证。首先,我们有静态凭证,然后我们有基于会话的凭证。

有什么不同?

静态凭证 使用访问密钥和密钥组合工作,大多数开发人员可能对此更熟悉。但是,这种方法不太安全,如果有人获得这些凭据,您的应用可能会面临风险。

基于会话的凭证 使用仅在短时间内有效的短期令牌。它通过使用 AWS 新的 Roles Anywhere 功能预先建立信任来实现。建立信任后,您可以生成 sigv4 标头以签署对 AWS 的请求。

什么是 sigv4 标头?

Signature Version 4 是 AWS 签名协议,它是授权 AWS 服务的 REST API 请求所必需的。换句话说,它们是您需要添加到 REST 调用中的特殊标头,以便安全地连接到 AWS。

创建信任锚

我们将登录 AWS 控制台进行此构建的下一部分。登录后,在搜索栏中的任意位置搜索角色。

这里我们需要在 Roles Anywhere 中创建一个角色。这是一个快速的三步过程。首先,我们需要创建一个信任锚。因此单击按钮。

确保屏幕顶部的区域正确,因为这需要与您的 AWS 项目以及稍后的 Mendix 应用程序。

接下来输入信任锚的名称 - “HelloAWS”。现在我们需要提供一个证书颁发机构。我们可以使用 AWS 证书管理器创建私有 CA,也可以创建自己的 CA。

有关如何创建自己的 CA 的更多信息, 阅读我的同事 Joe Robertson 的博客 如何安全地连接 AWS 服务。

接下来,我们需要选择“上传外部证书包”,然后我们可以在文本编辑器中打开我们的证书。复制证书中的所有内容,包括 开始结束 证书行,然后将其粘贴到空格中。要确认,请点击屏幕底部的“创建信任锚”

创建 IAM 用户

此过程的第二步是创建一个新的 IAM 角色。在此之前,我们必须为该角色创建一个配置文件。单击配置配置文件

在第二步中单击“创建新角色”。然后选择创建自定义信任策略并粘贴此 JSON:

{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"rolesanywhere.amazonaws.com"
},
"Action":[
"sts:AssumeRole",
"sts:SetSourceIdentity",
"sts:TagSession"
]
}
]
}

然后,您必须为该策略添加权限,这是您选择要使用的 AWS 服务的部分。我将选择 Amazon Rekognition,因为我将在下一个视频中使用它。我将选择完全访问选项 - 但您应该将其限制为您的应用程序在实际场景中所需的权限。最后,为您的新角色输入一个名称(我将把我的角色命名为 HelloAWS),然后单击底部的“创建角色”。

AWS 控制台中的最后一步是使用我们刚刚创建的角色创建配置文件,因此在 Roles anywhere 仪表板上,向下滚动到策略,我们将创建一个配置文件。只需为其命名,选择我们创建的角色,附加所需的任何策略 - 我将再次使用 Amazon Rekognition,然后单击屏幕底部的“创建”。

获取会话凭证

现在,我们可以直接调用我们的操作来获取我们想要的会话凭证。如果我在 Studio Pro 中打开它,你会看到它需要来自 AWS 控制台的一些详细信息。它基本上需要我们刚刚配置的所有内容,而你主要将这些内容作为角色、配置文件和信任锚的 ARN 提供。

之后,我们可以将凭证传递到 GetSigv4 标头操作中,该操作将生成标头来签署我们的请求

现在需要注意的是,如果您将此模块与另一个模块(例如 Amazon Rekognition 模块)一起使用,则实际上不应直接调用它。相反,Amazon Rekognition 模块已设置为执行此操作,并且只需要您使用常量配置正确的应用程序。

上传证书

你需要做的最后一件事是确保你的 Mendix 应用程序可以访问我们上传到 AWS 控制台的同一 CA。我们需要提供证书的文件路径。这里需要特别注意的是,AWS 需要此证书采用 .pem 格式,但 Mendix 期望它采用 .pfx 格式。Joe Robertsons 博客再次详细介绍了如何执行此操作。如果您的证书格式正确,那么我们只需要提供它在驱动器上所在的文件路径以及您在将其转换为 pfx 格式时为证书设置的密码。如果您要将应用程序部署到云,那么您还必须在云平台中配置它。

在微流中调用模块

最后,您可以调用操作来获取您的凭据,我可以运行我的应用程序并进行测试。查看下面的屏幕截图以了解其工作原理 - 或者更好的是,如果您还没有看过视频,请观看。

结语

值得注意的是,在使用任何其他连接器时,您不必担心创建自己的 Sigv4 标头,甚至不必调用获取凭证操作。其他连接器旨在为您处理此问题,只要您注意正确配置所有必需的常量,它们就会自动为您获取凭证。在本系列的下一次更新中,我将介绍 Amazon Rekognition 以及如何使用 AWS Rekognition 连接器中的检测自定义标签操作。

请记住,如果您在任何时候遇到困难,请务必查看我们的文档和 AWS 文档页面。我们已尽力为您提供尽可能多的信息,以确保您取得成功。我还建议您参加 Mendix 关于 AWS 的研讨会。

下次再见!

补充阅读

选择你的语言