簡體   English   中英

如何為 CloudFormation 中的 IndentityPoolRoleAttachment 設置動態 RoleMappings 鍵

[英]How to set a dynamic RoleMappings key for a IndentityPoolRoleAttachment in CloudFormation

我正在構建一個堆棧來初始化Cognito安裝。 作為其中的一部分,我設置了具有關聯角色的用戶組。 我需要設置Choose role from token選項,允許身份使用分配給他們的組中的角色。

這是通過做RoleMappings的對象IndentityPoolRoleAttachment對象。 這個映射對象是一個string -> object映射,其中字符串代表身份提供者。 就我而言,這是:

cognito-idp.${some-region}.amazonaws.com/${some-userpool-id}:${some-pool-client-id}

顯然,這需要基於堆棧中的值動態構建,但我還沒有找到一種以語法正確的方式來做到這一點的方法。 使用RefFn::Sub都會導致語法錯誤。 我嘗試過 yaml 和 json 語法。

我錯過了一些明顯的東西嗎?

最近遇到了這個問題,我訪問@AkkarinZA 評論中的線程

在該線程中,@mikef 的回復對我有用。 我們可以使用cognitoProvider密鑰。

RoleMappings:
     cognitoProvider:
       IdentityProvider: 
        Fn::Join:
          - ''
          - - "cognito-idp.${self:provider.region}.amazonaws.com/"
            - !Ref CustomerUserPool
            - ':'
            - !Ref CustomerUserPoolClient
       AmbiguousRoleResolution: Deny
       Type: Rules
       RulesConfiguration:
          Rules:
            - Claim: cognito:groups
              MatchType: Contains
              Value: "clients"
              RoleARN:
                { Fn::GetAtt: [UserIdentityPoolClientRole, Arn] }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM