AWSTransformApplicationDeploymentPolicy - AWS 受管政策

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

AWSTransformApplicationDeploymentPolicy

描述:透過建立和管理 AWS 資源,讓 AWS Transform 服務部署轉換的 .NET 應用程式。此政策授予許可,以佈建基礎設施、管理運算資源,以及設定跨各種 AWS 服務的部署設定。

AWSTransformApplicationDeploymentPolicyAWS 受管政策

使用此政策

您可以將 AWSTransformApplicationDeploymentPolicy 連接至使用者、群組與角色。

政策詳細資訊

  • 類型:服務角色政策

  • 建立時間:2025 年 8 月 28 日 06:34 UTC

  • 編輯時間:2025 年 11 月 21 日 23:34 UTC

  • ARN: arn:aws:iam::aws:policy/service-role/AWSTransformApplicationDeploymentPolicy

政策版本

政策版本: v3 (預設)

政策的預設版本是定義政策許可的版本。當具有 政策的使用者或角色提出存取 AWS 資源的請求時, 會 AWS 檢查政策的預設版本,以決定是否允許請求。

JSON 政策文件

{ "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents" ], "Condition" : { "StringEquals" : { "aws:ResourceAccount" : "${aws:PrincipalAccount}" } }, "Resource" : [ "arn:aws:cloudformation:*:*:stack/AWSTransform*" ] }, { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack" ], "Condition" : { "StringEquals" : { "aws:RequestTag/CreatedBy" : "AWSTransform", "aws:ResourceAccount" : "${aws:PrincipalAccount}" } }, "Resource" : "arn:aws:cloudformation:*:*:stack/AWSTransform*" }, { "Effect" : "Allow", "Action" : [ "cloudformation:DeleteStack" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/CreatedBy" : "AWSTransform", "aws:ResourceAccount" : "${aws:PrincipalAccount}" } }, "Resource" : "arn:aws:cloudformation:*:*:stack/AWSTransform*" }, { "Effect" : "Allow", "Action" : [ "cloudformation:UpdateStack" ], "Condition" : { "StringEquals" : { "aws:RequestTag/CreatedBy" : "AWSTransform", "aws:ResourceTag/CreatedBy" : "AWSTransform", "aws:ResourceAccount" : "${aws:PrincipalAccount}" } }, "Resource" : "arn:aws:cloudformation:*:*:stack/AWSTransform*" }, { "Effect" : "Allow", "Action" : [ "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeRouteTables", "ec2:DescribeInternetGateways" ], "Resource" : "*" }, { "Effect" : "Deny", "Action" : [ "ec2:CreateTags", "ec2:DeleteTags" ], "Resource" : "arn:aws:ec2:*:*:instance/*", "Condition" : { "ForAnyValue:StringNotEquals" : { "aws:TagKeys" : [ "Name", "CreatedBy", "ApplicationName", "TransformationType", "aws:cloudformation:stack-name", "aws:cloudformation:logical-id", "aws:cloudformation:stack-id" ] } } }, { "Effect" : "Allow", "Action" : [ "ec2:CreateTags", "ec2:DeleteTags" ], "Condition" : { "ForAnyValue:StringEquals" : { "aws:CalledVia" : "cloudformation.amazonaws.com" }, "StringEquals" : { "aws:ResourceAccount" : "${aws:PrincipalAccount}" } }, "Resource" : "arn:aws:ec2:*:*:instance/*" }, { "Effect" : "Allow", "Action" : [ "ec2:RunInstances" ], "Condition" : { "ForAnyValue:StringEquals" : { "aws:CalledVia" : "cloudformation.amazonaws.com" } }, "Resource" : [ "arn:aws:ec2:*::image/*" ] }, { "Effect" : "Allow", "Action" : [ "ec2:RunInstances" ], "Condition" : { "ForAnyValue:StringEquals" : { "aws:CalledVia" : "cloudformation.amazonaws.com" }, "StringEquals" : { "aws:ResourceAccount" : "${aws:PrincipalAccount}" } }, "Resource" : [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Effect" : "Allow", "Action" : [ "iam:GetRole", "iam:GetInstanceProfile", "iam:GetRolePolicy", "iam:ListRolePolicies", "iam:ListAttachedRolePolicies" ], "Condition" : { "StringEquals" : { "aws:ResourceAccount" : "${aws:PrincipalAccount}" } }, "Resource" : [ "arn:aws:iam::*:role/AWSTransform-Deploy-Builder-Instance-Role", "arn:aws:iam::*:instance-profile/AWSTransform-Deploy-Builder-Instance-Role", "arn:aws:iam::*:role/AWSTransform-Deploy-App-Instance-Role", "arn:aws:iam::*:instance-profile/AWSTransform-Deploy-App-Instance-Role" ] }, { "Effect" : "Allow", "Action" : [ "iam:PassRole" ], "Condition" : { "StringEquals" : { "iam:PassedToService" : "ec2.amazonaws.com", "aws:ResourceAccount" : "${aws:PrincipalAccount}" } }, "Resource" : [ "arn:aws:iam::*:role/AWSTransform-Deploy-Builder-Instance-Role", "arn:aws:iam::*:role/AWSTransform-Deploy-App-Instance-Role" ] }, { "Effect" : "Allow", "Action" : [ "ssm:GetParameters" ], "Resource" : "arn:aws:ssm:*::parameter/aws/service/ami-amazon-linux-latest*" }, { "Effect" : "Allow", "Action" : [ "ec2:TerminateInstances", "ec2:StopInstances", "ec2:StartInstances", "ec2:ModifyInstanceAttribute" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/CreatedBy" : "AWSTransform", "aws:ResourceAccount" : "${aws:PrincipalAccount}" }, "ForAnyValue:StringEquals" : { "aws:CalledVia" : "cloudformation.amazonaws.com" } }, "Resource" : "arn:aws:ec2:*:*:instance/*" }, { "Effect" : "Allow", "Action" : [ "ssm:SendCommand" ], "Resource" : [ "arn:aws:ssm:*:*:document/AWS-RunRemoteScript" ] }, { "Effect" : "Allow", "Action" : [ "ssm:SendCommand" ], "Resource" : "arn:aws:ec2:*:*:instance/*", "Condition" : { "StringEquals" : { "aws:ResourceTag/CreatedBy" : "AWSTransform" } } }, { "Effect" : "Allow", "Action" : [ "ssm:DescribeInstanceInformation", "ssm:GetCommandInvocation" ], "Resource" : [ "arn:aws:ssm:*:*:*", "arn:aws:ec2:*:*:instance/*" ] }, { "Effect" : "Allow", "Action" : [ "s3:GetBucketLocation", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:PutBucketTagging" ], "Resource" : [ "arn:aws:s3:::aws-transform-deployment-bucket-*", "arn:aws:s3:::aws-transform-deployment-bucket-*/*" ], "Condition" : { "StringEquals" : { "aws:ResourceAccount" : "${aws:PrincipalAccount}" } } }, { "Effect" : "Allow", "Action" : [ "s3:ListAllMyBuckets" ], "Resource" : "*", "Condition" : { "StringEquals" : { "aws:ResourceAccount" : "${aws:PrincipalAccount}" } } }, { "Effect" : "Allow", "Action" : [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource" : "arn:aws:kms:*:*:key/*", "Condition" : { "StringEquals" : { "aws:ResourceTag/CreatedFor" : "AWSTransform", "aws:ResourceAccount" : "${aws:PrincipalAccount}" }, "StringLike" : { "kms:EncryptionContext:aws-transform" : "*", "kms:ViaService" : "s3.*.amazonaws.com" } } }, { "Effect" : "Allow", "Action" : [ "kms:CreateGrant" ], "Resource" : "arn:aws:kms:*:*:key/*", "Condition" : { "Bool" : { "kms:GrantIsForAWSResource" : "true" }, "StringLike" : { "kms:ViaService" : [ "ec2.*.amazonaws.com" ], "kms:EncryptionContext:aws:ebs:id" : "*" }, "StringEquals" : { "aws:ResourceAccount" : "${aws:PrincipalAccount}", "kms:GrantConstraintType" : "EncryptionContextSubset" }, "ForAllValues:StringEquals" : { "kms:GrantOperations" : [ "Decrypt" ] } } }, { "Effect" : "Allow", "Action" : [ "kms:GenerateDataKeyWithoutPlaintext" ], "Resource" : "arn:aws:kms:*:*:key/*", "Condition" : { "StringLike" : { "kms:ViaService" : "ec2.*.amazonaws.com", "kms:EncryptionContext:aws:ebs:id" : "*" } } }, { "Effect" : "Allow", "Action" : [ "kms:DescribeKey" ], "Resource" : "arn:aws:kms:*:*:key/*", "Condition" : { "StringEquals" : { "aws:ResourceAccount" : "${aws:PrincipalAccount}" } } } ] }

進一步了解