如何强制 AWS IAM 用户使用 MFA,但允许他们在首次登录时更改密码?
如果您遵循AWS 文档并强制执行 MFA,新用户在首次获得账户时将无法更改密码。
我知道您可以强制执行 MFA,也可以不强制执行 MFA ,并允许用户管理自己的密码和凭据。此外,AWS 有一种方法可以解决该问题,但不建议这样做:
此示例策略不允许用户在登录时重置密码。新用户和密码过期的用户可能会尝试这样做。您可以通过将 iam:ChangePassword 添加到语句 DenyAllExceptListedIfNoMFA 来允许此操作。但是,IAM 不建议这样做。允许用户在没有 MFA 的情况下更改密码可能会存在安全风险。
那么“推荐”的方式是什么呢?
这个问题也在AWS论坛上被问到,但没有真正的答案。
我知道这似乎是一个重复的问题,但我找到的答案均无效:
在我的.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"我的 …
我正在尝试将 HTTPS 添加到托管在 S3 存储桶中的静态网站,该网站的域是从 Google 的域购买的。我知道为了设置 CloudFront Distribution,我需要将 SSL 证书从 AWS Certificate Manager 发送到 Google。
这就是我所做的:
从 AWS 证书管理器:
*.myweb.com和myweb.com,下面这个答案在这里。Name,Type和Value我的 CNAME。我看过指南here,here,here和here,没有任何运气。
5 月 10 日更新:
非常感谢@hephalump 的帮助。除了他的回答之外,他还从 AWS向我发送了这个超级有用的链接。
就我而言,它与 Geoff 的视频略有不同:
Name: mywebsite.com …Run Code Online (Sandbox Code Playgroud) ssl amazon-s3 amazon-web-services static-site google-domains
如何使用 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
我在链接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) 我正在关注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错误和值中描述?
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) 这可能是重复的,但我无法在任何地方找到正确的答案。如何在不使用+运算符的情况下在 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)
有没有更好的办法?
amazon-s3 ×2
go ×2
amazon-iam ×1
bash ×1
git ×1
macos ×1
multi-factor-authentication ×1
node.js ×1
python-2.7 ×1
python-3.x ×1
return-value ×1
ssl ×1
static-site ×1
string ×1
typescript ×1
windows ×1