首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用CDK添加AWS Cognito用户池角色

使用CDK添加AWS Cognito用户池角色
EN

Stack Overflow用户
提问于 2020-06-01 18:45:07
回答 3查看 1.3K关注 0票数 6

我已经将https://github.com/aws-samples/amazon-elasticsearch-service-with-cognito部署到我的堆栈,并且正在尝试按照https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/fgac.html#fgac-walkthrough-iam添加一个master

因此,我添加了以下https://github.com/aws-samples/amazon-elasticsearch-service-with-cognito/blob/master/lib/search-stack.ts#L50

代码语言:javascript
复制
diff --git a/lib/search-stack.ts b/lib/search-stack.ts
index 85de0c0..2493c92 100644
--- a/lib/search-stack.ts
+++ b/lib/search-stack.ts
@@ -3,7 +3,7 @@

 import { Fn, Stack, Construct, StackProps, CfnParameter, CfnOutput } from '@aws-cdk/core';
 import { CfnDomain } from '@aws-cdk/aws-elasticsearch';
-import { UserPoolAttribute, CfnUserPoolDomain, CfnIdentityPool, CfnIdentityPoolRoleAttachment, CfnUserPool } from '@aws-cdk/aws-cognito';
+import { UserPoolAttribute, CfnUserPoolDomain, CfnIdentityPool, CfnIdentityPoolRoleAttachment, CfnUserPool, CfnUserPoolGroup } from '@aws-cdk/aws-cognito';
 import { Role, ManagedPolicy, ServicePrincipal, FederatedPrincipal } from '@aws-cdk/aws-iam';
 import { CustomResource } from '@aws-cdk/aws-cloudformation';

@@ -55,6 +55,19 @@ export class SearchStack extends Stack {
       }, "sts:AssumeRoleWithWebIdentity")
     });

+    // create two groups, one for admins one for users
+
+    new CfnUserPoolGroup(this, "AdminsGroup", {
+      groupName: "master-user-group",
+      userPoolId: idPool.ref,
+
+    });
+
+    new CfnUserPoolGroup(this, "UsersGroup", {
+      groupName: "limited-user-group",
+      userPoolId: idPool.ref,
+    });
+
     const esRole = new Role(this, "esRole", {
       assumedBy: new ServicePrincipal('es.amazonaws.com'),
       managedPolicies: [ManagedPolicy.fromAwsManagedPolicyName("AmazonESCognitoAccess")]
~

但是在重新部署之后,角色不会被创建!

任何建议都是非常感谢的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-12-03 05:35:37

从版本1.1.1开始,amazon-elasticsearch-service-with-cognito code包括细粒度访问控制的配置,包括一个称为"es-admins“的Amazon Cognito组,以及所需的角色解析。

票数 1
EN

Stack Overflow用户

发布于 2020-06-02 07:29:07

好的,我需要使用:

代码语言:javascript
复制
    new CfnUserPoolGroup(this, "AdminsGroup", {
      groupName: "master-user-group",
      userPoolId: userPool.ref
    });

    new CfnUserPoolGroup(this, "UsersGroup", {
      groupName: "limited-user-group",
      userPoolId: userPool.ref
    });

代替idPool.ref

票数 5
EN

Stack Overflow用户

发布于 2021-02-24 10:58:27

从AWS CDK v1.91.0开始,使用userPoolId而不是ref

代码语言:javascript
复制
import * as cognito from '@aws-cdk/aws-cognito';

//...

const userPool = new cognito.UserPool(this, 'UserPool', {
  //...
});

new cognito.CfnUserPoolGroup(this, "ManagerGroup", {
  groupName: "manager",
  userPoolId: userPool.userPoolId
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62130416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档