{"id":4800,"date":"2021-03-31T12:00:46","date_gmt":"2021-03-31T12:00:46","guid":{"rendered":"https:\/\/www.aqbsolutions.com\/?p=4800"},"modified":"2025-07-10T08:45:49","modified_gmt":"2025-07-10T08:45:49","slug":"aws-kms-hands-on-tutorial","status":"publish","type":"post","link":"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/","title":{"rendered":"AWS KMS HANDS ON TUTORIAL"},"content":{"rendered":"\n<p>In this article, you will learn what is KMS, different types of keys in KMS.<\/p>\n\n\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p><h2><strong>Use Cases of AWS KMS:<\/strong><\/h2><\/p>\n\n\n\n<p>AWS KMS is a managed service that makes it easy for you to create and control the encryption keys used to encrypt your data. The customer master keys that you create in AWS KMS are protected by hardware security modules or HSMs.<\/p>\n\n\n\n<p>So what are some of the features of KMS:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It is fully managed<\/li>\n\n\n\n<li>It is a centralized key management<\/li>\n\n\n\n<li>Integration with other AWS Services<\/li>\n\n\n\n<li>Secure and Compliant<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"540\" src=\"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/what-are-the-features-of-KMS-1.png\" alt=\"\" class=\"wp-image-6201\" srcset=\"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/what-are-the-features-of-KMS-1.png 720w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/what-are-the-features-of-KMS-1-300x225.png 300w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/what-are-the-features-of-KMS-1-230x173.png 230w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/what-are-the-features-of-KMS-1-350x263.png 350w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/what-are-the-features-of-KMS-1-480x360.png 480w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n\n\n\n<p>AWS KMS has been certified under multiple schemes to simplify your own compliance obligations.<\/p>\n\n\n\n<p>There are two types of keys that are supported by the AWS KMS service, which are Customer Master Key and Data Key. So will understand the difference between them. We will see that how do they come together and work and all of such things. I will show how you create your own Customer Master Key and how can you generate a data key as well.<\/p>\n\n\n\n<p><h2><strong>Types of Encryption:<\/strong><\/h2><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Symmetric Encryption: In the case of symmetric encryption what happens is the key which you use to encrypt the data same key is used to decrypt the data as well. That\u2019s why the name is symmetric, the same key is being used for encryption and decryption.<\/li>\n\n\n\n<li>Asymmetric encryption: In asymmetric encryption, there are two keys. You can use the public key to encrypt the data and then there will be the private or secret key that you will use to decrypt the data.<\/li>\n<\/ul>\n\n\n\n<p>Master Key: A key created by AWS KMS that can only be used within the AWS KMS service. The master key is commonly used to encrypt data keys so that the encrypted key can be securely stored by your service. However, AWS KMS master key can also be used to encrypt or decrypt arbitrary chunks of data that are no greater than 4 KiB. Customer master keys are created by a customer for use by a service or application. AWS managed keys are the default keys used by AWS services that support encryption.<\/p>\n\n\n\n<p>Data Key: A symmetric key generated by AWS KMS for your service. Inside of your service or application, the data key is used to encrypt or decrypt data. It can be considered a resource by a service or application.<\/p>\n\n\n\n<p><h3><strong>How to Encrypt Data?<\/strong><\/h3><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use OpenSSL or AWS Encryption SDK to encrypt data using data keys outside AWS.<\/li>\n\n\n\n<li>Encrypt data using Plaintext data key.<\/li>\n\n\n\n<li>Never store Plaintext close to encrypted data by removing it from memory ASAP.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"785\" height=\"942\" src=\"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/How-Should-Data-be-Encrypted.png\" alt=\"\" class=\"wp-image-6202\" srcset=\"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/How-Should-Data-be-Encrypted.png 785w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/How-Should-Data-be-Encrypted-250x300.png 250w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/How-Should-Data-be-Encrypted-768x922.png 768w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/How-Should-Data-be-Encrypted-230x276.png 230w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/How-Should-Data-be-Encrypted-350x420.png 350w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/How-Should-Data-be-Encrypted-480x576.png 480w\" sizes=\"auto, (max-width: 785px) 100vw, 785px\" \/><\/figure>\n\n\n\n<p><h3><strong>How to Decrypt Data?<\/strong><\/h3><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Call KMS API with the Encrypted data key<\/li>\n\n\n\n<li>KMS will send the Plaintext Key<\/li>\n\n\n\n<li>Use the Plaintext Key to decrypt the encrypted data<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"756\" height=\"522\" src=\"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/Steps-to-Decrypt-Data.png\" alt=\"\" class=\"wp-image-6203\" srcset=\"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/Steps-to-Decrypt-Data.png 756w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/Steps-to-Decrypt-Data-300x207.png 300w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/Steps-to-Decrypt-Data-230x159.png 230w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/Steps-to-Decrypt-Data-350x242.png 350w, https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/Steps-to-Decrypt-Data-480x331.png 480w\" sizes=\"auto, (max-width: 756px) 100vw, 756px\" \/><\/figure>\n\n\n\n<p><h3><strong>Data Encryption: <\/strong><\/h3><\/p>\n\n\n\n<p>Data Encryption is vital if you have sensitive data that must not be accessed by unauthorized users.<\/p>\n\n\n\n<p>If you stored your data in plain text the hacker can do whatever he wants with the data and usually guys don\u2019t do good things with it. But if the data had been encrypted the hacker would have a hard time decrypting that data even if he hacked your database server. So Encryption is vital especially if you are dealing with sensitive data. And also encryption is highly recommended for a security by design architectures.<\/p>\n\n\n\n<p>Two main methods to implement Encryption at-rest<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Client-side Encryption<\/li>\n\n\n\n<li>Server-side Encryption<\/li>\n<\/ul>\n\n\n\n<p>The first one is client-side encryption where you can encrypt your data at the client-side and send all the way to the server or any backend services like S3, EBS, Redshift etc.<\/p>\n\n\n\n<p>The second method is server-side encryption. In server-side encryption you let your backend services to let your data and manage those keys on your behalf.<\/p>\n\n\n\n<p>So in client-side encryption you encrypt the data and manage your own keys and also you can use kms as a key management infrastructure. If you don\u2019t want to use kms you can manage it by yourself.<\/p>\n\n\n\n<p>In server-side encryption you let AWS to manage your keys for you. Most AWS services like S3, EBS, Redshift provides server-side encryption and they also use kms behind the scenes.<\/p>\n\n\n\n<p>So the point I want to highlight is that kms is used in both, server-side encryption as well as in client-side encryption.<\/p>\n\n\n\n<p><h3><strong>Types of customer-managed keys:<\/strong><\/h3><\/p>\n\n\n\n<p>In AWS KMS there are three types Customer Managed keys.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>AWS managed default CMK keys : Free<\/li>\n\n\n\n<li>User keys created in kms : $1 per month<\/li>\n\n\n\n<li>user keys imported which must be 256bit symmetric keys:$1\/month\u00a0\u00a0<\/li>\n<\/ul>\n\n\n\n<p>For details pricing, go through this link:&nbsp;<a href=\"https:\/\/aws.amazon.com\/kms\/pricing\/\">https:\/\/aws.amazon.com\/kms\/pricing\/<\/a><\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p><h2><strong>DEMO<\/strong><\/h2><\/p>\n\n\n\n<p><strong>Now we will see how to encrypt environment variable through KMS key:<\/strong><\/p>\n\n\n\n<p>So let\u2019s go to the lambda function and click on create function.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/4.png\" alt=\"\" class=\"wp-image-4807\"\/><\/figure>\n\n\n\n<p>Give your function name and choose your language. And in permission select create a new role with basic lambda function.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/5.png\" alt=\"\" class=\"wp-image-4808\"\/><\/figure>\n\n\n\n<p>Then click on create function.<\/p>\n\n\n\n<p>In that time we created a Customer Managed Key, named tutorial.<\/p>\n\n\n\n<p>The idea here is we want to leverage this tutorial key to encrypt an environment variable so that it\u2019s securely passed on to our lambda functions.<\/p>\n\n\n\n<p>So in my lambda function we want to able to pass a database password into it so we can connect to my database.<\/p>\n\n\n\n<p>For now we want to encrypt our environment variables Key and Value through our AWS console.<\/p>\n\n\n\n<p>When our lambda function is created go to environment variables section and click on edit.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/6.png\" alt=\"\" class=\"wp-image-4809\"\/><\/figure>\n\n\n\n<p>We have to enable helpers for encryption in transit. This is going to enable this Encryption button in here. And also we need to put the Key and Value in this section.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/7.png\" alt=\"\" class=\"wp-image-4810\"\/><\/figure>\n\n\n\n<p>Then click on Use a customer master key that we are going to specify called tutorial.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/8.png\" alt=\"\" class=\"wp-image-4811\"\/><\/figure>\n\n\n\n<p>So we are going to click on Encrypt and then we are going to this tutorials key to encrypt my environment variable.<\/p>\n\n\n\n<p>Then click on Decrypt secrets snippet. And then we are going to be able to get this snippet of code as well. So we are going to copy this first snippet of code.<\/p>\n\n\n\n<p>Chose our KMS key to encrypt in transit with and then we are going to click on Encrypt button.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/9.png\" alt=\"\" class=\"wp-image-4812\"\/><\/figure>\n\n\n\n<p>So now my environment variable is fully encrypted, and this is a very long encrypted value of stuff.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/10.png\" alt=\"\" class=\"wp-image-4813\"\/><\/figure>\n\n\n\n<p>Now we are going to use our snippet of code in our lambda function.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/11.png\" alt=\"\" class=\"wp-image-4814\"\/><\/figure>\n\n\n\n<p>In code we have a decrypted version, which is to use the boto3 client which is the SDK for python on AWS.<\/p>\n\n\n\n<p>Next, save this.<\/p>\n\n\n\n<p>Now going to test the code and giving Event name and then click on Create.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/12.png\" alt=\"\" class=\"wp-image-4815\"\/><\/figure>\n\n\n\n<p>After that we need the decrypt operation in our IAM role to decrypt the value.<\/p>\n\n\n\n<p>So, go to your configuration tab and click on permission and select your role.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/13.png\" alt=\"\" class=\"wp-image-4816\"\/><\/figure>\n\n\n\n<p>Giving our IAM role the Decrypt permission.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/14.png\" alt=\"\" class=\"wp-image-4817\"\/><\/figure>\n\n\n\n<p>Now save the IAM policy and come back to lambda console.<br><br><\/p>\n\n\n\n<p>Now test the code, as well as deploy.&nbsp;<\/p>\n\n\n\n<p>So, we can see the output. We can see our encrypted environment variable and our decrypted variable.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/15.png\" alt=\"\" class=\"wp-image-4818\"\/><\/figure>\n\n\n\n<p><strong>Here i will show you how to encrypt and decrypt a plaintext file that contains confidential information using AWS CLI .<\/strong><\/p>\n\n\n\n<p>Requirements:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>If running on local system , make sure to use an aws profile which has atleast kws encrypt and decrypt permissions<\/li>\n\n\n\n<li>If running on aws ec2, make sure the attached IAM role has kms permissions .<\/li>\n<\/ol>\n\n\n\n<p>Steps:<\/p>\n\n\n\n<p>We have a plaintext file in current directory called text.txt, which has some text. We encrypt it using cli<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/16.png\" alt=\"\" class=\"wp-image-4819\"\/><\/figure>\n\n\n\n<p>We use the aws kms encrypt and paases the various parameters which are as follows &#8211;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>We specify a region as kms key are region based<\/li>\n\n\n\n<li>We mention the kms key using &#8211;key-id and key arn<\/li>\n\n\n\n<li>\u00a0The\u00a0 fileb:\/\/\u00a0 prefix\u00a0 instructs\u00a0 the\u00a0 CLI\u00a0 to\u00a0 read\u00a0 the data to encrypt, called the plaintext, from a file and\u00a0 pass\u00a0 the\u00a0 file&#8217;s contents\u00a0 to\u00a0 the command&#8217;s &#8211;plaintext parameter<\/li>\n\n\n\n<li>we extract the encrypted data, called\u00a0 the\u00a0 cipher-text, from the command&#8217;s output. by using the\u00a0 &#8211;output\u00a0 and &#8211;query parameters to control the command&#8217;s output.<\/li>\n\n\n\n<li>We use the base64 utility to decode the extracted output.The ciphertext\u00a0 that\u00a0 is\u00a0 returned by a successful encrypt command is base64-encoded text which must be decoded\u00a0 before it can be\u00a0 used\u00a0 the AWS CLI to decrypt it.<\/li>\n\n\n\n<li>Finally we save the binary ciphertext to a file (> ExamplesecretEncrypted)<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/17.png\" alt=\"\" class=\"wp-image-4820\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Now we decrypt the encrypted file<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.aqbsolutions.com\/wp-content\/uploads\/2021\/03\/18.png\" alt=\"\" class=\"wp-image-4821\"\/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>We use the fileb:\/\/ prefix to specify the &#8211;ciphertext-blob parameter. The fileb:\/\/ prefix instructs the CLI to read the encrypted data, called\u00a0 the\u00a0 ciphertext, from a file and pass the file&#8217;s contents to the command&#8217;s &#8211;ciphertext-blob parameter.<\/li>\n\n\n\n<li>The &#8211;output and &#8211;query parameters\u00a0\u00a0 extract\u00a0 the decrypted data, called the plain- text, from the command&#8217;s output.<\/li>\n\n\n\n<li>The base64 utility decodes the extracted plaintext to binary data.\u00a0 The plaintext\u00a0 that\u00a0 is\u00a0 returned\u00a0 by a successful decrypt command is base64-encoded text. It must be decoded\u00a0 to obtain\u00a0 the original plaintext.<\/li>\n<\/ol>\n\n\n\n<p>Thank You.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, you will learn what is KMS, different types of keys in KMS. &nbsp; Use Cases of AWS KMS: AWS [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":6198,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-4800","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web-services"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AWS KMS HANDS ON TUTORIAL - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS KMS HANDS ON TUTORIAL - Blog\" \/>\n<meta property=\"og:description\" content=\"In this article, you will learn what is KMS, different types of keys in KMS. &nbsp; Use Cases of AWS KMS: AWS [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-31T12:00:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-10T08:45:49+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/A-Glance-at-AWS-KMS.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"780\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"aQbSolutions\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"aQbSolutions\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/\"},\"author\":{\"name\":\"aQbSolutions\",\"@id\":\"https:\/\/aqbsolutions.com\/blog\/#\/schema\/person\/7f8c6dcba99e9b5a7c24a525f8365952\"},\"headline\":\"AWS KMS HANDS ON TUTORIAL\",\"datePublished\":\"2021-03-31T12:00:46+00:00\",\"dateModified\":\"2025-07-10T08:45:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/\"},\"wordCount\":1488,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/A-Glance-at-AWS-KMS.jpg\",\"articleSection\":[\"Web Services\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/\",\"url\":\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/\",\"name\":\"AWS KMS HANDS ON TUTORIAL - Blog\",\"isPartOf\":{\"@id\":\"https:\/\/aqbsolutions.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/A-Glance-at-AWS-KMS.jpg\",\"datePublished\":\"2021-03-31T12:00:46+00:00\",\"dateModified\":\"2025-07-10T08:45:49+00:00\",\"author\":{\"@id\":\"https:\/\/aqbsolutions.com\/blog\/#\/schema\/person\/7f8c6dcba99e9b5a7c24a525f8365952\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/#primaryimage\",\"url\":\"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/A-Glance-at-AWS-KMS.jpg\",\"contentUrl\":\"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/A-Glance-at-AWS-KMS.jpg\",\"width\":1200,\"height\":780,\"caption\":\"A Glance at AWS KMS\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/aqbsolutions.com\/blog\/#website\",\"url\":\"https:\/\/aqbsolutions.com\/blog\/\",\"name\":\"Aqbsolutions Blog\",\"description\":\"Blogs | IT Services in USA and Canada | aQb Solutions\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/aqbsolutions.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/aqbsolutions.com\/blog\/#\/schema\/person\/7f8c6dcba99e9b5a7c24a525f8365952\",\"name\":\"aQbSolutions\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/aqbsolutions.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d37e12c5e93bdf3f02abdb5c8a89bad8841bd4743b3b2ea558914abbb60c7414?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d37e12c5e93bdf3f02abdb5c8a89bad8841bd4743b3b2ea558914abbb60c7414?s=96&d=mm&r=g\",\"caption\":\"aQbSolutions\"},\"url\":\"https:\/\/aqbsolutions.com\/blog\/author\/aqbsolutions\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AWS KMS HANDS ON TUTORIAL - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"AWS KMS HANDS ON TUTORIAL - Blog","og_description":"In this article, you will learn what is KMS, different types of keys in KMS. &nbsp; Use Cases of AWS KMS: AWS [&hellip;]","og_url":"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/","og_site_name":"Blog","article_published_time":"2021-03-31T12:00:46+00:00","article_modified_time":"2025-07-10T08:45:49+00:00","og_image":[{"width":1200,"height":780,"url":"http:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/A-Glance-at-AWS-KMS.jpg","type":"image\/jpeg"}],"author":"aQbSolutions","twitter_card":"summary_large_image","twitter_misc":{"Written by":"aQbSolutions","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/#article","isPartOf":{"@id":"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/"},"author":{"name":"aQbSolutions","@id":"https:\/\/aqbsolutions.com\/blog\/#\/schema\/person\/7f8c6dcba99e9b5a7c24a525f8365952"},"headline":"AWS KMS HANDS ON TUTORIAL","datePublished":"2021-03-31T12:00:46+00:00","dateModified":"2025-07-10T08:45:49+00:00","mainEntityOfPage":{"@id":"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/"},"wordCount":1488,"commentCount":0,"image":{"@id":"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/A-Glance-at-AWS-KMS.jpg","articleSection":["Web Services"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/","url":"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/","name":"AWS KMS HANDS ON TUTORIAL - Blog","isPartOf":{"@id":"https:\/\/aqbsolutions.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/A-Glance-at-AWS-KMS.jpg","datePublished":"2021-03-31T12:00:46+00:00","dateModified":"2025-07-10T08:45:49+00:00","author":{"@id":"https:\/\/aqbsolutions.com\/blog\/#\/schema\/person\/7f8c6dcba99e9b5a7c24a525f8365952"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/aqbsolutions.com\/blog\/2021\/03\/31\/aws-kms-hands-on-tutorial\/#primaryimage","url":"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/A-Glance-at-AWS-KMS.jpg","contentUrl":"https:\/\/aqbsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/A-Glance-at-AWS-KMS.jpg","width":1200,"height":780,"caption":"A Glance at AWS KMS"},{"@type":"WebSite","@id":"https:\/\/aqbsolutions.com\/blog\/#website","url":"https:\/\/aqbsolutions.com\/blog\/","name":"Aqbsolutions Blog","description":"Blogs | IT Services in USA and Canada | aQb Solutions","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/aqbsolutions.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/aqbsolutions.com\/blog\/#\/schema\/person\/7f8c6dcba99e9b5a7c24a525f8365952","name":"aQbSolutions","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/aqbsolutions.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d37e12c5e93bdf3f02abdb5c8a89bad8841bd4743b3b2ea558914abbb60c7414?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d37e12c5e93bdf3f02abdb5c8a89bad8841bd4743b3b2ea558914abbb60c7414?s=96&d=mm&r=g","caption":"aQbSolutions"},"url":"https:\/\/aqbsolutions.com\/blog\/author\/aqbsolutions\/"}]}},"_links":{"self":[{"href":"https:\/\/aqbsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/4800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aqbsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aqbsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aqbsolutions.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/aqbsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=4800"}],"version-history":[{"count":3,"href":"https:\/\/aqbsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/4800\/revisions"}],"predecessor-version":[{"id":6204,"href":"https:\/\/aqbsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/4800\/revisions\/6204"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aqbsolutions.com\/blog\/wp-json\/wp\/v2\/media\/6198"}],"wp:attachment":[{"href":"https:\/\/aqbsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=4800"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aqbsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=4800"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aqbsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=4800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}