Skip to main content

AWS permissions

CloudYali reads your AWS account through a read-only IAM role that its CloudFormation stack creates, with one inline policy and five CloudYali managed policies. The role can read billing, resources and recommendations; it cannot create, change or delete anything in your account.

Who can assume the role​

Role nameGenerated by CloudFormation: CloudYali-ReadOnly-AccessRole-<id>-CrossAccountRole-<id>
Trusted principalThe IAM user cloudyalisync in CloudYali's AWS account, 310957700191
Conditionsts:ExternalID must equal the external ID CloudYali generated for this connection
Templateonboarding_iam_role.tmpl, linked from the console's Open in AWS Console button

The external ID is a 15-character value, new for every connection. Do not change it: CloudYali cannot assume the role without it.

Policies​

PolicyGrantsUsed for
CloudYaliReadOnlyAccess (inline)Describe*, Get* and List* actions across 204 AWS services; listed belowResource Inventory, Cost Explorer data, budgets, Savings Plans, CloudTrail events, savings rules
CloudYali-CUR-S3-Policy-<id>s3:Get*, s3:List* on the report bucket onlyReading the Cost & Usage Report files
CloudYali-CostUsageReport-Policy-<id>cur:List*, cur:Describe*, bcm-data-exports:GetExport, ListExports, GetTableReading the report definition
CloudYali-CostOptHubReadOnly-<id>cost-optimization-hub:Get*, List*Cost Savings recommendations
CloudYali-ComputeOptReadOnly-<id>compute-optimizer:Describe*, Get*Rightsizing recommendations
CloudYali-TrustedAdvisor-Policy-<id>support:Describe*, trustedadvisor:Describe*Trusted Advisor checks

Read-only​

Every action the role carries reads: Describe*, Get*, List* and their batch forms. The role has no permission to create, change or delete anything, from your workloads to your account settings.

CloudYali reads AWS's recommendations through Cost Optimization Hub but does not turn it on. To see them in Cost Savings, turn on Cost Optimization Hub in the account, and Compute Optimizer for its rightsizing recommendations.

What else the stack creates​

ResourceDetails
S3 bucket cloudyali-cur-<id>Private, public access blocked; files expire after 200 days. AWS's billing services can write to it; the CloudYali role can read it
Cost & Usage Report CloudYali-CUR-<id>Daily, compressed CSV, with resource IDs, delivered to the bucket under daily-v1/
Custom resourceCalls CloudYali when the stack is created, with the role ARN, account ID and report details, so the console can confirm the connection

All read actions​

Every action in the inline policy, by service (204 services)
Service prefixActions
a4bGet*, List*
accessanalyzerList*
acmDescribe*, Get*, List*
acm-pcaList*
airflowGet*, List*
amplifyList*, Get*
apigatewayGet*
appflowList*, Describe*
application-autoscalingDescribe*
applicationinsightsDescribe*, List*
appmeshDescribe*, List*
apprunnerDescribe*, List*
appstreamDescribe*, Get*, List*
appsyncGet*, List*
apsDescribe*, Get*, List*
athenaList*, Batch*, Get*
auditmanagerGet*
autoscalingDescribe*
autoscaling-plansDescribe*
backupDescribe*, Get*, List*
batchList*, Describe*
bedrockGet*, List*
bedrock-agentGet*, List*
bedrock-agent-runtimeGet*, List*
bedrock-runtimeGet*, List*
braketGet*
budgetsDescribe*
ceDescribe*, Get*, List*
chatbotDescribe*, Get*
chimeGet*, List*
cloud9Describe*, List*
clouddirectoryList*, Get*
cloudformationDescribe*, Get*, List*
cloudfrontGet*, List*
cloudhsmList*, Describe*, Get*
cloudsearchDescribe*, List*
cloudshellGet*
cloudtrailDescribe*, Get*, List*, LookupEvents
cloudwatchDescribe*, Get*, List*
codeartifactDescribe*, Get*, List*
codebuildBatchGet*, List*
codecommitBatchGet*, Get*, List*
codedeployBatchGet*, Get*, List*
codeguru-profilerDescribe*, Get*, List*
codeguru-reviewerDescribe*, Get*, List*
codepipelineList*, Get*
codestarList*, Describe*, Get*
codestar-notificationsList*
cognito-identityList*, Describe*, Lookup*
cognito-idpAdminGet*, AdminList*, List*, Describe*, Get*
cognito-syncList*, Describe*, Get*, QueryRecords
comprehendDescribe*, List*
comprehendmedicalDescribe*, List*
compute-optimizerDescribe*, Get*
configDescribe*, Get*, List*
configserviceDescribe*
connectList*, Describe*, Get*
dataexchangeList*
datapipelineDescribe*, Get*, List*
datasyncDescribe*, List*
daxDescribe*, Get*, List*
deepcomposerGet*, List*
detectiveGet*, List*
devicefarmList*, Get*
devops-guruDescribe*, List*
directconnectDescribe*
discoveryDescribe*, List*, Get*
dlmGet*, List*
dmsDescribe*, List*
dsCheck*, Describe*, Get*, List*, Verify*
dynamodbDescribe*, Get*, List*
ec2Describe*, Get*
ec2messagesGet*
ecrDescribe*, Get*, List*
ecr-publicDescribe*, List*, Get*
ecsDescribe*, List*
eksDescribe*, List*
elastic-inferenceDescribe*, List*
elasticacheDescribe*, List*
elasticbeanstalkDescribe*, List*
elasticfilesystemDescribe*, List*, Describe*
elasticloadbalancingDescribe*
elasticmapreduceDescribe*, List*
elastictranscoderList*
elemental-appliances-softwareGet*, List*
esDescribe*, List*, Get*
eventsDescribe*, List*
firehoseDescribe*, List*
fisGet*, List*
fmsGet*, List*
forecastDescribe*
freertosDescribe*, List*
fsxDescribe*, List*
gameliftList*, Get*, Describe*
geoDescribe*, Get*, List*
glacierList*, Describe*, Get*
globalacceleratorDescribe*, List*
glueGet*, List*
grafanaDescribe*, List*
greengrassDescribe*, Get*, List*
groundstationDescribe*, Get*, List*
guarddutyDescribe*, Get*, List*
healthDescribe*
healthlakeDescribe*, Get*, List*
iamGet*, List*
imagebuilderGet*, List*
importexportGet*, List*
inspectorDescribe*, Get*, List*
iotDescribe*, Get*, List*
iotanalyticsDescribe*, List*, Get*
ioteventsDescribe*, List*
iotfleethubDescribe*
iotsitewiseDescribe*, Get*, List*
iotwirelessGet*, List*
ivsGet*, List*
kafkaDescribe*, Get*, List*
kendraDescribe*, List*
kinesisDescribe*, Get*, List*
kinesisanalyticsDescribe*, Discover*, Get*, List*
kinesisvideoDescribe*, Get*, List*
kmsDescribe*, Get*, List*
lambdaList*, Get*
lexGet*, List*
license-managerGet*, List*
lightsailGet*
logsDescribe*, Get*, FilterLogEvents, List*
lookoutvisionDescribe*, List*
machinelearningDescribe*, Get*
macieList*
macie2Describe*, List*, Get*
mediaconnectDescribe*, List*
mediaconvertDescribe*, Get*, List*
medialiveDescribe*, List*
mediapackageDescribe*, List*
mediastoreDescribe*, Get*, List*
mediatailorGet*, List*
mghDescribe*, Get*, List*
mgnDescribe*, Get*
mobileanalyticsGet*
mobilehubDescribe*, Get*, List*
mobiletargetingGet*
mqDescribe*, List*
network-firewallDescribe*, List*
networkmanagerDescribe*, Get*
opsworksDescribe*, Get*
opsworks-cmDescribe*, List*
organizationsDescribe*, List*
outpostsGet*, List*
personalizeDescribe*, Get*, List*
piDescribe*, Get*
pollyDescribe*, Get*, List*
qldbDescribe*, List*
quicksightDescribe*, Get*, List*
ramGet*, List*
rdsDescribe*, List*
redshiftDescribe*
rekognitionList*
resource-groupsGet*, List*
robomakerDescribe*, Get*, List*
route53Get*, List*
route53domainsGet*, List*
route53resolverList*
s3Get*, List*
s3controlGet*
sagemakerDescribe*, List*
savingsplansDescribe*, List*
schemasDescribe*, Get*, List*
sdbGet*, List*
secretsmanagerList*
securityhubDescribe*, Get*, List*
serverlessrepoList*, Get*
servicecatalogList*, Describe*
servicediscoveryGet*, List*
servicequotasGet*, List*
sesGet*, List*, Describe*
shieldDescribe*, List*
signerDescribe*, Get*, List*
sms-voiceList*, Get*
snowballGet*, Describe*, List*
snsGet*, List*
sqsGet*, List*
ssmDescribe*, Get*, List*
ssm-contactsDescribe*, Get*, List*
ssm-incidentsGet*, List*
ssoDescribe*, Get*, List*
sso-directoryDescribe*, List*
statesList*, Describe*, Get*
storagegatewayDescribe*, List*
stsGet*
swfDescribe*, Get*, List*
syntheticsDescribe*, Get*, List*
tagGet*
timestreamDescribe*, List*
transcribeGet*, List*
transferDescribe*, List*
translateDescribe*, Get*, List*
trustedadvisorDescribe*
wafGet*, List*
waf-regionalList*, Get*
wafv2Describe*, Get*, List*
workdocsDescribe*, Get*
workmailDescribe*, Get*, List*
workspacesDescribe*
xrayBatchGet*, Get*

Where you see it in CloudYali​

The Connected tab of Integrations shows each AWS account's role ARN in the Detail column. To connect an account, see Connect AWS.