• Thủ Thuật
    • Tất cả
    • cPanel
    • Direct Admin
    • Domain
    • Linux
    • WordPress

    Bảo mật đăng nhập với xác minh 2 bước

    Hướng dẫn cài đặt mô hình apache + nginx (reverse proxy)

    Hướng dẫn cài đặt mô hình apache + nginx (reverse proxy)

    Hướng dẫn chuyển Mysql sang Mariadb DirectAdmin

    Hướng dẫn chuyển Mysql sang Mariadb DirectAdmin

    Hướng dẫn cài đặt và cấu hình SpamAssassin

    Hướng dẫn cài đặt và cấu hình SpamAssassin

    Hướng dẫn nâng cấp Custombuild và các cấu hình dịch vụ trong Custombuild DirectAdmin

    Hướng dẫn nâng cấp Custombuild và các cấu hình dịch vụ trong Custombuild DirectAdmin

    Hướng dẫn cài đặt OPcache trên Direct Admin

    Hướng dẫn cài đặt OPcache trên Direct Admin

    Tệp tin php.ini nằm ở đâu ?

    Tệp tin php.ini nằm ở đâu ?

    Cách cài đặt Redis và Redis-PHP trong DirectAdmin CentOS

    Cách cài đặt Redis và Redis-PHP trong DirectAdmin CentOS

    Direct Admin là gì?

    Sao lưu toàn bộ dữ liệu với Command line trên Direct Admin

    Trending Tags

    • cPanel : Thêm addon domain trong cPanel
    • Domain : Trỏ tên miền từ Mắt Bão về Hosting
    • duplicator lê xuân hảo
    • WordPress : Lỗ hổng từ Plugins Duplicator – WordPress Migration Plugin
  • Kinh Nghiệm
    • Tất cả
    • Kinh Nghiệm Mua Hosting / VPS / Tên Miền
    • Make Money Online
    Vultr : sử dụng dịch vụ lưu trữ với cách thức tính phí theo giờ

    Đăng ký VPS tại Vultr và truy cập vào VPS

    Địa chỉ nào mua Hosting WordPress tốt để sử dụng tại trong và ngoài nước

    Địa chỉ nào mua Hosting WordPress tốt để sử dụng tại trong và ngoài nước

    Tạo Landing page và tìm kiếm khách hàng mục tiêu

    Tạo Landing page và tìm kiếm khách hàng mục tiêu

    Affiliate Marketing và hiểu rõ hơn về cách thức về luật hưởng hoa hồng

    Affiliate Marketing và hiểu rõ hơn về cách thức về luật hưởng hoa hồng

    AZDIGI : Sự khác nhau nào giữa Turbo Cloud và Hosting Shared thông thường ?

    AZDIGI : Sự khác nhau nào giữa Turbo Cloud và Hosting Shared thông thường ?

    Trending Tags

    • Howto

      [Deep Web] Setup Onion service

      Practice AWS tại localhost

      Practice AWS tại localhost

      Sử dụng API trong Zabbix

      Sử dụng API trong Zabbix

      influxdb-backup-restore

      Influxdb backup restore database

      [Tips OpenVPN Client] Một số kinh nghiệm sử dụng trên Linux

      Hướng dẫn cài đặt OpenVPN trên CentOS 7 từ A-Z

      Hướng dẫn tạo yum proxy

      Trending Tags

      • Series
        • Tất cả
        • Ansible
        • AWS
        • ELK Stack
        [AWS Certificate] Cùng nhau practice 01 – Share AMI cross account để sử dụng cho ASG

        [AWS Certificate] Cùng nhau practice 01 – Share AMI cross account để sử dụng cho ASG

        Practice AWS tại localhost

        Practice AWS tại localhost

        [Ansible] Run playbook không cần public IP và ssh keypair trên EC2 instance AWS

        High Available trong bastion host

        [AWS] High Available cho Bastion Host

        Cloudwatch monitor state instance EC2

        [AWS] Cloudwatch monitor state instance EC2

        Ansible – Playbook Testing

        Variable host trong ansible

        Monitor instance sử dụng Cloudwatch (Full)

        [AWS] Monitor instance sử dụng Cloudwatch (Full)

        Connect instance EC2 voi Session Manager

        [AWS] Connect instance EC2 voi Session Manager

        Ansible – Playbook Testing

        Ansible – Playbook Testing

        Trending Tags

          • Ansible
        • True Story

        [AWS Certificate] Cùng nhau practice 01 – Share AMI cross account để sử dụng cho ASG

        được đăng bởi Trí Trần
        06/01/2024
        trong chuyên mục AWS, Series
        6
        0
        0
        CHIA SẼ
        91
        LƯỢT XEM
        Chia sẻ lên Facebook

        Đây là series mới mình quyết định thực hiện trong quá trình ôn tập và luyện đề để thi chứng chỉ AWS.

        Khoe nhẹ mình đã pass 2 exam AWS SAA-C03 và SAP-C02, chắc sẽ viết một bài chia sẽ kinh nghiệm sau vì thật sự là lười chả biết viết gì nữa =)))

        Trong quá trình luyện đề mình thấy sẽ rất hữu ích khi vừa luyện đè vừa practice (lab) lại vì vừa hiểu sâu vừa nhớ dai hơn, hôm nay mình sẽ cùng lab thử câu hỏi sau nha.

        Câu hỏi được lấy trên examtopic, bộ đề DOP-C02: https://www.examtopics.com/discussions/amazon/view/105265-exam-aws-certified-devops-engineer-professional-dop-c02/

        A company must encrypt all AMIs that the company shares across accounts. A DevOps engineer has access to a source account where an unencrypted custom AMI has been built. The DevOps engineer also has access to a target account where an Amazon EC2 Auto Scaling group will launch EC2 instances from the AMI. The DevOps engineer must share the AMI with the target account.
        The company has created an AWS Key Management Service (AWS KMS) key in the source account.
        Which additional steps should the DevOps engineer perform to meet the requirements? (Choose three.)
        
        A. In the source account, copy the unencrypted AMI to an encrypted AMI. Specify the KMS key in the copy action.
        B. In the source account, copy the unencrypted AMI to an encrypted AMI. Specify the default Amazon Elastic Block Store (Amazon EBS) encryption key in the copy action.
        C. In the source account, create a KMS grant that delegates permissions to the Auto Scaling group service-linked role in the target account.
        D. In the source account, modify the key policy to give the target account permissions to create a grant. In the target account, create a KMS grant that delegates permissions to the Auto Scaling group service-linked role.
        E. In the source account, share the unencrypted AMI with the target account.
        F. In the source account, share the encrypted AMI with the target account.

        Okay, đáp án ở đây là ADF:

        Câu hỏi đại loại là muốn share AMI đã được encrypt từ account A đến account B để trên account B dùng AMI này cho Auto Scaling Group thì step thực hiện như thế nào?

        Bây giờ mình thử lab xem thế nào nhé, bài lab mình thử thực hiện việc share AMI encypt ở account A -> account B xem như thế nào.

        Ở account A:

        Mình đã tạo sẵn một AMI ID ami-09f1de097128509b4 như hình bên dưới, EBS volume đã được encrypt, nhưng ở đây mình dùng KMS key managed bởi chính AWS chứ không phải customer master key (CMK)

        Bây giờ mình thử share từ account A sang account B nha:

        Như bạn thấy chúng ta không thể share được, EBS encrypt bằng CKM mới có thể share AMI qua account khác.

        Step 1: Tạo CMK

        Từ AWS dashboard chúng ta vào KMS tạo một symetric key

        Đặt alias name và description

        Set admin và user permission như policy mình kèm bên dưới nha, đảm bảo sửa lại cho đúng accountID

        {
            "Version": "2012-10-17",
            "Id": "key-consolepolicy-3",
            "Statement": [
                {
                    "Sid": "Enable IAM User Permissions",
                    "Effect": "Allow",
                    "Principal": {
                        "AWS": [
                            "arn:aws:iam::314605996074:root",
                            "arn:aws:iam::122067411352:root"
                        ]
                    },
                    "Action": [
                        "kms:Create*",
                        "kms:Describe*",
                        "kms:Enable*",
                        "kms:List*",
                        "kms:Put*",
                        "kms:Update*",
                        "kms:Revoke*",
                        "kms:Disable*",
                        "kms:Get*",
                        "kms:Delete*",
                        "kms:TagResource",
                        "kms:UntagResource",
                        "kms:ScheduleKeyDeletion",
                        "kms:CancelKeyDeletion",
                        "kms:Encrypt",
                        "kms:Decrypt",
                        "kms:ReEncrypt*",
                        "kms:GenerateDataKey*",
                        "kms:DescribeKey",
                        "kms:CreateGrant",
                        "kms:ListGrants",
                        "kms:RevokeGrant"
                    ],
                    "Resource": "*"
                }
            ]
        }

         

        Step 2: Tạo lại AMI với CMK trên

        Quay lại EC2 >> AMI vào copy AMI cũ ra một AMI mới

        Chỉ đinh key mình vừa tạo khi nãy:

        Tạo xong rồi đây:

        Step 3: Share AMI với account B và test thử ASG trước khi grant quyền

        Tại account A, chúng ta share AMI như hình mình bên dưới

        Chúng ta sang account B sẽ thấy AMI được share thành công như hình

        Trước khi grant quyền cho account B có thể decrypt AMI thì mình có tạo thử Auto Scaling Group sử dụng AMI này trên account B để test thử thì đúng là không thành công.

        Vậy bây giờ mình grant thử nhé, chúng ta sẽ dùng awscli.

        aws kms create-grant \                                                                                                             
          --region eu-west-1 \
          --key-id arn:aws:kms:eu-west-1:<AccountID_A>:key/663471b2-5415-438b-be83-238a8de7579c \
          --grantee-principal arn:aws:iam::<AccountID_B>:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling \
          --operations "Encrypt" "Decrypt" "ReEncryptFrom" "ReEncryptTo" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "DescribeKey" "CreateGrant" \
          --profile accountB
        

        ARN chúng ta lấy sau khi đã tạo KMS thành công.

        Chúng ta có thể kiểm tra lại list grant bằng command sau:

        aws kms list-grants --key-id arn:aws:kms:eu-west-1:<AccountID_A>:key/663471b2-5415-438b-be83-238a8de7579c --profile accountB

        và revoke nó nếu không dùng nữa:

        aws kms revoke-grant --key-id arn:aws:kms:eu-west-1:<AccountID_A>:key/663471b2-5415-438b-be83-238a8de7579c --grant-id c1f9413a91dd3d3e5dcb5b1a686b2536a75a623ddb6c5823ead236064c9d9bb9 --profile accountB

        Role role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling bạn phải check và đảo bảo nó đã tồn tại rồi nhé, đây cũng chúng là service-linked role khi bạn tạo ASG.

        Và đây là kết quả của ASG khi bạn grant quyền cho KMS thành công, ASG cũng đã tạo được instance successful.

        Phần lab xong rồi, như vậy câu hỏi cũng dễ hiểu hơn rồi nhỉ, nhớ delete resource để tránh bị charge tiền nhé.

        Liên quan Bài đăng

        Practice AWS tại localhost
        AWS

        Practice AWS tại localhost

        30/09/2023
        173
        Ansible

        [Ansible] Run playbook không cần public IP và ssh keypair trên EC2 instance AWS

        15/06/2023
        139
        High Available trong bastion host
        AWS

        [AWS] High Available cho Bastion Host

        18/07/2021
        471
        Cloudwatch monitor state instance EC2
        AWS

        [AWS] Cloudwatch monitor state instance EC2

        12/01/2021
        187
        Ansible – Playbook Testing
        Ansible

        Variable host trong ansible

        08/01/2021
        397
        Monitor instance sử dụng Cloudwatch (Full)
        AWS

        [AWS] Monitor instance sử dụng Cloudwatch (Full)

        23/02/2021
        561
        Xem thêm
        Bài tiếp theo

        [Deep Web] Setup Onion service

        © 2019 – Syslife Blog – All Right Reserved Powered by tritran

        Recent Posts

        • [Deep Web] Setup Onion service 07/07/2024
        • [AWS Certificate] Cùng nhau practice 01 – Share AMI cross account để sử dụng cho ASG 06/01/2024
        • Practice AWS tại localhost 30/09/2023
        • Enject secrets đến pods sử dụng Vault agent 22/08/2023
        • [Ansible] Run playbook không cần public IP và ssh keypair trên EC2 instance AWS 15/06/2023

        Follow me

        Facebook LinkedIn Github Instagram

        Thông tin về Site

        Blog cá nhân đơn thuần chia sẽ kiến thức trong lĩnh vực cài đặt, quản trị và vận hành hệ thống. Mình rất vui nếu mọi người có góp ý nào khác, hãy contact mình qua email [email protected] nhé.

        Cám ơn các bạn đã ghé thăm trang web!!!

        Những người bạn

        https://jobsvina.com/

        • Thủ Thuật
        • Kinh Nghiệm
        • Howto
        • Series
          • Ansible
        • True Story

        © 2019 - Syslife Blog - All Right Reserved Powered by tritran

        Đăng nhập vào tài khoản của bạn bên dưới

        Đã quên mật khẩu?

        Điền vào các mẫu dưới đây để đăng ký

        Tất cả các trường đều được yêu cầu. Đăng nhập

        Truy xuất mật khẩu của bạn

        Vui lòng nhập tên người dùng hoặc địa chỉ email của bạn để đặt lại mật khẩu của bạn.

        Đăng nhập