小编Vis*_*hal的帖子

AWS控制台上的标识池创建错误

我正在尝试在Amazon Congnito控制台上创建一个新的标识池,但是当我提交名称时它会显示一条错误消息

创建您的身份池时出现问题.请再试一次.

我已经确认我提供的池名称是唯一的,并且尚不存在.

在创建池之前是否需要执行任何前期工作?

amazon-cognito

5
推荐指数
1
解决办法
4418
查看次数

SSM 的 Boto3 AWS API 错误响应

我正在使用一个简单的 boto3 脚本从我的 aws 帐户中的 SSM 参数存储中检索参数。python 脚本如下所示:

client = get_boto3_client('ssm', 'us-east-1')
try:
    response = client.get_parameter(Name='my_param_name',WithDecryption=True)
except Exception as e:
    logging.error("retrieve param error: {0}".format(e))
    raise e
return response
Run Code Online (Sandbox Code Playgroud)

如果给定的参数不可用,我会在响应中收到一个通用错误,如下所示:

 An error occurred (ParameterNotFound) when calling the GetParameter operation: Parameter my_param_name not found.   
Run Code Online (Sandbox Code Playgroud)

我已经验证了boto3 ssm docs 的方法签名。相关的AWS API 文档确认在参数存储中不存在参数时返回 400 响应。

我的问题是如何验证响应中捕获的异常是否实际上是 400 状态代码,以便我可以相应地处理它。

python amazon-web-services boto3 aws-ssm

5
推荐指数
1
解决办法
6246
查看次数

使用 KMS 解密的 AWS SSM 参数 GET

场景:我们的一个脚本使用 boto3 kms api 通过 KMS 加密和解密来 PUT 和 GET SSM 参数。SSM param put 工作得非常好,并且在 EC2 SSM param 存储中使用安全字符串添加参数(解密为真)。我们面临的问题是在尝试获取解密为 true 的 SSM 参数值时。尝试运行以下 boto3 脚本(在运行 get_ssm_parameters_by_path 时)时,运行此脚本的相应 lambda 代码会引发以下错误:

       session = boto3.Session()
       ssm_client = session.client('ssm', 'us-east-1')
       ssm_parameters = []
       response = ssm_client.get_parameters_by_path(
         Path=self.ssm_parameter_path,
         Recursive=True,
         WithDecryption=True
       )
Run Code Online (Sandbox Code Playgroud)

ERROR:调用GetParametersByPath操作时出现错误(AccessDeniedException):密文引用的客户主密钥不存在,不存在于该区域,或者您不被允许访问。(服务:AWSKMS;状态代码:400;错误代码:AccessDeniedException;请求 ID:eaaxx-7ae7-11e8-97xx5e-b9exxxxxxx410):ClientError

我浏览了不同的 AWS 文档来使用 KMS 加密和解密,并更新了我的策略文档如下,但到目前为止还没有运气。lambda 使用的角色具有以下策略访问权限:

{
"Sid": "AllowSSMAccess",
"Effect": "Allow",
"Action": ["kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey"],
"Resource": "arn:aws:kms:us-east-1:AWS_ACCOUNT_NUMBER:key/<aws/ssm default key id>",
"Condition": {
    "StringEquals": {
        "kms:ViaService": "ssm.us-east-1.amazonaws.com",
        "kms:CallerAccount": "AWS_ACCOUNT_NUMBER"
    }
  } …
Run Code Online (Sandbox Code Playgroud)

boto3 aws-kms aws-ssm

5
推荐指数
2
解决办法
6804
查看次数

AWS CloudFront最大TTL和默认TTL缓存行为的差异

AWS CloudFront默认缓存行为允许自定义Min TTL,Max TTL和Default TTL值.我反复浏览了文档,但无法理解Default TTL和Maximum TTL之间的实际区别.例如,如果我在默认TTL中给出24小时(以秒为单位),那么在Max TTL中应用的不同持续时间会发生什么?

amazon-web-services amazon-cloudfront

4
推荐指数
1
解决办法
2139
查看次数