使用 CloudFormation 或 SAM 部署身份提供者
Deploy Identity Provider with CloudFormation or SAM
我有一个 CodeStar 项目,我使用控制台为 OpenId Connect 创建了一个身份提供者和一个身份池。这有效,我可以验证我的所有资源。我会把这个手动过程变成更自动化的过程。需要的前两件事是
- 创建身份提供者
- 为该提供商创建一个身份池。
理想的解决方案是,在 code star 项目中向 template.yml 添加一些指令,这样每次修改模板时,身份提供者都会相应地修改。
我试图查看 SAM 文档,但似乎没有对创建身份提供者有用的东西。
我查看了 CloudFormation Designer,似乎没有满足此需求的东西。这怎么可能?
我如何自动化这些信息并将其置于源代码管理之下?
CloudFormation 不支持 OpenID 或 SAML IdP。但是,所有 AWS SKD 都可以。我建议查看 CloudFormation 的 lambda-backed custom resources。
自定义资源 lambda 函数随后可以拥有您自己的 OpenID 提供程序创建实现。有关 Python or Java SKD 调用,请参阅 AWS 文档。
我发现 project 可以在 Lambda 函数中使用 python 进行设置。
我还没有尝试过(我在想办法的时候来到这里)
相关代码(设置boto IAM客户端后)
iam.create_saml_provider(SAMLMetadataDocument=doc,Name=name)
(当然)还有更多内容,但都在 github 项目中。
CloudFormation 现在支持 OpenID Connect 和 SAML 身份提供商:
AWS::IAM::SAMLProvider
resource type is used for SAML provider and AWS::IAM::OIDCProvider
用于 OpenID Connect 提供商。
我有一个 CodeStar 项目,我使用控制台为 OpenId Connect 创建了一个身份提供者和一个身份池。这有效,我可以验证我的所有资源。我会把这个手动过程变成更自动化的过程。需要的前两件事是
- 创建身份提供者
- 为该提供商创建一个身份池。
理想的解决方案是,在 code star 项目中向 template.yml 添加一些指令,这样每次修改模板时,身份提供者都会相应地修改。 我试图查看 SAM 文档,但似乎没有对创建身份提供者有用的东西。 我查看了 CloudFormation Designer,似乎没有满足此需求的东西。这怎么可能?
我如何自动化这些信息并将其置于源代码管理之下?
CloudFormation 不支持 OpenID 或 SAML IdP。但是,所有 AWS SKD 都可以。我建议查看 CloudFormation 的 lambda-backed custom resources。
自定义资源 lambda 函数随后可以拥有您自己的 OpenID 提供程序创建实现。有关 Python or Java SKD 调用,请参阅 AWS 文档。
我发现 project 可以在 Lambda 函数中使用 python 进行设置。 我还没有尝试过(我在想办法的时候来到这里)
相关代码(设置boto IAM客户端后)
iam.create_saml_provider(SAMLMetadataDocument=doc,Name=name)
(当然)还有更多内容,但都在 github 项目中。
CloudFormation 现在支持 OpenID Connect 和 SAML 身份提供商:
AWS::IAM::SAMLProvider
resource type is used for SAML provider and AWS::IAM::OIDCProvider
用于 OpenID Connect 提供商。