<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Sathish P</title>
    <description>The latest articles on Forem by Sathish P (@sathish3sank).</description>
    <link>https://forem.com/sathish3sank</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F251641%2Ff5dbe671-0c4a-4eaf-a7e8-5fa505f0b592.png</url>
      <title>Forem: Sathish P</title>
      <link>https://forem.com/sathish3sank</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sathish3sank"/>
    <language>en</language>
    <item>
      <title>Amaon cognito</title>
      <dc:creator>Sathish P</dc:creator>
      <pubDate>Sat, 15 Apr 2023 09:17:52 +0000</pubDate>
      <link>https://forem.com/sathish3sank/amaon-cognito-30ee</link>
      <guid>https://forem.com/sathish3sank/amaon-cognito-30ee</guid>
      <description>&lt;p&gt;&lt;strong&gt;What does Cognito?&lt;/strong&gt;&lt;br&gt;
Give users an identity to interact with web or mobile application&lt;br&gt;
&lt;strong&gt;Cognito user pools:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;sign in functionality for all users&lt;/li&gt;
&lt;li&gt;integrate with API gateway &amp;amp; application load balancer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cognito identity pools(Federated Identity):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;provides temporary AWS credentials to users so they can access AWS resources directly&lt;/li&gt;
&lt;li&gt;integrate with cognito user pools as an identity provider&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;create a serverless database of user for your web and mobile apps&lt;/li&gt;
&lt;li&gt;simple login:username(or email)/password combination&lt;/li&gt;
&lt;li&gt;password reset&lt;/li&gt;
&lt;li&gt;Email and phone number verification&lt;/li&gt;
&lt;li&gt;MFA&lt;/li&gt;
&lt;li&gt;federated identities: users from facebook,google,SAML&lt;/li&gt;
&lt;li&gt;feature:block users if credentials are compromised elsewhere&lt;/li&gt;
&lt;li&gt;login sends back a JSON Web Token(JWT)
Daigram:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RIVLE_f9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3wgepfw6fhq0v1cdk50f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RIVLE_f9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3wgepfw6fhq0v1cdk50f.png" alt="Image description" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LWhQagXr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pt54dtjzclbpjdi5yret.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LWhQagXr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pt54dtjzclbpjdi5yret.png" alt="Image description" width="800" height="503"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--b6TeS74T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tr1o1o6xbzo8mpj8g3l6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b6TeS74T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tr1o1o6xbzo8mpj8g3l6.png" alt="Image description" width="800" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WBiUCN1s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9y8e610v92lfnl8wrb0p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WBiUCN1s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9y8e610v92lfnl8wrb0p.png" alt="Image description" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;choosing to create a user pool&lt;br&gt;
Authentication can be done in 2 ways&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;cognito user pool(username &amp;amp;password, email)&lt;/li&gt;
&lt;li&gt;federation identity providers(google,facebook,SAML)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sSvgJOoN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r3ratx842ywb2vsvybn1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sSvgJOoN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r3ratx842ywb2vsvybn1.png" alt="Image description" width="800" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;password can be default or customied&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YRAj-uUt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kcnzluo6ibjf0sd01yev.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YRAj-uUt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kcnzluo6ibjf0sd01yev.png" alt="Image description" width="800" height="465"&gt;&lt;/a&gt;&lt;br&gt;
Multi factor Authentication can be chosen whether it should be mandatory, option or not required&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xqVwO1GP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oxgy612eb21ytiboleud.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xqVwO1GP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oxgy612eb21ytiboleud.png" alt="Image description" width="800" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;account recovery can be enable or diable&lt;br&gt;
if enable, in which way we can recover through forgot password can be chosen&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CTWnCjBd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/namw4uwmveyl5tjs9tjd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CTWnCjBd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/namw4uwmveyl5tjs9tjd.png" alt="Image description" width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;enabling new users to register for your app(enable self registartion)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZxZg7vLu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ubq0dwer8x8k90otwv10.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZxZg7vLu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ubq0dwer8x8k90otwv10.png" alt="Image description" width="800" height="299"&gt;&lt;/a&gt;&lt;br&gt;
verification&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kCutnFWd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fe6yhsysn2lvhyoigd6l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kCutnFWd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fe6yhsysn2lvhyoigd6l.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;br&gt;
we can add the reuired attributes to the signup page(if reuired)&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CTYXac1E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/20x1vp1fr218txj58vky.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CTYXac1E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/20x1vp1fr218txj58vky.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;if any other custom attributes needs to be added we can&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--69ygqPaO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/da5p7vn97cqmo9w5rcfd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--69ygqPaO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/da5p7vn97cqmo9w5rcfd.png" alt="Image description" width="800" height="311"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;configure how user pool sends message to users&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--URXp80ls--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0kqpu3q5wzylxz8dy1l2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--URXp80ls--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0kqpu3q5wzylxz8dy1l2.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5S5hXf5f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h7iw78cru9e20ctll19d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5S5hXf5f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h7iw78cru9e20ctll19d.png" alt="Image description" width="800" height="491"&gt;&lt;/a&gt;&lt;br&gt;
call back urls can be specified after successful login&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6-DoE4JA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/72mhxvfw6l6j9v6mrgnu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6-DoE4JA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/72mhxvfw6l6j9v6mrgnu.png" alt="Image description" width="800" height="377"&gt;&lt;/a&gt;&lt;br&gt;
can review once and can be created&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6mnKQGSt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b8u16i0zg4hhfw0m4ia8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6mnKQGSt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b8u16i0zg4hhfw0m4ia8.png" alt="Image description" width="800" height="198"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In sign in experience tab if required can add identity provider&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Tfyb0GYd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mei7bpzidd0j15b4xw9v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Tfyb0GYd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mei7bpzidd0j15b4xw9v.png" alt="Image description" width="800" height="485"&gt;&lt;/a&gt;&lt;br&gt;
click on view hosted to create a user&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--USrbM9EN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ybzc5ege0ahvswyewdc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--USrbM9EN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ybzc5ege0ahvswyewdc.png" alt="Image description" width="800" height="291"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;this will open the login page in new tab once sign up with the page sends verification SMS to the registered mail. after successful login, navigate to the call back url page&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cqvcUG61--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ehyikjk5bce38fodokh2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cqvcUG61--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ehyikjk5bce38fodokh2.png" alt="Image description" width="800" height="323"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we can specify lambda triggers for any of the functionality&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gLQnvxgC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h3w3gkebly4lcd76d3n2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gLQnvxgC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h3w3gkebly4lcd76d3n2.png" alt="Image description" width="800" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eOh7j7_F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u84qdt6rm2qk3ouk1fvg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eOh7j7_F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u84qdt6rm2qk3ouk1fvg.png" alt="Image description" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;cognito user pools - lambda triggers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tQNw4eRw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d01r9nac9uo2qdwi0uyb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tQNw4eRw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d01r9nac9uo2qdwi0uyb.png" alt="Image description" width="766" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hosted Authentication UI&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;cognito has hosted authentication UI that can be add to your own app to handle signup and sign in workflows&lt;/li&gt;
&lt;li&gt;using the hosted ui, your app can integrate with social login, OIDC or SAML&lt;/li&gt;
&lt;li&gt;can be customised with custom logo and custom CSS &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Hosted UI custom domain&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;for custom domains you must create ACM certificate(us-east-1)&lt;/li&gt;
&lt;li&gt;custom domain is defined in app integration section&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;JSON Web Token(JWT)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CUP issues JWT tokens

&lt;ul&gt;
&lt;li&gt;headers&lt;/li&gt;
&lt;li&gt;paload&lt;/li&gt;
&lt;li&gt;signature&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;the signature can be verified  to ensure the JWT token can be trusted&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Application Load Balancer - Authenticate users&lt;/strong&gt;&lt;br&gt;
your application load balancer can securely authenticate users&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;offload the work of authenticating users to load balancer

&lt;ul&gt;
&lt;li&gt;your application can focus on the business logic

&lt;ul&gt;
&lt;li&gt;authenticate users through:&lt;/li&gt;
&lt;li&gt;identity provider(IdP): OpenIDConnect(OIDC) Compliant&lt;/li&gt;
&lt;li&gt;cognito user pools:

&lt;ul&gt;
&lt;li&gt;social IdP's such as amazon, facebook or google&lt;/li&gt;
&lt;li&gt;corporate identities using SAML, LDAP or Microsoft AD &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;must use an HTTPS listener to set authenticate-oidc and authenticate-cognito rules&lt;/li&gt;
&lt;li&gt;onunauthenticated request- authenticate(default),deny,allow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Application Load Balancer - Cognito Auth&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FF5QttSe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g3flyb7nuj442vpjgias.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FF5QttSe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g3flyb7nuj442vpjgias.png" alt="Image description" width="632" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Application Load Balancer - OIDC Auth&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nvC15-2o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6qmifzxn4nfuuz3hoakd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nvC15-2o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6qmifzxn4nfuuz3hoakd.png" alt="Image description" width="677" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cognito Identity pools - diagram&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--81tcIK0f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vh2ygavotsqp16cxgygh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--81tcIK0f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vh2ygavotsqp16cxgygh.png" alt="Image description" width="562" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;cognito identity pools - diagram with CUP&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7NQZHNAm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mz1zdzoecwyrycj3tk7k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7NQZHNAm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mz1zdzoecwyrycj3tk7k.png" alt="Image description" width="587" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating Identity pool:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0M23OfbZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y31bl2ojdlecjdn3spt7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0M23OfbZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y31bl2ojdlecjdn3spt7.png" alt="Image description" width="800" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we can enable the unauthenticated identities and can change the authentication flow. by default it will follow enhanced, we can change to basic flow as well&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--52L_c8rJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8dib7h7z5p5fnrkzcrgg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--52L_c8rJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8dib7h7z5p5fnrkzcrgg.png" alt="Image description" width="800" height="329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we can select authentication providers&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Og9T-eWT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4gi2zot4xoldwta8z5tq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Og9T-eWT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4gi2zot4xoldwta8z5tq.png" alt="Image description" width="800" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;pool id and client id needs to be copied from previous steps where we have created the user pool&lt;/p&gt;

&lt;p&gt;after creating identity pool it will ask us to allow two IAM roles&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;for authenticates identities&lt;/li&gt;
&lt;li&gt;unauthenticated identities&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yv5QAWes--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p213u24kh329artbxpvl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yv5QAWes--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p213u24kh329artbxpvl.png" alt="Image description" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we can select the platform where we are installing the SDK and after installation if we run the below code it will generate AWS credentials&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--g4CYgS7j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vh3jsvdymx7g6yozcqco.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--g4CYgS7j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vh3jsvdymx7g6yozcqco.png" alt="Image description" width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;from the dashboard we can check number of authenticated and unauthenticated identities&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JWyuB3KH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1gfgdb3inh2ao6q8x0fa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JWyuB3KH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1gfgdb3inh2ao6q8x0fa.png" alt="Image description" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we can customize the IAM roles by navigatin to IAM-&amp;gt; roles&lt;/p&gt;

&lt;p&gt;we can see created IAM roles in previous step. by hitting on edit we can customize.&lt;/p&gt;

&lt;p&gt;Note:- User pools are for authentication, identity pools for authorisation.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Policies and MFA</title>
      <dc:creator>Sathish P</dc:creator>
      <pubDate>Sun, 09 Apr 2023 17:51:17 +0000</pubDate>
      <link>https://forem.com/sathish3sank/policies-and-mfa-3ie0</link>
      <guid>https://forem.com/sathish3sank/policies-and-mfa-3ie0</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is policy?&lt;/strong&gt;&lt;br&gt;
A policy is an entity that, when attached to an identity or resource, defines their permissions. You can use the AWS Management Console, AWS CLI, or AWS API to create customer managed policies in IAM. Customer managed policies are standalone policies that you administer in your own AWS account. You can then attach the policies to identities (users, groups, and roles) in your AWS account.&lt;/p&gt;

&lt;p&gt;Policy is Nothing but JSON document which contains below parameters to provide permissions to the users/groups/roles.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Version&lt;/strong&gt;: policy language version&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Id&lt;/strong&gt;: an identifier for the policy(optional)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;statement&lt;/strong&gt;: one or more statement(required)
&lt;strong&gt;statement consists of below parameters&lt;/strong&gt;:-&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sid&lt;/strong&gt;: an identifier for the statement(optional)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Effect&lt;/strong&gt;: whether the statement policy allows or denies the access(Allow,Deny)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Principal&lt;/strong&gt;: specifies to which account/user/role this policy applied to&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Action&lt;/strong&gt;: list of actions this policy allows or denies&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resource&lt;/strong&gt;: list of resources to which the actions applied to&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Condition&lt;/strong&gt;: Conditions for when this policy is in effect(optional)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Existing policy structure can be defined below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xVfyr9sj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wg62815pnmb8yjolmvu1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xVfyr9sj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wg62815pnmb8yjolmvu1.png" alt="Image description" width="800" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can create our own policies in two ways.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Visual editor: where we can select services, actions, permissions and automatically editor will create the JSON for it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Fa_Xl6U8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z9ujn4mdhes33axmclv5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Fa_Xl6U8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z9ujn4mdhes33axmclv5.png" alt="Image description" width="800" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;JSON:- where can we implement our own policy.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9LhdyLhd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lzgtb6kz4ndghpy7x5ql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9LhdyLhd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lzgtb6kz4ndghpy7x5ql.png" alt="Image description" width="800" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;MFA:-&lt;/u&gt;&lt;/strong&gt;(Mukti Factor Authentication)&lt;br&gt;
MFA=password you know+security device you own&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MFA device options in AWS:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;google authenticator(phone only)&lt;/li&gt;
&lt;li&gt;Authy(multi-device)&lt;/li&gt;
&lt;li&gt;Yuikey(3rd party)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;we can remain the default IAM policy or can change the password policy by navigating through Account settings as per below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pp4z9fsu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f8zd0xcszh0h9namn61q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pp4z9fsu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f8zd0xcszh0h9namn61q.png" alt="Image description" width="800" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To add MFA to our account have to navigate to security credentials and we can hit on assign MFA. there we can see different devices of MFA as per below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ghep48Iq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/koozh6mn2pc74vaui377.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ghep48Iq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/koozh6mn2pc74vaui377.png" alt="Image description" width="768" height="573"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From the devices we can select one and MFA will be added to our account. After MFA whenever we try to login it will be asked for password and code of device which we chose in MFA setup.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AWS EBS</title>
      <dc:creator>Sathish P</dc:creator>
      <pubDate>Sun, 09 Apr 2023 17:31:45 +0000</pubDate>
      <link>https://forem.com/sathish3sank/aws-ebs-4n8o</link>
      <guid>https://forem.com/sathish3sank/aws-ebs-4n8o</guid>
      <description></description>
      <category>cloud</category>
      <category>devops</category>
      <category>developer</category>
    </item>
    <item>
      <title>AWS Lambda</title>
      <dc:creator>Sathish P</dc:creator>
      <pubDate>Sun, 09 Apr 2023 17:30:42 +0000</pubDate>
      <link>https://forem.com/sathish3sank/aws-lambda-3cgf</link>
      <guid>https://forem.com/sathish3sank/aws-lambda-3cgf</guid>
      <description></description>
    </item>
    <item>
      <title>AWS EC2</title>
      <dc:creator>Sathish P</dc:creator>
      <pubDate>Sun, 09 Apr 2023 17:29:31 +0000</pubDate>
      <link>https://forem.com/sathish3sank/aws-ec2-513k</link>
      <guid>https://forem.com/sathish3sank/aws-ec2-513k</guid>
      <description>&lt;h2&gt;
  
  
  What is EC2?
&lt;/h2&gt;

&lt;p&gt;Elastic compute cloud (EC2). It's a virtual machine in AWS. Develop and deploy application faster without worrying about the hardware investments. We can choose the Instance Type and family and attach the security groups to handle the inbound and outbound traffics. We can create the EC2 instance by choosing the AMI (Amazon Machine Image), there are many AMI's available. We can choose anything based on our requirements and attach the security policies or group for the security purpose.&lt;/p&gt;

&lt;h2&gt;
  
  
  Create or launch an EC2 Instance
&lt;/h2&gt;

&lt;p&gt;Steps to launch an instance. Go to the Instance tab and find the launch instance button to configure the instance.&lt;br&gt;
Name the instance&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select the AMI type and instance types, family&lt;/li&gt;
&lt;li&gt;Create the key-pair and download the .pem or .ppk file to access the instance in SSH.&lt;/li&gt;
&lt;li&gt;Launch the instance and go to the instance list and you can find your instance using name.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Instance Name
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HQfrK_dN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pmz2899ejzeua37e1ubh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HQfrK_dN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pmz2899ejzeua37e1ubh.png" alt="Instance Naming" width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Select the instance family
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hn_UtyAi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8cyc7e7a6s3w6k8sehns.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hn_UtyAi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8cyc7e7a6s3w6k8sehns.png" alt="Instance Family" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Edit the network details
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--x4xEs6hG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hysk9spjlk01dz3zkgvo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--x4xEs6hG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hysk9spjlk01dz3zkgvo.png" alt="Network Details" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Creating Key-Value Pair for accessing the instance using SSH
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4sMkHZ8V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4bh5qeycu9oci0afumzp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4sMkHZ8V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4bh5qeycu9oci0afumzp.png" alt="For accessing SSH we need to create key pair" width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After Instance was successfully launched, we can see the following pages&lt;/p&gt;
&lt;h2&gt;
  
  
  List of available instances
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UUcC-kRx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qhs14yum1lrac320dkv7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UUcC-kRx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qhs14yum1lrac320dkv7.png" alt="List of Instances" width="800" height="351"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Instance details
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qiTNsBDI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tjd6pfqgr1rfpcwfobg5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qiTNsBDI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tjd6pfqgr1rfpcwfobg5.png" alt="Instance Details" width="800" height="355"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  User data for an instance
&lt;/h2&gt;

&lt;p&gt;We can add the user data to the instance. If we add the user data script, it ll run only once when the server is getting launched.&lt;/p&gt;

&lt;p&gt;User data should be in shellscript. We can add manually or import from a file and we cannot be able to modify the user data when the instance is in Start stage. We need to stop the instance and modify the user data and restart the instance again.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Command to access ec2 instance using SSH&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh -i .pem/location Username@publicIPV4

Username should be ec2-user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Command to upload files to ec2 instance using SSH&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;scp -i .pem/location fileLocation username@publicIPV4:~/.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;SSH Summary table&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;SSH Summary&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;SSH&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;PuTTY&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;EC2 Connect&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MacOS&lt;/td&gt;
&lt;td&gt;Y&lt;/td&gt;
&lt;td&gt;N&lt;/td&gt;
&lt;td&gt;Y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linux&lt;/td&gt;
&lt;td&gt;Y&lt;/td&gt;
&lt;td&gt;N&lt;/td&gt;
&lt;td&gt;Y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Windows &amp;gt;= 10&lt;/td&gt;
&lt;td&gt;Y&lt;/td&gt;
&lt;td&gt;N&lt;/td&gt;
&lt;td&gt;N&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Windows &amp;lt; 10&lt;/td&gt;
&lt;td&gt;N&lt;/td&gt;
&lt;td&gt;Y&lt;/td&gt;
&lt;td&gt;Y&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Purchasing options
&lt;/h2&gt;

&lt;p&gt;Several options we can buy EC2 instances&lt;/p&gt;

&lt;h2&gt;
  
  
  On Demand
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Short workloads, Predictable pricing, Pay by Second

&lt;ul&gt;
&lt;li&gt;Linux or Windows - Pay per second&lt;/li&gt;
&lt;li&gt;All other platforms - Pay per hour&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Highest cost by no upfront payment&lt;/li&gt;
&lt;li&gt;No Long-term commitment&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Recommend for short-term and unintereppted workloads or services where you can't predict the application behaviours.&lt;/p&gt;
&lt;h2&gt;
  
  
  Reserved Instances
&lt;/h2&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;72 % discount when compared to OnDemand&lt;/li&gt;
&lt;li&gt;We can reserve specific instances i.e, Instance Type, Region, OS, Tenancy&lt;/li&gt;
&lt;li&gt;Reservation period 1 year with minimal discount and 3 year with maximum discount&lt;/li&gt;
&lt;li&gt;Reserved instance scope like regional or zonal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Recommended for steady state workloads like databases. We can buy and sell the instance at marketplace if not needed.&lt;/p&gt;

&lt;p&gt;** Payment options&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No Upfront (+)&lt;/li&gt;
&lt;li&gt;Partial Upfront (++)&lt;/li&gt;
&lt;li&gt;All Upfront (+++)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Convertible reserve instances like we can change the EC2 instance type, family, OS, scope and tenency.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Savings plan
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Discount on long term&lt;/li&gt;
&lt;li&gt;Commit to a certain type of usages, like we set $10 / hour.&lt;/li&gt;
&lt;li&gt;Usage beyond EC2 savings plans is billed at OnDemand price.&lt;/li&gt;
&lt;li&gt;Locked to specific instance family and region&lt;/li&gt;
&lt;li&gt;Flexible on Instance Size and OS, that means we can change the instance size and OS.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Spot Instances
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;90% discount compared with OnDemand&lt;/li&gt;
&lt;li&gt;Instances that you can "lose" at any point of time if the maximun price is less than the current spot price.&lt;/li&gt;
&lt;li&gt;Most cost effective instances in AWS useful for workloads that are resilent to failure.

&lt;ul&gt;
&lt;li&gt;Batch Jobs&lt;/li&gt;
&lt;li&gt;Data Analysis&lt;/li&gt;
&lt;li&gt;Image Processing&lt;/li&gt;
&lt;li&gt;Distributed workloads&lt;/li&gt;
&lt;li&gt;Flexible start and stop workloads&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Useful links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html"&gt;Instance Types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html"&gt;Instance lifecycles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-troubleshoot.html"&gt;Troubleshooting&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devops</category>
      <category>aws</category>
      <category>cloud</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Users, Groups &amp; Roles</title>
      <dc:creator>Sathish P</dc:creator>
      <pubDate>Mon, 25 Jul 2022 06:30:00 +0000</pubDate>
      <link>https://forem.com/sathish3sank/users-groups-roles-31ge</link>
      <guid>https://forem.com/sathish3sank/users-groups-roles-31ge</guid>
      <description>&lt;p&gt;Demonstration on how to setup and configure users, groups and roles and differences between them.&lt;/p&gt;

&lt;p&gt;In AWS IAM, all three elements are considered as objects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Users
&lt;/h2&gt;

&lt;p&gt;A User object can represent a real person who requires access to &lt;strong&gt;operate and maintain&lt;/strong&gt; the AWS environment or access the AWS resources or services &lt;strong&gt;programmatically&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Users are representing an Identity which are used in the authentication process to the AWS account.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a User
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Users can be created using AWS Management Console or Programmatically via AWS CLI, IAM HTTP API, Tools for windows powershell.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Creating user name which can be upto 64 characters in length&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JTwMmOSR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m4b34liy0jaoq17t2iyh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JTwMmOSR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m4b34liy0jaoq17t2iyh.jpg" alt="Creation Page" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Selecting AWS access type&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LEWSg-DS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lrdjnrwm4gjzyxwt72gb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LEWSg-DS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lrdjnrwm4gjzyxwt72gb.jpg" alt="User access type" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Programmatic&lt;/strong&gt;:&lt;br&gt;
&lt;em&gt;Enables an access Key Id and Secret access key for the AWS CLI, API, SDK&lt;/em&gt;.&lt;br&gt;
&lt;strong&gt;AWS Management Console&lt;/strong&gt; :&lt;br&gt;
&lt;em&gt;Enables a password that allows users to sign-in to the AWS Management Console&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Set permissions for the user&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For give access to the user AWS has 3 ways.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;From user groups&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Add the user to one particular user groups, the permission which are assigned for the groups will automatically applicable for the particular user.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v2pYfBgN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n9caa1hf9d5uvbsfel2x.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v2pYfBgN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n9caa1hf9d5uvbsfel2x.jpg" alt="User permissions" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Add policies directly&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Admin can directly add an existing policies or can create new policies.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rRmX03sx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ejdfh547ojff0mnmobaj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rRmX03sx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ejdfh547ojff0mnmobaj.jpg" alt="Attach policies to an User" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Adding tags are optional&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reviewing the user&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sSvLS793--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d1bud3xfzhdipkqbnj86.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sSvLS793--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d1bud3xfzhdipkqbnj86.jpg" alt="Review" width="800" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;After the successful user creation&lt;/strong&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Download the &lt;code&gt;.csv&lt;/code&gt; file for the access keys and password for the created user.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ncWAAmXX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0r9cn79laczyz3srby8x.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ncWAAmXX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0r9cn79laczyz3srby8x.jpg" alt="Created User" width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Admin can send e-mail for the user using send-email link.&lt;/p&gt;

&lt;h2&gt;
  
  
  Groups
&lt;/h2&gt;

&lt;p&gt;-&amp;gt; Groups can contain only users and not other groups&lt;br&gt;
&lt;strong&gt;creating group for an user/users:-&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RYu26sKf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vk7hzzapchi6iqnma0cw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RYu26sKf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vk7hzzapchi6iqnma0cw.png" alt="Image description" width="800" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vRNNojQY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yloblmysfea6qblc2jiw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vRNNojQY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yloblmysfea6qblc2jiw.png" alt="Image description" width="769" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Have to provide the group name and there we can add the users to the group as well if already users exists as below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hTisxEsI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8zfwrq3terafmbqstvio.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hTisxEsI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8zfwrq3terafmbqstvio.png" alt="Image description" width="800" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;if user didn't exists while creating the group , we can specify the group while user creation.&lt;/p&gt;

&lt;p&gt;While creating the group if we have to attach the policies at the group level we can as per the below screenshot.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0X3YEcph--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vaptzfxglilm52zyw372.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0X3YEcph--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vaptzfxglilm52zyw372.png" alt="Image description" width="800" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G8bNbXl8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a5kjbdqz7njxnh59sgul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G8bNbXl8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a5kjbdqz7njxnh59sgul.png" alt="Image description" width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Group has been create by showing the number users and creation time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kHufpxRo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v3tix6oat6n3dtnc7i6y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kHufpxRo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v3tix6oat6n3dtnc7i6y.png" alt="Image description" width="800" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Roles
&lt;/h2&gt;

&lt;p&gt;Roles can be assumed by the entities to get the credentials&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WAc3jdhT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l4tl1i3e6cv87h2dx0se.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WAc3jdhT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l4tl1i3e6cv87h2dx0se.png" alt="Image description" width="800" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most commonly we will do for AWS services and common roles are EC2 and lambda&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SQlU4bsG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8pygb10koe4g1ga2crks.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SQlU4bsG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8pygb10koe4g1ga2crks.png" alt="Image description" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we can create our own policy or can select from exists policies. we have to provide role name and description.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BHSASO2e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/othzvnntzirp6pjmuogd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BHSASO2e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/othzvnntzirp6pjmuogd.png" alt="Image description" width="800" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The JSON document for the role will be defined in below format.&lt;/p&gt;

&lt;p&gt;tags are optional.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Mx8nICOx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s6iohwwb5vrc4xv1y6p5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Mx8nICOx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s6iohwwb5vrc4xv1y6p5.png" alt="Image description" width="800" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The roles has been created.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qltLOADK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ns69dfp2xyfs2mp5ui63.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qltLOADK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ns69dfp2xyfs2mp5ui63.png" alt="Image description" width="800" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cloud</category>
      <category>aws</category>
    </item>
    <item>
      <title>AWS IAM</title>
      <dc:creator>Sathish P</dc:creator>
      <pubDate>Mon, 25 Jul 2022 06:28:00 +0000</pubDate>
      <link>https://forem.com/sathish3sank/aws-iam-43hi</link>
      <guid>https://forem.com/sathish3sank/aws-iam-43hi</guid>
      <description>&lt;h2&gt;
  
  
  Covers features and elements of IAM
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What is IAM?&lt;/li&gt;
&lt;li&gt;Groups, Users and Roles&lt;/li&gt;
&lt;li&gt;IAM Policies&lt;/li&gt;
&lt;li&gt;MFA&lt;/li&gt;
&lt;li&gt;IAM Federation&lt;/li&gt;
&lt;li&gt;IAM Features&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Get the details last from the understanding&lt;/p&gt;

&lt;h2&gt;
  
  
  What is IAM?
&lt;/h2&gt;

&lt;p&gt;To manage, control and govern authentication, authorization and access control mechanisms of identities to your resources within AWS Account.&lt;/p&gt;

&lt;h2&gt;
  
  
  IAM Components
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Users&lt;/li&gt;
&lt;li&gt;Groups&lt;/li&gt;
&lt;li&gt;Roles&lt;/li&gt;
&lt;li&gt;Policies&lt;/li&gt;
&lt;li&gt;Access control and mechanisms.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;IAM is globally avaliable AWS services, ie. IAM is not regionally available services and we can create regional specific policies and accesses to an AWS resources.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Without IAM there is no way of maintaining security or control access to the resources. IAM provides components to manage access, but it is only as strong as we configure it. The responsibility of implementing secure, robust and tight security within AWS is ours.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can find the IAM services under security, Identity and compliance. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3AkQxdtK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/35ndadhihbauif7rpthd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3AkQxdtK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/35ndadhihbauif7rpthd.jpg" alt="AWS Service path inside aws console" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;All services -&amp;gt; Security, Identity and compliance -&amp;gt; IAM (Manage access to AWS resources)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;IAM Responsibilities:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How secure your access control procedures must be?&lt;/li&gt;
&lt;li&gt;How much should admin restrict users access?&lt;/li&gt;
&lt;li&gt;How complex password policies must be?&lt;/li&gt;
&lt;li&gt;Resource should use MFA or not?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Admin can architect and implement upto the policies and security guidances from the company or self. &lt;/p&gt;

&lt;p&gt;Restrictions and access are purely based on our own security standards and policies within our information and security management systems. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Elements of AWS&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://dev.to/sathish3sank/users-groups-roles-31ge"&gt;Users, Groups &amp;amp; Roles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/sathish3sank/policies-and-mfa-3ie0"&gt;Policies &amp;amp; MFA&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Other resources:&lt;br&gt;
&lt;a href="https://aws.plainenglish.io/aws-identity-and-access-management-iam-f084e5915cc5"&gt;aws.plainenglish.io&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Deployment on AWS</title>
      <dc:creator>Sathish P</dc:creator>
      <pubDate>Mon, 25 Jul 2022 05:19:08 +0000</pubDate>
      <link>https://forem.com/sathish3sank/deployment-on-aws-4l79</link>
      <guid>https://forem.com/sathish3sank/deployment-on-aws-4l79</guid>
      <description>&lt;p&gt;AWS developer associate certification exams have 22% of weightage and will be around 14 questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Deploy written code in AWS using existing CI/CD pipelines, processes and design patterns.&lt;/li&gt;
&lt;li&gt;Deploy applications using Elastic Beanstalk.&lt;/li&gt;
&lt;li&gt;Prepare the application deployment package to be deployed to AWS.&lt;/li&gt;
&lt;li&gt;Deploy serverless applications.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Deploy written code in AWS using existing CI/CD pipelines, processes and design patterns
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Continuous Integration&lt;/li&gt;
&lt;li&gt;Continuous Delivery&lt;/li&gt;
&lt;li&gt;Continuous Deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Useful services:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AWS CodeCommit&lt;/li&gt;
&lt;li&gt;AWS CodeBuild&lt;/li&gt;
&lt;li&gt;AWS CodeDeploy&lt;/li&gt;
&lt;li&gt;AWS CodePipeline&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>deploy</category>
      <category>devops</category>
    </item>
    <item>
      <title>AWS Developer Associate Certification Preparation</title>
      <dc:creator>Sathish P</dc:creator>
      <pubDate>Mon, 18 Jul 2022 06:18:00 +0000</pubDate>
      <link>https://forem.com/sathish3sank/aws-developer-associate-certification-preparation-2h79</link>
      <guid>https://forem.com/sathish3sank/aws-developer-associate-certification-preparation-2h79</guid>
      <description>&lt;p&gt;&lt;strong&gt;Short description:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Earners of this certification have a &lt;strong&gt;comprehensive understanding of application life-cycle management&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;They've demonstrated proficiency in writing applications with &lt;strong&gt;AWS Service APIs, AWS CLI and SDKs, using containers and deploying with CI/CD pipeline&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Badge owners are able to &lt;strong&gt;develop, deploy and debug cloud-based applications&lt;/strong&gt; that follow AWS best practices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The exam validates two things&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Understanding of core AWS services and uses.&lt;/li&gt;
&lt;li&gt;Basic AWS architecture best practices.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Need to have a solid understanding of how to deploy, monitor and update code in the AWS cloud. &lt;/p&gt;

&lt;p&gt;Exam Logistics&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;65 questions&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;130 minutes&lt;/strong&gt; to complete&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exam Contents based on Exam guide:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Domain&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Percentage&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Deployment&lt;/td&gt;
&lt;td&gt;22%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security&lt;/td&gt;
&lt;td&gt;26%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Development with AWS Services&lt;/td&gt;
&lt;td&gt;30%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Refactoring&lt;/td&gt;
&lt;td&gt;10%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Monitoring and Troubleshooting&lt;/td&gt;
&lt;td&gt;12%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;100%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;To pass AWS Developer Associate certification need to score above &lt;strong&gt;720&lt;/strong&gt; out of 1000.&lt;/p&gt;

&lt;p&gt;Document is about:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Understanding distributed systems&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Using available features &lt;strong&gt;to avoid wasting time and energy&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Being &lt;strong&gt;cost-effective, scalable, elastic and secure&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Services need to know for Developer Associate Certification&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/sathish3sank/aws-iam-43hi"&gt;&lt;strong&gt;&lt;em&gt;AWS IAM&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/sathish3sank/aws-ec2-513k"&gt;&lt;strong&gt;&lt;em&gt;AWS EC2&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/sathish3sank/aws-lambda-3cgf"&gt;&lt;strong&gt;&lt;em&gt;AWS Lambda&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/sathish3sank/aws-ebs-4n8o"&gt;&lt;strong&gt;&lt;em&gt;AWS EBS&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>cloudskills</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
