STS, SNS, SQS Flashcards
STS vs SNS vs SQS
"STS - security Token Service SNS - simple notification service pub/sub one pub and multi subs SQS - simple Queue service persistant until polled"
short polling vs long polling
“Short polling - RecieveMessage request queries only a subset of the servers to find messages
Long polling - RecieveMessage request queries all servers for messages”
What are the SQS batch actions?
“SendMessageBatch
DeleteMessageBatch
ChangeMessageVisibilityBatch”
SQS encryption by default
Not encrypted
What is the STS GetFederationToken?
“An API action for STS
Grants IAM role based on federation or company requesting it”
When would you use STS?
When you want to dynamically assign temporary IAM roles to users or services without having to embed the credentials
What is SAML
“Security Assertion Markup Language
Internet SSO
an XML based protocol for exchanging authentications and authorization data between parties typically pub/sub”
What are the different payload formats for receiving notifications?
“HTTP/HTTPS (delivered via POST)
Email/Email-JSON
SQS
SMS”
How do you opt to receive only a portion of the messages from a publisher?
Create and assign an SNS message filer policy to the user
What are the message Attribute Items and Validation?
“Each message attribute consists of the following items. All parts must not be empty or null.
Name - Assign a name to the attribute
Type - supported data type for the message
Value - user-specified attribute value”
MessageId vs ReceiptHandle
“MessageId - Auto assigned by AWS and returned to you via SendMessage. For identification only. max length 100 char
ReceiptHandle - identification of a message instance in a queue. Needed to delete or change visibility”
What is an SNS message attribute?
“A structured metadata item (such as timestamp, geospacial data, signatures and identifiers) about the message
up to 10 attributes per message”
What is the max size of a message?
“256 KB
payload and attributes combined”
What are the API actions to obtain STS?
“AssumeRole - anytime the IAM role gives you an STS
AssumeRoleWithWebIdentity - authenticate to Facebook/Google/etc…
AssumeRoleWithSAML - for Enterprise identity federation”
What is the AssumeRoleWithWebIdentity process?
“Send OAuth request to web identity (facebook, google, etc.)
They respond with a JWT (Javascript web token)
We use the CLI/SDK ot call AssumeRoleWithWebIdentity, passing along the JWT
The STS service determines if a token is granted to the user”