Menu

Saturday, May 23, 2020

[AWS - IAM] การกำหนดสิทธิ์การเข้าใช้งาน โดยใช้ AWS IAM Policy เพื่อให้ใช้งาน S3 ได้เพียง bucket เดียว
[AWS - IAM] How To Grant Access To Only One S3 Bucket Using AWS IAM Policy

สมมติว่า เรามี IAM user ชื่อ my-user และ S3 bucket ชื่อ my-bucket

หากเราต้องการสร้าง policy ชื่อ My-S3-Policy เพื่อใช้กำหนดสิทธิ์ให้ my-user สามารถเข้าใช้ my-bucket ได้เพียงอันเดียว เรามีวิธีการดังนี้
  1. เข้าไปที่หน้า Policy ของ Identity and Access Management (IAM) ตามลิ้งค์นี้
    https://console.aws.amazon.com/iam/home?region=ap-southeast-1#/policies
  2. กดปุ่ม Create policy
  3. สร้าง Policy โดยมีรายละเอียดดังนี้
    • กรณีที่สร้าง Policy ในแท็บ Visual editor
      1. Service เลือกเป็น S3
      2. Action เลือกเป็น All S3 actions (s3:*)
      3. Resources ให้กำหนดค่าดังนี้
        • bucket 
          1. กดปุ่ม Add ARN
          2. กรอกข้อมูลช่อง Bucket name เป็น my-bucket
          3. กดปุ่ม Add
        • object
          1. กดปุ่ม Add ARN
          2. Bucket name กรอกข้อมูลเป็น my-bucket
          3. Object  name เลือกเป็น Any
          4. กดปุ่ม Add
    • กรณีที่สร้าง Policy ในแท็บ JSON
      • กรณีที่ต้องการใช้ Policy ที่สร้างใน Visual editor ตามข้างบนให้ใส่ข้อความดังนี้
      • {
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Sid": "VisualEditor0",
                    "Effect": "Allow",
                    "Action": [
                        "s3:GetAccessPoint",
                        "s3:PutAccountPublicAccessBlock",
                        "s3:GetAccountPublicAccessBlock",
                        "s3:ListAllMyBuckets",
                        "s3:ListAccessPoints",
                        "s3:ListJobs",
                        "s3:CreateJob",
                        "s3:HeadBucket"
                    ],
                    "Resource": "*"
                },
                {
                    "Sid": "VisualEditor1",
                    "Effect": "Allow",
                    "Action": "s3:*",
                    "Resource": [
                        "arn:aws:s3:::my-bucket/*",
                        "arn:aws:s3:::my-bucket"
                    ]
                }
            ]
        }
      • กรณีที่ต้องการใช้ Policy ที่จำกัดสิทธิ์ให้ใช้ได้เพียง budget เดียว ไม่สามารถดูรายการ bucket อื่นๆได้ ให้ใส่ข้อความดังนี้
      • {
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Sid": "VisualEditor0",
                    "Effect": "Allow",
                    "Action": "s3:*",
                    "Resource": [
                        "arn:aws:s3:::my-bucket/*",
                        "arn:aws:s3:::my-bucket"
                    ]
                }
            ]
        }
  4. กดปุ่ม Review policy
  5. Name กรอกข้อมูลเป็น My-S3-Policy
  6. กดปุ่ม Create policy
หลังจากที่สร้าง policy เสร็จแล้ว ให้ผูกสิทธิ์การใช้งานกับ my-user ดังนี้
  1. เข้าไปที่หน้า Policy ของ Identity and Access Management (IAM) ตามลิ้งค์นี้
    https://console.aws.amazon.com/iam/home?region=ap-southeast-1#/policies
  2. เลือก Policy ที่ชื่อ My-S3-Policy
  3. ไปที่แท็บ Policy usage 
  4. กดปุ่ม Attach
  5. เลือก my-user
  6. กดปุ่ม Attach policy

No comments:

Post a Comment