Điểm:0

Cấu hình IAM cho phép tạo Mạng con VPC IPV6 ở một số vùng. Tại sao nó thất bại ở các khu vực khác?

lá cờ br

Trong môi trường thử nghiệm để mô phỏng sự cố lớn hơn, tôi có một người dùng IAM có hồ sơ IAM được đính kèm trực tiếp. Tôi cũng đã thử với hồ sơ được đính kèm với Vai trò IAM mà người dùng IAM đã đảm nhận.

Cấu hình cho phép CloudFormation tạo VPC với mạng con IPv6CidrBlock và IPv6Cidr. Ngăn xếp đám mây này luôn được tạo tốt ở us-east-1 và một số khu vực khác. Sau khi thử nghiệm thêm các khu vực khác luôn thất bại. Việc tạo mạng con IPv6 không thành công. Điều tra cho thấy rằng một hành động hồ sơ IAM bổ sung, "ec2:DescribeNetworkAcls" là cần thiết cho một số khu vực. Ví dụ: us-east-1 và eu-west-2 không yêu cầu hành động bổ sung. eu-central-1 và một số khu vực khác yêu cầu hành động hồ sơ IAM bổ sung.

  1. Có bất kỳ lý do đã biết nào cho yêu cầu khác nhau này giữa các khu vực không? Có bất kỳ cài đặt dịch vụ EC2 hoặc VPC nào có thể được truy vấn để thấy sự khác biệt không?
  2. Tại sao CloudTrail không ghi lại thông báo lỗi khi cấu hình IAM thiếu hành động "ec2:DescribeNetworkAcls"?
  3. Đối với các khu vực bị lỗi trước đó, khi hành động được thêm vào hồ sơ IAM, khi kiểm tra lại, CloudTrail không ghi lại sự kiện thành công có tên "DescribeNetworkAcls" mặc dù CloudTrail ghi lại tất cả các sự kiện liên quan khác.

Lỗi hiển thị trong CloudFormation, mặc dù không phải CloudTrail:

"Trạng thái tài nguyên": "CREATE_FAILED",
Id logic: Mạng con,
"Trạng thái tài nguyênLý do": 
"Không thể truy xuất thuộc tính Ipv6CidrBlocks cho AWS::EC2::VPC, có thông báo lỗi Bạn không được phép thực hiện thao tác này. (Dịch vụ: Ec2, Mã trạng thái: 403, ID yêu cầu: XXX, ID yêu cầu mở rộng: null).. .

Khi xảy ra lỗi, việc thêm hành động Chính sách IAM sau đây sẽ giải quyết vấn đề. Mặc dù tên sự kiện này chưa bao giờ được CloudTrail ghi lại:

"ec2:DescribeNetworkAcls"

Mẫu cấu trúc đám mây:

---
AWSTemplateFormatVersion: '2010-09-09'
Mô tả: 'Kiểm tra ngăn xếp'
Tài nguyên:
  phó chủ tịch:
    Loại: AWS::EC2::VPC
    Tính chất:
      CidrBlock: 172.16.0.0/16
      EnableDnsSupport: đúng
      EnableDnsHostname: true
      InstanceTenancy: mặc định

  VPCPv6:
    Loại: AWS::EC2::VPCCidrBlock
    Tính chất:
      AmazonProvidedIpv6CidrBlock: đúng
      VpcId: !Ref VPC

  Mạng con:
    Loại: AWS::EC2::Mạng con
    Phụ thuộc:
      - VPCPv6
    Tính chất:
      CidrBlock: 172.16.254.0/23
      Ipv6CidrBlock: !Select [0, !Cidr [!Select [0, !GetAtt 'VPC.Ipv6CidrBlocks'], 1, 64]]
      MapPublicIpOnLaunch: sai
      VpcId: !Ref VPC

Chính sách IAM

{
    "Phiên bản": "17-10-2012",
    "Bản tường trình": [
        {
            "Sid": "CloudFormationStackActions",
            "Hiệu ứng": "Cho phép",
            "Hoạt động": [
                "sự hình thành đám mây:CreateStack",
                "thông tin đám mây:UpdateStack",
                "cloudformation:DescribeStacks",
                "sự hình thành đám mây:DescribeStackEvents",
                "sự hình thành đám mây:ListStackResources"
            ],
            "Nguồn": [
                "*"
            ]
        },
        {
        {
            "Sid": "KIỂM TRAVPCIPv6Subnet",
            "Hiệu ứng": "Cho phép",
            "Hoạt động": [
                "ec2:TạoVpc",
                "ec2:Tạo mạng con",
                "ec2:AssociateVpcCidrBlock",
                "ec2:AssociateSubnetCidrBlock",
                "ec2:ModifyVpcAttribute",
                "ec2:DescribeVpcAttribute",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets"
            ],
            "Nguồn": [
                "*"
            ]
        }
    ]
}

Để tái tạo:

  • Lưu văn bản tạo đám mây ở trên vào tệp có tên "a-test-stack-template.yaml"
  • Đặt biến bash tạm thời có tên aws_cred_profile với tên hồ sơ thông tin đăng nhập aws sẽ được sử dụng cho các lệnh aws cli. Các khoản tín dụng phải là của người dùng IAM có đính kèm hồ sơ IAM ở trên. Sử dụng mặc định nếu chỉ có một bộ thông tin xác thực
aws_cred_profile=mặc định
  • Các lệnh AWS CLI để kiểm tra mô hình mẫu:
aws_region=eu-central-1

# aws cli tạo ngăn xếp
test_env=$(ngăn tạo đám mây aws --region $aws_region --no-cli-pager \
--profile $aws_cred_profile --disable-rollback \
--stack-name test-$(date +%Y%b%d-%H%M%S) \
--template-body file://a-test-stack-template.yaml \
| sed -r -e 's/.*:stack\/(.*)\/.*/\1/' | sed '1d' | sed '2d')

tiếng vang $test_env

# lặp lại các lệnh gọi tới list-stack-resource cho đến khi quá trình tạo ngăn xếp hoàn tất
aws cloudformation list-stack-resources --region $aws_region --no-cli-pager \
--stack-name=$test_env --max-items=3

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.