DevOps (ngày 8) – Security Token Service (STS)

haha , bữa giờ chúng ta đã nhai mấy phần liên quan đến Alerting vs moniting rồi , giờ chúng ta đi 1 hướng mới hơn nhé .

Chào mừng bạn đến với Ngày 8 trong 100 ngày của DevOps, hãy tìm hiểu IAM and start with Security Token Service(STS)

AWS Security Token Service (STS) :

Đối với STS thì nó cho phép bạn gửi request yêu cầu 1 tài khoản đặc quyền tạm thời để phục vụ nhu cầu automation , và hạn chế cho Users IAM

Chúng ta bắt tay vào thực hiện luôn các bước luôn :

Bước 1 :

  • Create an IAM user
Go to AWS Console → Security, Identity, & Compliance → IAM → Users → Add user

lưu ý :

  • don’t add this user to any group or attach any existing policy
  • Keep everything default, Review and Create user

Bước 2 :

  • Create Roles
  • Choose Another AWS account
  • Tiếp đến hãy chọn vào policy (AmazonS3ReadOnlyAccess)
  • Review and create role

Bước 3 :

  • Update/Modify
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::XXXXXX:user/myteststsuser"
      },
      "Action": "sts:AssumeRole",
      "Condition": {}
    }
  ]
}
  • chỉ cho phép tài khoản root đảm nhận vai trò này

Bước 4 :

  • Thêm policy cho người dùng mà chúng ta mới tạo
Service: STS
Action: AssumeRole
Resource: ARN of the role we created earlier

Bước 5 :

là bước thực hiện test xem những gì chúng ta đã làm có đúng không .

aws configure --profile ststestprofile
AWS Access Key ID [None]: XXXXXXXX
AWS Secret Access Key [None]: XXXXXX
Default region name [None]: us-west-2
Default output format [None]: json

export AWS_PROFILE=ststestprofile


Khi bạn đặt người dùng đảm nhận Vai trò này, thì hãy tạo 1 mã thông báo tạm thời và mã thông báo bảo mật bằng cách chạy lệnh bên dưới .

aws sts assume-role --role-arn arn:aws:iam::XXXXXX:role/sts-s3-read-only --role-session-name "mytestsession"
{
"AssumedRoleUser": {
"AssumedRoleId": "XXXXXXX:mytestsession",
"Arn": "arn:aws:sts::XXXXXXX:assumed-role/sts-s3-read-only/mytestsession"
},
"Credentials": {
"SecretAccessKey": "XXXXXXX",
"SessionToken": "XXXXXXX",
"Expiration": "2018-12-18T06:47:21Z",
"AccessKeyId": "XXXXXXXXX"
}
}
export AWS_ACCESS_KEY_ID="XXXXXXX"
export AWS_SECRET_ACCESS_KEY="XXXXXXX"
export AWS_SECURITY_TOKEN="XXXXXXX"

Tiếp theo hãy thử truy cập vào S3

aws s3 ls
2019-10-03 20:53:05 cuongnp2XXXXXX
OR 

aws s3 cp bucketest s3://cuongnp2XXXXXX

upload failed: ./bucketest to s3://mytestXXXXXX/bucketest An error occurred (AccessDenied) when calling the PutObject operation: Access Denied

Mong các bạn tham gia hành trình này và dành tối thiểu một giờ mỗi ngày trong 100 ngày tiếp theo cho công việc DevOps

Chúc các bạn Thành Công .

Trả lời

Email của bạn sẽ không được hiển thị công khai.