Tạo IAM Policy

Tạo IAM Policy

Ở phần trước, các policies sẽ được phân thành 5 chức năng khác nhau, nếu muốn, bạn có thể tuỳ ý chỉnh sửa và kết hợp chúng để phù hợp với các yêu cầu thực tiễn mà mình đang hướng tới hoặc muốn áp dụng.

Ngoài ra, trong bài thực hành này, các AWS Regions sau đây sẽ được mặc định sử dụng nhằm tăng cường giới hạn hơn nữa đối với Resource Tags.

  • us-east-1 (North Virginia)
  • us-west-1 (North California)

Các bước tạo IAM Policy

  1. Đăng nhập vào AWS Management Console và truy cập đến IAM Management Console.

IAM Policy

  1. Ở thanh điều hướng bên tay trái, chọn Policies và nhấn nút Create policy.

IAM Policy

  1. Ở màn hình tạo mới, chúng ta chọn JSON và điền đặc tả chính sách của mình vào.

    • Trong ví dụ này, chúng ta sử dụng chính sách ec2-list-read
    • Chọn Next: Tags.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ec2listread",
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*",
                "ec2:Get*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "us-east-1",
                        "us-west-1"
                    ]
                }
            }
        }
    ]
}

IAM Policy

  1. Để cấu hình mặc định. Chọn Next: Review để tiến hành kiểm tra.

IAM Policy

  1. Điền tên cùng với miêu tả cụ thể.

    • Name: ec2-list-read
    • Description: ec2-list-read
    • Tiến hành tạo bằng cách nhấn Create Policy.

IAM Policy

  1. Tạo Policy thành công.

IAM Policy

Chính sách - ec2-create-tags

  1. Ở thanh điều hướng bên tay trái, chọn Policies và nhấn nút Create policy.

IAM Policy

  1. Ở màn hình tạo mới, chúng ta chọn JSON và điền đặc tả chính sách của mình vào. Trong ví dụ này, chúng ta sử dụng chính sách ec2-create-tags.

IAM Policy

  1. Chọn Next: Tags.

IAM Policy

  1. Để cấu hình mặc định. Chọn Next: Review để tiến hành kiểm tra.
  2. Thông tin:
    • Name: ec2-create-tags
    • Description: ec2-create-tags
    • Mô tả: Chính sách này sẽ cho phép tạo ra các thẻ dành cho dịch vụ EC2, kèm với điều kiện thực thi là khi chúng ta tiến hành tạo một EC2 instance.
    • Tiến hành tạo bằng cách nhấn Create Policy.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ec2createtags",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "RunInstances"
                }
            }
        }
    ]
}

IAM Policy

  1. Tạo Policy thành công.

IAM Policy

Chính sách - ec2-create-tags-existing

Thông tin:

  • Name: ec2-create-tags-existing
  • Description: ec2-create-tags-existing
  • Mô tả: Chính sách này cho phép user gán thẻ cho các tài nguyên thuộc dịch vụ EC2 khi thỏa cả ba điều kiện:
    • Thẻ được gán trên tài nguyên EC2 là cặp giá trị “Key=Team,Value=Alpha”
    • Tag key được gán của tài nguyên EC2 bao gồm Team và Name
    • Thẻ được yêu cầu gán phải là cặp giá trị “Key=Team,Value=Alpha”
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ec2createtagsexisting",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/Team": "Alpha"
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": [
                        "Team",
                        "Name"
                    ]
                },
                "StringEqualsIfExists": {
                    "aws:RequestTag/Team": "Alpha"
                }
            }
        }
    ]
}

Chính sách - ec2-run-instances

Thông tin:

  • Name: ec2-run-instances
  • Description: ec2-run-instances
  • Mô tả: Chính sách này sẽ được chia làm 2 phần:
  • Phần đầu tiên: Cho phép tạo ra EC2 instance khi và chỉ khi các điều kiện về AWS RegionsResource Tags được thoả mãn.
  • Phần còn lại: Cho phép tạo ra các tài nguyên liên quan tại thời điểm chúng ta tiến hành tạo EC2 instance, kèm với điều kiện về AWS Regions.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ec2runinstances",
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "us-east-1",
                        "us-west-1"
                    ],
                    "aws:RequestTag/Team": "Alpha"
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": [
                        "Name",
                        "Team"
                    ]
                }
            }
        },
        {
            "Sid": "ec2runinstancesother",
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:key-pair/*",
                "arn:aws:ec2:*::snapshot/*",
                "arn:aws:ec2:*:*:launch-template/*",
                "arn:aws:ec2:*:*:volume/*",
                "arn:aws:ec2:*:*:security-group/*",
                "arn:aws:ec2:*:*:placement-group/*",
                "arn:aws:ec2:*:*:network-interface/*",

                "arn:aws:ec2:*::image/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "us-east-1",
                        "us-west-1"
                    ]
                }
            }
        }
    ]
}

Chính sách - ec2-manage-instances

Thông tin:

  • Name: ec2-manage-instances
  • Description: ec2-manage-instances
  • Mô tả: Chính sách này cho phép thực hiện những thao tác cơ bản (reboot, terminate, start, stop) đối với EC2 instances, kèm với điều kiện AWS Regions và Resource Tags phải được thoả mãn.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ec2manageinstances",
            "Effect": "Allow",
            "Action": [
                "ec2:RebootInstances",
                "ec2:TerminateInstances",
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/Team": "Alpha",
                    "aws:RequestedRegion": [
                        "us-east-1",
                        "us-west-1"
                    ]
                }
            }
        }
    ]
}

Sau khi hoàn tất, bạn sẽ có 5 EC2 policies như dưới đây:

IAM Policy