小编Vie*_*iet的帖子

AWS IAM 强制 MFA 但允许首次更改密码

如何强制 AWS IAM 用户使用 MFA,但允许他们在首次登录时更改密码?

如果您遵循AWS 文档并强制执行 MFA,新用户在首次获得账户时将无法更改密码。

我知道您可以强制执行 MFA,也可以强制执行 MFA ,并允许用户管理自己的密码和凭据。此外,AWS 有一种方法可以解决该问题,但不建议这样做:

此示例策略不允许用户在登录时重置密码。新用户和密码过期的用户可能会尝试这样做。您可以通过将 iam:ChangePassword 添加到语句 DenyAllExceptListedIfNoMFA 来允许此操作。但是,IAM 不建议这样做。允许用户在没有 MFA 的情况下更改密码可能会存在安全风险。

那么“推荐”的方式是什么呢?

这个问题也在AWS论坛上被问到,但没有真正的答案。

amazon-web-services amazon-iam multi-factor-authentication

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

在 TypeScript 中导入 fs

我知道这似乎是一个重复的问题,但我找到的答案均无效:

在我的.ts文件中:

import * as fs from 'fs'; // error: SyntaxError: Unexpected token *
// OR
import fs from 'fs'; // error:
// import fs from 'fs';
//        ^^
// SyntaxError: Unexpected identifier

// OR

import {fs} from 'fs'; // error: module '"fs"' has no exported member 'fs'.ts(2305)


const data: [string, number] = [['one', 1],['two',2]];
function modifyThis(data: any) {
    return  data.map((element: any) => {
        element[1] = 0;
        return element;
    });
}
fs.writeFileSync('./data.txt', modifyThis(data), 'utf8');
Run Code Online (Sandbox Code Playgroud)

我确实有"@types/node": "^12.0.0"我的 …

node.js typescript

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

带有 Google Domain 的 AWS SSL 用于 S3 中的静态网站

我正在尝试将 HTTPS 添加到托管在 S3 存储桶中的静态网站,该网站的域是从 Google 的域购买的。我知道为了设置 CloudFront Distribution,我需要将 SSL 证书从 AWS Certificate Manager 发送到 Google。

这就是我所做的:

从 AWS 证书管理器:

  • 申请证书
  • 申请公共证书
  • 域名:*.myweb.commyweb.com,下面这个答案在这里
  • 验证方式:DNS验证
  • 然后我有了Name,TypeValue我的 CNAME。
  • 我去了 Google Domains,将我从 AWS 获得的值添加到:DNS/自定义资源记录,但我的 AWS Cert 请求仍处于待处理状态。我之前尝试过,但请求未被接受,因此它们已过期。

我看过指南herehereherehere,没有任何运气。

5 月 10 日更新:

非常感谢@hephalump 的帮助。除了他的回答之外,他还从 AWS向我发送了这个超级有用的链接

就我而言,它与 Geoff 的视频略有不同:

  • 创建 CloudFron 分配后,我向 AWS Route 53 托管区域添加了 2 个记录集:
Name: mywebsite.com …
Run Code Online (Sandbox Code Playgroud)

ssl amazon-s3 amazon-web-services static-site google-domains

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

AWS S3 日志删除对象?

如何使用 CloudTrail 或 CloudWatch 等 AWS 服务来检查哪个用户执行了事件DeleteObject

我可以使用 S3 事件向 SNS 发送删除事件,以通知电子邮件地址特定文件已从 S3 存储桶中删除,但该消息不包含执行此操作的用户名

我可以使用 CloudTrail 将与 S3 存储桶相关的所有事件记录到另一个存储桶,但我进行了测试,它记录了许多详细信息,并且仅记录事件PutObject而不记录DeleteObject

有没有简单的方法来监控 S3 存储桶以找出哪个用户删除了哪个文件?

8 月 19 日更新

按照下面沃尔特的回答,我能够记录该DeleteObject事件。但是,我只能获取 的文件名 ( requestParameters.key ) PutObject,而不能获取 的文件名 ( ) DeleteObjects

| # | @timestamp | userIdentity.arn | eventName | requestParameters.key |
| - | ---------- | ---------------- | --------- | --------------------- |
| 1 | 2019-08-19T09:21:09.041-04:00 | arn:aws:iam::ID:user/me | DeleteObjects |
| …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services amazon-cloudwatch amazon-cloudtrail amazon-cloudwatchlogs

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

Windows 10 WSL bash 别名

有没有办法在 Windows 10 上为 WSL Bash 创建别名?

使用 Git Bash,很容易:编辑文件.bashrcalias alias-name="command"我已经完成了我的研究,包括这些帖子12但找不到答案。

如果那不可能。是否可以将 Git Bash 设置为 Visual Studio Code 中的集成终端?

windows git bash

3
推荐指数
1
解决办法
6856
查看次数

Visual Studio Code 1.17.2 覆盖字体样式

有没有办法使用用户设置来覆盖 VSC 的默认主题样式(例如斜体或粗体注释),而不是像这里的建议那样编辑文件

我已经按照此处描述的颜色完成了此操作,但找不到 Microsoft 提供的任何有关样式的文档。

在用户设置中设置样式可以覆盖您使用的任何主题(至少是默认主题),因此您不必每次更改主题时都编辑文件。

visual-studio-code

3
推荐指数
1
解决办法
877
查看次数

brew install不链接python3

我在链接python3并将python3设置为默认python时遇到问题。

MacOS 10.13.6

这是我所做的:

$ python --version
Python 2.7.15
$ python3 --version
Python 3.7.0
$ xcode-select --version
xcode-select version 2349.
$ brew install python
...

Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python/libexec/bin
...
Run Code Online (Sandbox Code Playgroud)

没用 python仍然是2. *

$ python --version
Python 2.7.15
$ python3 --version
Python 3.7.0
$ pip --version
pip 10.0.1 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)
$ pip3 --version
pip 18.0 from /usr/local/lib/python3.7/site-packages/pip …
Run Code Online (Sandbox Code Playgroud)

macos python-2.7 python-3.x

3
推荐指数
1
解决办法
2247
查看次数

如果错误不是零,为什么返回err和nil?

我正在关注golang wiki指令并发现这令人困惑:

func loadPage(title string) (*Page, error) {
    filename := title + ".txt"
    body, err := ioutil.ReadFile(filename)
    if err != nil {
        return nil, err
    }
    return &Page{Title: title, Body: body}, nil
}
Run Code Online (Sandbox Code Playgroud)

如果错误不等于零,为什么返回零?

不应该是:

if err != nil {
    return err
}
Run Code Online (Sandbox Code Playgroud)

喜欢它在golang错误和值中描述?

return-value go

3
推荐指数
1
解决办法
1492
查看次数

Cloudformation Property validation failure: Encountered unsupported properties

I'm trying to create a nested stack with the root stack looks like this:

{
    "AWSTemplateFormatVersion": "2010-09-09",

    "Resources": {
        "DynamoDBTable": {
            "Type": "AWS::CloudFormation::Stack",
            "Properties": {
                "Parameters": {
                    "TableName": {
                        "Fn::Sub": "${AWS::StackName}"
                    }
                },
                "TemplateURL": "https://s3.amazonaws.com/my-templates-bucket/dynamodb.json"
            }
        },
        "S3WebsiteReact": {
            "Type": "AWS::CloudFormation::Stack",
            "Properties": {
                "Parameters": {
                    "BucketName": {
                        "Fn::Sub": "${AWS::StackName}-website"
                    }
                },
                "TemplateURL": "https://s3.amazonaws.com/my-templates-bucket/s3-static-website-react.json"
            }
        },
        "S3UploadBucket": {
            "Type": "AWS::CloudFormation::Stack",
            "Properties": {
                "Parameters": {
                    "BucketName": {
                        "Fn::Sub": "${AWS::StackName}-upload"
                    }
                },
                "TemplateURL": "https://s3.amazonaws.com/my-templates-bucket/s3-with-cors.json"
            }
        },
        "Cognito": {
            "Type": "AWS::CloudFormation::Stack",
            "DependsOn": "DynamoDBTable",
            "Properties": …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cloudformation amazon-cognito

3
推荐指数
1
解决办法
6134
查看次数

如何在没有加号操作的情况下在GoLang中添加字符串?

这可能是重复的,但我无法在任何地方找到正确的答案。如何在不使用+运算符的情况下在 GoLang 中添加字符串(这被认为很慢)?

我知道我可以使用但只能附加来附加到字符串。如果我想前置,我必须在前缀中写入后缀字符串,如下所示:bytes.BufferWriteString

package main

import (
    "bytes"
    "fmt"
)

func main() {
    var b bytes.Buffer 
      
    b.WriteString("W") 
    b.WriteString("o") 
    b.WriteString("r") 
    b.WriteString("l") 
    b.WriteString("d") 
   
    var a bytes.Buffer
    a.WriteString("Hello ")
    a.WriteString(b.String())
  
    fmt.Println(a.String()) 
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

string stringbuilder go

3
推荐指数
1
解决办法
7001
查看次数