IAM Roles for OSDU
Fulfillment Role
The Fulfillment Role is required in your account to fulfill your Express for Energy Data Insights subscription. It has limited but powerful permissions. Among other things, it creates five other (persistent) roles that are required for 47Lining to manage, maintain and support platform components included in the subscription.
- OSDUDynamodbTableScalingRole-uniqueinstanceID
- OSDUEntitlementsLambdaRole-uniqueinstanceID
- OSDUEcsTaskExecutionRole-uniqueinstanceID
- OSDUPipeline-uniqueinstanceID
- OSDUEcsAutoScalingRole-uniqueinstanceID
OSDUDynamodbTableScalingRole-uniqueinstanceID
CloudWatch
DescribeAlarms
GetMetricStatistics
DeleteAlarms
PutMetricAlarm
SetAlarmState
DynamoDB
DescribeTable
UpdateTable
This role allows DynamoDB to alter throughput in response to CloudWatch Alarms. This role has limited permissions for CloudWatch and DynamoDB. The CloudWatch permissions are related to Alarms. The role also has limited permissions for DynamoDB; 'DescribeTable' allows to read information about DDB tables. Similarly, the 'UpdateTable' permission allows modification of table settings related to DynamoDB Streams, global secondary indexes and throughput. All permissions are applicable to all resources without restriction, applying to all CloudWatch alarms and all DynamoDB tables.
OSDUEntitlementsLambdaRole-uniqueinstanceID
AmazonCognitoPowerUser
Certificate Manager Full: List
Cognito Identity Full access
Cognito Sync Full access
Cognito User Pools Full access
IAM Limited: List, Read, Write
Kinesis Limited: List
Lambda Limited: List, Read
Pinpoint Limited: List
SES Limited: List, Read
SNS Limited: List
CloudWatch Logs
Full access
DynamoDB
Full access
This role has FullAccess permissions for CloudWatchLogs and DynamoDB. It further has AmazonCognitoPowerUser permission which includes permissions for several other AWS services. The resource scope for each of the policies in this role is unconstrained. This means the role will permit actions by each of the services noted above upon both resources provisioned as part of your Energy Data Insights as well as other resources that may exist within your account.
OSDUEcsTaskExecutionRole-uniqueinstanceID
OSDUEcsTaskExecutionPolicy-uniqueinstanceID
Cloudwatch Logs
CreateLogStream
PutLogEvents
Elastic Container Registry
BatchCheckLayerAvailability
BatchGetImage
GetAuthorizationToken
GetDownloadUrlForLayer
This role allows the ability to pull container images from Elastic Container Registry (ECR) and log relevant events to Cloudwatch. This role has limited permissions for CloudWatchLogs and ECR. CloudWatchLogs permissions are limited to creation of log streams for existing log groups and the ability to write logs. ECR permissions: GetAuthorizationToken allows to pull/push container images from/to any ECR repository. The other permissions are required for pulling images.
OSDUEcsAutoScalingRole-uniqueinstanceID
Application Auto Scaling Full access
CloudWatch Limited: Read, Write
Elastic Container Service Limited: Read, Write
This role allows auto-scaling of container resources. It has FullAccess to Application Auto Scaling and limited permissions for Elastic Container Service (ECS) and Cloudwatch.
OSDUPipeline-uniqueinstanceID
API Gateway
Application Auto Scaling
Certificate Manager
CloudFormation
CloudFront
CloudWatch
CloudWatch Logs
CodeBuild
CodePipeline
Cognito User Pools
DynamoDB
EC2
Elastic Container Service
ElastiCache
Elasticsearch Service
ELB
ELB v2
IAM Limited: Read, Write
KMS
Lambda
Route 53
S3
SNS
SQS
STS
Systems Manager
This role has broad permissions required for AWS Pipeline service to deploy numerous required resources. This role has FullAcccess permission to all the AWS services listed above except IAM. IAM permissions are tightly constrained, only GetRole and PassRole are allowed. Again, these permissions apply to all resources in the account.