在AWS Cognito中,为避免意外删除用户池,可以使用资源策略来限制用户删除操作。以下是一个资源策略示例,可以添加到用户池中:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyDeleteUserPool",
"Effect": "Deny",
"Principal": "*",
"Action": [
"cognito-idp:DeleteUserPool",
"cognito-idp:DeleteUserPoolClient",
"cognito-idp:DeleteUserPoolDomain"
],
"Resource": [
"arn:aws:cognito-idp:::userpool/",
"arn:aws:cognito-idp:::userpool//client/*",
"arn:aws:cognito-idp:::userpool//domain/*"
]
}
]
}
该策略将禁止任何用户执行“DeleteUserPool”、“DeleteUserPoolClient”和“DeleteUserPoolDomain”操作,以保护用户池。如果需要进行用户池删除操作,可以为执行此操作的用户添加相应的IAM权限。
要将资源策略添加到用户池中,可以使用AWS控制台或AWS CLI。使用AWS CLI的示例命令如下:
aws cognito-idp update-user-pool --user-pool-id --resource-server "$(
其中,“policy.json”是包含资源策略的文件路径。