DevOps ngày 9 – Delegate Access Across AWS Accounts Using IAM Roles
devops
39
AWS
29
White

Cường Nguyễn viết ngày 20/10/2019

Chào mừng bạn đến Ngày 9 của 100 Ngày DevOps, Ngày 9 này tiếp tục cuộc hành trình khi nói về Quyền truy cập qua các tài khoản AWS bằng cách sử dụng các vai trò IAM

Problem :

Làm thế nào để quản lý và chia sẻ tài nguyên trong các tài khoản AWS khác nhau, tức là Người dùng trong Tài khoản B (Developer) có quyền truy Read-only vào Nhóm S3 trong Tài khoản A (Prodution).

Solution :

IAM sẽ giúp chúng ta làm việc này , bằng cách thiết lập quyền truy cập nhiều tài khoản với các vai trò IAM khác nhau .

Advantage :

  • Bạn không cần thiết lập người dùng IAM riêng lẻ trong mỗi tài khoản AWS
  • Tiếp đến người dùng không cần phải đăng xuất khỏi một tài khoản này và đăng nhập vào 1 tài khoản khác để truy cập tài nguyên của mình .

Pre-requisites :

  • Bạn cần có hai tài khoản AWS (1 Tài khoản A (Prodution) và 1 Tài khoản B (Developer))
  • 1 AWS S3 Bucket được tạo trong Tài khoản A (Prodution)

*Chúng ta thực hiện cấu hình cho việc này *.

Bước 1 : Tạo Vai trò IAM trong Tài khoản A (Điều này nhằm thiết lập sự tin cậy giữa hai tài khoản)

alt text

  • Để lấy ID tài khoản (Nhấp vào người dùng IAM trên bảng điều khiển và nhấp vào My Account )

alt text

  • Tiếp theo click Create policy và paste đoạn Json bên dưới vào

Lưu ý : Hãy thay đổi Bucket name thành Bucket name mà bạn muốn chia sẻ với Development Account or bạn có thể chọn S3ReadOnlyPolicy

{
   "Version": "2012-10-17",
   "Statement": [
     {
       "Effect": "Allow",
       "Action": "s3:ListAllMyBuckets",
       "Resource": "*"
     },
     {
       "Effect": "Allow",
       "Action": [
         "s3:ListBucket",
         "s3:GetBucketLocation"
        ],
       "Resource": "arn:aws:s3:::bucket name"
     },
     {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::bucket name/*"
    }
  ]
}

  • Click Next và đặt Role name

alt text

Bước 2 : Grant Access cho role

  • Di chuyển đến Role vừa mới tao
  • Sau đó click vào Trust relationships vào chỉnh sửa nó
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::XXXXX:root" <----
      },
      "Action": "sts:AssumeRole",
      "Condition": {}
    }
  ]
}

Bước 3 : Test lại bằng cách thực hiện chuyển đổi role

  • hãy quay lại Tab Account nhưng lần này bạn chọn vào Switch Role

alt text

  • Điền đầy đủ các chi tiết vào như bên dưới .

alt text

  • Account: Production / Account A ID
  • Role : Role mà chúng ta đã tạo trong Bước 1: S3ReadOnlyAccesstoDevAccount
  • Display Name : Tên gì mà bạn muốn (Any display name)
  • Switch Role

  • sau khi cấu hình xong bạn sẽ thấy như thế này

alt text

NOTE : không thể chuyển role khi bạn đang signed với tư cách là người dùng root tài khoản AWS.

  • Bây giờ, bạn hãy mở S3 Console và thử truy cập S3 Bucket có trong Tài khoản A Cám ơn các bạn đã quan tâm theo dõi , Chúc các bạn Thành công .

Nguồn : https://techzones.me/devops/devops-ngay-9-delegate-access-across-aws-accounts-using-iam-roles/

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Cường Nguyễn

21 bài viết.
67 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
10 4
Đây là chủ đề mình thích nhất, mỗi tuần mình dành ra 12h rãnh để viết 1 Dockerfile mình thích, sẵn để sau này có mà dùng không phải viết lại hiện ...
Cường Nguyễn viết 1 năm trước
10 4
White
6 3
Nginx một web services khá mạnh cho hiện tượng C10k . Có rất nhiều cấu hình của nó mà mình đã xem qua . Đa phần sysadmin không tìm hiểu kỹ về nó , ...
Cường Nguyễn viết hơn 1 năm trước
6 3
White
5 0
Chào mừng bạn đến với Ngày 1 trong 100 ngày của DevOps, tôi muốn bắt đầu hành trình này với một trong những khái niệm quan trọng nhất trong Giám sá...
Cường Nguyễn viết hơn 1 năm trước
5 0
Bài viết liên quan
White
2 4
Vậy là mình lại thất nghiệp. Sau thời gian trial 3 tháng, công ty đã quyết định không gia hạn thêm hợp đồng cho mình. Và mình lại thất nghiệp. Lại ...
Rice viết 2 tháng trước
2 4
White
3 0
Introduction Bài viết này sẽ đề cập tới một khái niệm quen thuộc nhưng dưới một góc nhìn của một startup CTO hoặc đơn giản là Product Owner, và ch...
ShinaBR2 viết 5 tháng trước
3 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
21 bài viết.
67 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!