@@ -10,9 +10,51 @@ Deploy your first confidential workload on GCP (or AWS EC2 NitroTPM) in under
1010- ` gcloud ` CLI installed and authenticated
1111
1212** AWS** (optional)
13- - AWS account with EC2 + VM Import permissions
13+ - AWS account with EC2 and EBS Direct snapshot permissions
1414- ` aws ` CLI installed and authenticated
15- - S3 bucket for AMI import (or a prebuilt Attestable AMI id)
15+
16+ The following IAM policy covers image creation, deployment, status/log access,
17+ start/stop, replacement, and removal performed by ` dstack-cloud ` :
18+
19+ ``` json
20+ {
21+ "Version" : " 2012-10-17" ,
22+ "Statement" : [
23+ {
24+ "Effect" : " Allow" ,
25+ "Action" : [
26+ " ebs:StartSnapshot" ,
27+ " ebs:PutSnapshotBlock" ,
28+ " ebs:CompleteSnapshot"
29+ ],
30+ "Resource" : " *"
31+ },
32+ {
33+ "Effect" : " Allow" ,
34+ "Action" : [
35+ " ec2:CreateTags" ,
36+ " ec2:DeleteSnapshot" ,
37+ " ec2:DescribeImages" ,
38+ " ec2:DescribeInstances" ,
39+ " ec2:DescribeSnapshots" ,
40+ " ec2:GetConsoleOutput" ,
41+ " ec2:RegisterImage" ,
42+ " ec2:RunInstances" ,
43+ " ec2:StartInstances" ,
44+ " ec2:StopInstances" ,
45+ " ec2:TerminateInstances"
46+ ],
47+ "Resource" : " *"
48+ }
49+ ]
50+ }
51+ ```
52+
53+ If ` aws_config.iam_instance_profile ` is set, also grant ` iam:PassRole ` for that
54+ specific role. ` iam:PassRole ` is not required for EBS Direct or for instances
55+ launched without an instance profile. Creating a VPC, subnet, or security group
56+ is outside ` dstack-cloud ` ; supply existing IDs in ` aws_config ` and grant their
57+ management permissions separately only when needed.
1658
1759## Install the CLI
1860
@@ -47,12 +89,15 @@ This opens an editor with the global configuration file. For GCP, configure:
4789 "zone" : " us-central1-a"
4890 },
4991 "aws" : {
50- "region" : " us-east-1" ,
51- "s3_bucket" : " your-vmimport-bucket"
92+ "region" : " us-east-1"
5293 }
5394}
5495```
5596
97+ For AWS, ` dstack-cloud ` writes the local boot, shared, and labeled-data RAW disks
98+ directly to EBS snapshots in 512-KiB checksummed blocks. It does not require an
99+ S3 bucket, a ` vmimport ` service role, or ` iam:PassRole ` .
100+
56101## Create a Project
57102
58103``` bash
0 commit comments