適用於 VPC 互連的 Identity and Access Management - Amazon Virtual Private Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

適用於 VPC 互連的 Identity and Access Management

根據預設, 使用者無法建立或修改 VPC 互連連線。若要授予對 VPC 互連資源的存取權,請將 IAM 政策連接至 IAM 身分,如角色。

如需每個動作的 Amazon VPC 動作以及支援的資源和條件金鑰清單,請參閱《服務授權參考》中的適用於 Amazon EC2 的動作、資源及條件索引鍵

範例:建立 VPC 對等互連

下列政策授予使用者許可來使用標記有 Purpose=Peering 的 VPC 建立 VPC 對等互連請求。第一個陳述式會將條件金鑰 (ec2:ResourceTag) 套用至 VPC 資源。請注意,CreateVpcPeeringConnection 動作的 VPC 資源一律是申請者 VPC。

第二個陳述式授予使用者許可來建立 VPC 對等互連資源,因此使用 * 萬用字元取代特定資源 ID。

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id:vpc/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Purpose": "Peering" } } }, { "Effect": "Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id:vpc-peering-connection/*" } ] }

下列政策授予指定 AWS 帳戶中的使用者許可來使用指定區域中任何 VPC 建立 VPC 對等互連,但前提是接受對等互連的 VPC 是特定帳戶中的特定 VPC。

{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id-1:vpc/*" }, { "Effect": "Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id-1:vpc-peering-connection/*", "Condition": { "ArnEquals": { "ec2:AccepterVpc": "arn:aws:ec2:region:account-id-2:vpc/vpc-id" } } } ] }

範例:接受 VPC 對等互連

下列政策授予使用者許可接受來自特定 AWS 帳戶的 VPC 對等互連請求。這有助於防止使用者接受來自不明帳戶的 VPC 互連連線請求。該陳述式使用 ec2:RequesterVpc 條件金鑰強制執行此作業。

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action": "ec2:AcceptVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id-1:vpc-peering-connection/*", "Condition": { "ArnEquals": { "ec2:RequesterVpc": "arn:aws:ec2:region:account-id-2:vpc/*" } } } ] }

下列政策授予使用者許可,在 VPC 具有 Purpose=Peering 標籤時接受 VPC 對等互連請求。

{ "Version": "2012-10-17", "Statement":[ { "Effect": "Allow", "Action": "ec2:AcceptVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id:vpc/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Purpose": "Peering" } } } ] }

範例:刪除 VPC 對等互連

下列政策授予指定帳戶中的使用者許可來刪除任何 VPC 對等互連,但使用相同帳戶中所指定 VPC 的 VPC 對等互連除外。此政策同時指定 ec2:AccepterVpcec2:RequesterVpc 條件金鑰,因為 VPC 可能已是原始 VPC 對等互連連線請求中的申請者 VPC 或對等 VPC。

{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action": "ec2:DeleteVpcPeeringConnection", "Resource": "arn:aws:ec2:region:account-id:vpc-peering-connection/*", "Condition": { "ArnNotEquals": { "ec2:AccepterVpc": "arn:aws:ec2:region:account-id:vpc/vpc-id", "ec2:RequesterVpc": "arn:aws:ec2:region:account-id:vpc/vpc-id" } } } ] }

範例:在特定帳戶內運作

下列政策授予使用者許可使用特定帳戶內的 VPC 對等互連。使用者可以檢視、建立、接受、拒絕和刪除 VPC 對等互連連線,前提是他們全部都在相同的 AWS 帳戶內。

第一個陳述式授予使用者許可來檢視所有 VPC 對等互連。在此情況下,Resource 元素需要 * 萬用字元,因為此 API 動作 (DescribeVpcPeeringConnections) 目前不支援資源層級許可。

第二個陳述式授予使用者許可來建立 VPC 對等互連,並存取指定帳戶中的所有 VPC,才能這麼做。

第三個陳述式使用 * 萬用字元做為 Action 元素的一部分,以授予許可執行所有 VPC 對等互連動作。條件金鑰可確保僅對 VPC 對等互連連線(VPC 為該帳戶的一部分)執行動作。例如,如果接受者或申請者 VPC 位於不同的帳戶中,則使用者無法刪除 VPC 對等互連。使用者無法建立 VPC 位於不同帳戶的 VPC 互連連線。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DescribeVpcPeeringConnections", "Resource": "*" }, { "Effect": "Allow", "Action": ["ec2:CreateVpcPeeringConnection","ec2:AcceptVpcPeeringConnection"], "Resource": "arn:aws:ec2:*:account-id:vpc/*" }, { "Effect": "Allow", "Action": "ec2:*VpcPeeringConnection", "Resource": "arn:aws:ec2:*:account-id:vpc-peering-connection/*", "Condition": { "ArnEquals": { "ec2:AccepterVpc": "arn:aws:ec2:*:account-id:vpc/*", "ec2:RequesterVpc": "arn:aws:ec2:*:account-id:vpc/*" } } } ] }

範例:使用主控台管理 VPC 對等互連

若要在 Amazon VPC 主控台中檢視 VPC 互連連線,使用者必須具備使用 ec2:DescribeVpcPeeringConnections 動作的許可。若要使用 Create Peering Connection (建立對等連線) 頁面,使用者必須具備使用 ec2:DescribeVpcs 動作的許可。這會授予他們許可來檢視和選取 VPC。您可以將資源層級許可套用至所有 ec2:*PeeringConnection 動作 (但 ec2:DescribeVpcPeeringConnections 除外)。

下列政策授予使用者許可來檢視 VPC 對等互連,以及使用 Create VPC Peering Connection (建立 VPC 對等互連) 對話方塊僅利用特定申請者 VPC 來建立 VPC 對等互連。如果使用者嘗試建立與不同申請者 VPC 的 VPC 互連連線,則請求會失敗。

{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action": [ "ec2:DescribeVpcPeeringConnections", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Effect":"Allow", "Action": "ec2:CreateVpcPeeringConnection", "Resource": [ "arn:aws:ec2:*:*:vpc/vpc-id", "arn:aws:ec2:*:*:vpc-peering-connection/*" ] } ] }