{"id":101423,"date":"2025-03-14T00:27:43","date_gmt":"2025-03-13T20:57:43","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/%d8%af%d8%b9%d9%88%d8%aa-%d9%87%d8%a7%db%8c-url-lambda-aws-%d8%a8%d8%a7-%d8%a7%d8%ad%d8%b1%d8%a7%d8%b2-%d9%87%d9%88%db%8c%d8%aa-iam-%d9%88-%d9%85%d8%ad%d8%af%d9%88%d8%af%db%8c%d8%aa-%d9%87%d8%a7%db%8c\/"},"modified":"2025-03-14T00:27:43","modified_gmt":"2025-03-13T20:57:43","slug":"%d8%af%d8%b9%d9%88%d8%aa-%d9%87%d8%a7%db%8c-url-lambda-aws-%d8%a8%d8%a7-%d8%a7%d8%ad%d8%b1%d8%a7%d8%b2-%d9%87%d9%88%db%8c%d8%aa-iam-%d9%88-%d9%85%d8%ad%d8%af%d9%88%d8%af%db%8c%d8%aa-%d9%87%d8%a7%db%8c","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/%d8%af%d8%b9%d9%88%d8%aa-%d9%87%d8%a7%db%8c-url-lambda-aws-%d8%a8%d8%a7-%d8%a7%d8%ad%d8%b1%d8%a7%d8%b2-%d9%87%d9%88%db%8c%d8%aa-iam-%d9%88-%d9%85%d8%ad%d8%af%d9%88%d8%af%db%8c%d8%aa-%d9%87%d8%a7%db%8c\/","title":{"rendered":"\u062f\u0639\u0648\u062a \u0647\u0627\u06cc URL Lambda AWS \u0628\u0627 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a IAM \u0648 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0647\u0627\u06cc \u067e\u0631\u062a\u0627\u0628"},"content":{"rendered":"<div data-article-id=\"2331452\" id=\"article-body\">\n<p><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fenhuzk831r38njly9sus.png\" alt=\"\u062a\u0635\u0648\u06cc\u0631 \u062a\u0648\u0633\u0637 svstudioart \u062f\u0631 freepik\" loading=\"lazy\" width=\"800\" height=\"533\" title=\"\"><\/p>\n<p><strong>\u0645\u0642\u062f\u0645\u0647:<\/strong><\/p>\n<p>\u0627\u06cc\u0646 \u067e\u0633\u062a \u0648\u0628\u0644\u0627\u06af \u062c\u0632\u0626\u06cc\u0627\u062a \u0686\u06af\u0648\u0646\u06af\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0627\u06cc\u0645\u0646 \u0627\u0632 \u062a\u0648\u0627\u0628\u0639 Lambda AWS \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 URL \u0647\u0627\u06cc Lambda \u0628\u0627 \u062a\u0623\u06cc\u06cc\u062f \u0647\u0648\u06cc\u062a AWS IAM \u0648 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0647\u0627\u06cc \u067e\u0631\u062a\u0627\u0628 \u0628\u0631\u0627\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0627\u0645\u0646\u06cc\u062a \u0628\u06cc\u0634\u062a\u0631 \u0628\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f Lambda \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f. \u0627\u06cc\u0646 \u0634\u0627\u0645\u0644 \u062a\u0646\u0638\u06cc\u0645 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0647\u0627\u06cc \u0644\u0627\u0632\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AWS CloudFormation \u060c \u062a\u0648\u0644\u06cc\u062f AWS Signature \u0646\u0633\u062e\u0647 4 \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u0634\u062f\u0647 \u0648 \u0622\u0632\u0645\u0627\u06cc\u0634 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 \u0648 \u0627\u0628\u0632\u0627\u0631 \u062a\u0633\u062a \u0645\u0627\u0646\u0646\u062f Postman \u0627\u0633\u062a.<\/p>\n<p><strong>\u062f\u0631\u0628\u0627\u0631\u0647 \u067e\u0631\u0648\u0698\u0647:<\/strong><\/p>\n<p>\u0627\u0632 \u0633\u0646\u0627\u0631\u06cc\u0648\u06cc \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f: \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u062a\u0648\u0627\u0628\u0639 \u0644\u0627\u0645\u0628\u062f\u0627 \u0627\u0632 \u0645\u062d\u06cc\u0637 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641. \u0627\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u062a\u0648\u0627\u0628\u0639 Lambda \u0627\u0632 \u0645\u062d\u06cc\u0637 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u060c \u0627\u0632 \u062c\u0645\u0644\u0647 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0647\u0627\u06cc \u063a\u06cc\u0631 AWS \u060c \u0645\u0627\u0646\u0646\u062f \u0645\u062d\u06cc\u0637 \u0647\u0627\u06cc \u0645\u062d\u0644\u06cc \u060c \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u062f\u0627\u062e\u0644\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u063a\u06cc\u0631\u0645\u062c\u0627\u0632 \u06cc\u0627 \u0644\u0631\u0632\u0627\u0646 \u06a9\u0647 \u0627\u0632 \u0639\u0645\u0644\u06a9\u0631\u062f \u0644\u0627\u0645\u0628\u062f\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u0645\u06cc \u06a9\u0646\u0646\u062f \u060c \u0647\u06cc\u0686 \u0647\u0632\u06cc\u0646\u0647 \u0627\u06cc \u0645\u062a\u062d\u0645\u0644 \u0646\u0645\u06cc \u0634\u0648\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 <strong>\u0646\u06a9\u0627\u062a \u06a9\u0644\u06cc\u062f\u06cc<\/strong>:<\/p>\n<p><em>\u0641\u0634\u0627\u0631 \u0648 \u0647\u0645\u0632\u0645\u0627\u0646<\/em>: \u062a\u0646\u0638\u06cc\u0645 <code>ReservedConcurrentExecutions<\/code> \u062a\u0639\u062f\u0627\u062f \u0627\u0639\u062f\u0627\u0645 \u0647\u0627\u06cc \u0647\u0645\u0632\u0645\u0627\u0646 \u0631\u0627 \u0645\u062d\u062f\u0648\u062f \u0645\u06cc \u06a9\u0646\u062f. \u062f\u0631 \u0635\u0648\u0631\u062a \u0631\u0633\u06cc\u062f\u0646 \u0628\u0647 \u062d\u062f \u0645\u062c\u0627\u0632 \u060c \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc \u0645\u0648\u0631\u062f \u0628\u0631\u0631\u0633\u06cc \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u062f \u0648 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u067e\u0631\u062a\u0627\u0628 \u0647\u06cc\u0686 \u0647\u0632\u06cc\u0646\u0647 \u0627\u06cc \u0645\u062a\u062d\u0645\u0644 \u0646\u0645\u06cc \u0634\u0648\u062f.<br \/><em>\u0634\u06a9\u0633\u062a \u0647\u0627\u06cc \u0645\u062c\u0648\u0632<\/em>: \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0647 \u062f\u0644\u06cc\u0644 \u062e\u0637\u0627\u0647\u0627\u06cc \u0645\u062c\u0648\u0632 (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u060c \u0627\u0639\u062a\u0628\u0627\u0631 IAM \u0646\u0627\u0645\u0639\u062a\u0628\u0631) \u0634\u06a9\u0633\u062a \u0645\u06cc \u062e\u0648\u0631\u0646\u062f \u060c \u0645\u0646\u062c\u0631 \u0628\u0647 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0644\u0627\u0645\u0628\u062f\u0627 \u0646\u0645\u06cc \u0634\u0648\u0646\u062f. \u0627\u06cc\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627 \u0641\u0642\u0637 \u062a\u0648\u0633\u0637 \u0633\u0631\u0648\u06cc\u0633 IAM \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f \u0648 \u0647\u06cc\u0686 \u0647\u0632\u06cc\u0646\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u063a\u06cc\u0631\u0645\u062c\u0627\u0632 \u0645\u062a\u062d\u0645\u0644 \u0646\u0645\u06cc \u0634\u0648\u062f.<br \/><em>\u0627\u0645\u0646\u06cc\u062a \u0627\u0636\u0627\u0641\u06cc<\/em>: AWS Shield Standard \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0628\u0631\u0627\u06cc \u062a\u0648\u0627\u0628\u0639 Lambda \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a. \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u0627\u0641\u062a.<br \/><em>\u0646\u0638\u0627\u0631\u062a<\/em>: \u0646\u0638\u0627\u0631\u062a \u0628\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f \u0644\u0627\u0645\u0628\u062f\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0627 \u0627\u06cc\u062c\u0627\u062f \u0632\u0646\u06af \u0647\u0634\u062f\u0627\u0631 CloudWatch \u0628\u0631 \u0627\u0633\u0627\u0633 \u0645\u062a\u0631\u06cc\u06a9 &#8220;\u062f\u0631\u06cc\u0686\u0647 \u06af\u0627\u0632&#8221; \u0645\u0641\u06cc\u062f \u0628\u0627\u0634\u062f.<\/p>\n<p>\u0645\u0646\u0627\u0628\u0639 \u0648 \u067e\u06cc\u0648\u0646\u062f\u0647\u0627\u06cc \u0645\u0641\u06cc\u062f:<br \/>\u062a\u0623\u06cc\u06cc\u062f \u0627\u0639\u062a\u0628\u0627\u0631 \u0645\u0633\u062a\u0646\u062f\u0627\u062a: AWS S3 &#8211; \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u0627\u0639\u062a\u0628\u0627\u0631.<br \/>\u0646\u0645\u0648\u0646\u0647 \u0647\u0627\u06cc\u06cc \u0627\u0632 \u0627\u06cc\u062c\u0627\u062f \u0627\u0645\u0636\u0627\u0647\u0627\u06cc AWS SIGV4 \u062f\u0631 \u0632\u0628\u0627\u0646 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc: \u0646\u0645\u0648\u0646\u0647 \u0647\u0627\u06cc \u0627\u0645\u0636\u0627\u06cc AWS SIGV4.<br \/>\u062a\u0648\u062c\u0647: URL \u0647\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f\u06cc \u062f\u0631 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0645\u0646\u0627\u0637\u0642 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0646\u0645\u06cc \u0634\u0648\u0646\u062f. \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u0627\u0641\u062a.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff1zogi5599bci1df9kad.png\" alt=\"\u0637\u0631\u062d\u0648\u0627\u0631\u0647 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a\u06cc\" loading=\"lazy\" width=\"622\" height=\"462\" title=\"\"><\/p>\n<p>\u062f\u0631 <code>generate_sigv4.sh<\/code> \u0641\u06cc\u0644\u0645\u0646\u0627\u0645\u0647:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>    #!\/bin\/sh\n\n    # Request parameters\n    METHOD=\"POST\"\n    SERVICE=\"lambda\"\n    REQUEST_PAYLOAD='{\"inputText\": \"Request to Lambda.\"}'  # simple payload\n\n    # Environment variables\n    AWS_ACCESS_KEY=$AWS_ACCESS_KEY_ID\n    AWS_SECRET_KEY=$AWS_SECRET_ACCESS_KEY\n    REGION=$AWS_REGION\n    HOST=$LAMBDA_FUNCTION_HOST\n    ENDPOINT=\"https:\/\/${HOST}\/\"\n\n    # Check if environment variables are set\n    if [ -z \"$AWS_ACCESS_KEY\" ] || [ -z \"$AWS_SECRET_KEY\" ] || [ -z \"$HOST\" ]; then\n      echo \"Error: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and LAMBDA_FUNCTION_HOST must be set as environment variables.\"\n      exit 1\n    fi\n\n    # Get the current date and time\n    AMZ_DATE=$(date -u +\"%Y%m%dT%H%M%SZ\")\n    DATE_STAMP=$(date -u +\"%Y%m%d\")\n\n    # Create a canonical request\n    CANONICAL_URI=\"https:\/\/dev.to\/\"\n    CANONICAL_QUERYSTRING=\"\"\n    CANONICAL_HEADERS=\"content-type:application\/json\\nhost:${HOST}\\nx-amz-date:${AMZ_DATE}\\n\"\n    SIGNED_HEADERS=\"content-type;host;x-amz-date\"\n    PAYLOAD_HASH=$(printf \"$REQUEST_PAYLOAD\" | openssl dgst -sha256 | sed 's\/^.* \/\/')\n    CANONICAL_REQUEST=\"${METHOD}\\n${CANONICAL_URI}\\n${CANONICAL_QUERYSTRING}\\n${CANONICAL_HEADERS}\\n${SIGNED_HEADERS}\\n${PAYLOAD_HASH}\"\n\n    # Create a string to sign\n    ALGORITHM=\"AWS4-HMAC-SHA256\"\n    CREDENTIAL_SCOPE=\"${DATE_STAMP}\/${REGION}\/${SERVICE}\/aws4_request\"\n    STRING_TO_SIGN=\"${ALGORITHM}\\n${AMZ_DATE}\\n${CREDENTIAL_SCOPE}\\n$(printf \"$CANONICAL_REQUEST\" | openssl dgst -sha256 | sed 's\/^.* \/\/')\"\n\n    # Create the signing key\n    kSecret=$(printf \"AWS4${AWS_SECRET_KEY}\" | xxd -p -c 256)\n    kDate=$(printf \"${DATE_STAMP}\" | openssl dgst -sha256 -mac HMAC -macopt hexkey:\"$kSecret\" | sed 's\/^.* \/\/')\n    kRegion=$(printf \"${REGION}\" | openssl dgst -sha256 -mac HMAC -macopt hexkey:\"$kDate\" | sed 's\/^.* \/\/')\n    kService=$(printf \"${SERVICE}\" | openssl dgst -sha256 -mac HMAC -macopt hexkey:\"$kRegion\" | sed 's\/^.* \/\/')\n    kSigning=$(printf \"aws4_request\" | openssl dgst -sha256 -mac HMAC -macopt hexkey:\"$kService\" | sed 's\/^.* \/\/')\n\n    # Create the signature\n    SIGNATURE=$(printf \"$STRING_TO_SIGN\" | openssl dgst -sha256 -mac HMAC -macopt hexkey:\"$kSigning\" | sed 's\/^.* \/\/')\n\n    # Create the authorization header\n    AUTHORIZATION_HEADER=\"${ALGORITHM} Credential=${AWS_ACCESS_KEY}\/${CREDENTIAL_SCOPE}, SignedHeaders=${SIGNED_HEADERS}, Signature=${SIGNATURE}\"\n\n    # Output the necessary information for test tool like Postman\n    echo  \"Endpoint: ${ENDPOINT}\\n\"\n    echo  \"x-amz-date: ${AMZ_DATE}\\n\"\n    echo  \"Authorization: ${AUTHORIZATION_HEADER}\\n\"\n    echo  \"Payload: ${REQUEST_PAYLOAD}\\n\"\n\n    # Output the curl command\n    echo  \"curl -X ${METHOD} \\\"${ENDPOINT}\\\" -H \\\"Content-Type: application\/json\\\" -H \\\"x-amz-date: ${AMZ_DATE}\\\" -H \\\"Authorization: ${AUTHORIZATION_HEADER}\\\" -d '${REQUEST_PAYLOAD}'\\n\"\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627:<\/strong><\/p>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u060c \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0634\u0631\u0627\u06cc\u0637 \u0632\u06cc\u0631 \u0628\u0631\u0622\u0648\u0631\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f:<\/p>\n<ul>\n<li>\u06cc\u06a9 \u062d\u0633\u0627\u0628 AWS \u0628\u0627 \u0645\u062c\u0648\u0632\u0647\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u0646\u0627\u0628\u0639.<\/li>\n<li>AWS CLI https:\/\/aws.amazon.com\/cli\/ \u0646\u0635\u0628 \u0634\u062f\u0647 \u062f\u0631 \u062f\u0633\u062a\u06af\u0627\u0647 \u0645\u062d\u0644\u06cc.<\/li>\n<li>OpenSSL \u0646\u0635\u0628 \u0634\u062f\u0647 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0622\u0632\u0645\u0627\u06cc\u0634.<\/li>\n<\/ul>\n<p><strong>\u0627\u0633\u062a\u0642\u0631\u0627\u0631:<\/strong><\/p>\n<p>1. \u0645\u062e\u0632\u0646 \u0631\u0627 \u06a9\u0644\u0648\u0646 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>    git clone https:\/\/gitlab.com\/Andr1500\/lambda-url-with-iam-auth.git\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>2. \u0633\u0647\u0645\u06cc\u0647 \u0627\u0639\u062f\u0627\u0645 \u0647\u0645\u0632\u0645\u0627\u0646 \u0639\u0645\u0644\u06a9\u0631\u062f \u0644\u0627\u0645\u0628\u062f\u0627 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f (\u062f\u0631 \u0635\u0648\u0631\u062a \u0644\u0632\u0648\u0645).<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>    aws service-quotas get-service-quota \\\n        --service-code lambda \\\n        --quota-code L-B99A9384\n\n    aws service-quotas request-service-quota-increase \\\n        --service-code lambda \\\n        --quota-code L-B99A9384 \\\n        --desired-value 100\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>3. \u062f\u0631 \u062a\u0645\u0627\u0645 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u0644\u0627\u0632\u0645 \u062f\u0631 \u0627\u0644\u06af\u0648\u06cc \u0632\u06cc\u0631\u0633\u0627\u062e\u062a\/root.yAML cloudformation \u0648 \u0627\u06cc\u062c\u0627\u062f \u067e\u0634\u062a\u0647 CloudFormation.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>    aws cloudformation create-stack \\\n        --stack-name invoke-lambda-url-iam-auth \\\n        --template-body file:\/\/infrastructure\/root.yaml \\\n        --capabilities CAPABILITY_NAMED_IAM \\\n        --disable-rollback\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>4. \u0628\u0631\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637 \u060c \u0628\u0627\u0632\u062f\u0647 \u062e\u0631\u0648\u062c\u06cc \u0647\u0627 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>    aws cloudformation describe-stacks \\\n        --stack-name invoke-lambda-url-iam-auth \\\n        --query \"Stacks[0].Outputs\" --output json\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>5.SET SETION \u0645\u0646\u0637\u0642\u0647 \u060c \u0645\u06cc\u0632\u0628\u0627\u0646 \u0639\u0645\u0644\u06a9\u0631\u062f Lambda \u060c \u062f\u0633\u062a\u0631\u0633\u06cc \u0648 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u0645\u062e\u0641\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 IAM \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0622\u0632\u0645\u0627\u06cc\u0634.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>    export AWS_ACCESS_KEY_ID=<access key=\"\">\n    export AWS_SECRET_ACCESS_KEY=<secret access=\"\" key=\"\">\n    export AWS_REGION=<region>\n    export LAMBDA_FUNCTION_HOST=<function-url.lambda-url-region.amazonaws.com>\n<\/function-url.lambda-url-region.amazonaws.com><\/region><\/secret><\/access><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>6. \u062a\u0648\u0644\u06cc\u062f AWS Signature V4 \u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0627\u0631\u0633\u0627\u0644 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>generate_sigv4.sh<\/code> \u0641\u06cc\u0644\u0645\u0646\u0627\u0645\u0647<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>    .\/generate_sigv4.sh\n\n    curl -X POST \"https:\/\/.<url-id>.<region>.on.aws\/\" -H \"Content-Type: application\/json\" -H \"x-amz-date: 20240619T150022Z\" -H \"Authorization: AWS4-HMAC-SHA256 Credential=<access-key>\/20240619\/<region>\/lambda\/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=<signarure-content>\" -d '{\"inputText\": \"Request to Lambda.\"}'\n<\/signarure-content><\/region><\/access-key><\/region><\/url-id><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0622\u0632\u0645\u0627\u06cc\u0634 \u0627\u0632 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 \u0648 \u067e\u0633\u062a\u0686\u06cc:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8e6qv6s8w34dp81imp1k.png\" alt=\"*\u0627\u0645\u0636\u0627\u0621 \u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a URL \u0639\u0645\u0644\u06a9\u0631\u062f Lambda \u0627\u0632 CLI*\" loading=\"lazy\" width=\"800\" height=\"373\" title=\"\"><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frztkhn8fx7s65kmytp2u.png\" alt=\"*\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0627\u0632 \u067e\u0633\u062a\u0686\u06cc \u060c \u067e\u0627\u0633\u062e \u0635\u062d\u06cc\u062d*\" loading=\"lazy\" width=\"800\" height=\"287\" title=\"\"><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0g58shdqtv69mojbwr6f.png\" alt=\"\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0627\u0632 \u067e\u0633\u062a\u0686\u06cc \u060c \u0627\u0645\u0636\u0627\u06cc \u0645\u0646\u0642\u0636\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a\" loading=\"lazy\" width=\"800\" height=\"311\" title=\"\"><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F05recqmqcd8qax2lj92z.png\" alt=\"\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0627\u0632 \u067e\u0633\u062a\u0686\u06cc \u060c \u0647\u062f\u0631 \u0646\u0627\u062f\u0631\u0633\u062a \u0627\u0633\u062a\" loading=\"lazy\" width=\"800\" height=\"318\" title=\"\"><\/p>\n<p>7. \u067e\u0634\u062a\u0647 CloudFormation \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>    aws cloudformation delete-stack --stack-name invoke-lambda-url-iam-auth\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc:<\/strong><\/p>\n<p>\u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 URL \u0647\u0627\u06cc Lambda \u0628\u0627 \u062a\u0623\u06cc\u06cc\u062f \u0647\u0648\u06cc\u062a IAM \u060c \u0639\u0645\u0644\u06a9\u0631\u062f\u0647\u0627\u06cc AWS Lambda \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0627\u06cc\u0645\u0646 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0631\u062f. \u0627\u0645\u0646\u06cc\u062a \u0627\u0636\u0627\u0641\u06cc \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0627 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0647\u0627\u06cc \u067e\u0631\u062a\u0627\u0628 \u0648 \u0646\u0638\u0627\u0631\u062a \u0628\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f Lambda \u0628\u0627 \u0622\u0644\u0627\u0631\u0645 CloudWatch \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f.<\/p>\n<p>\u0627\u06af\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0631\u0627 \u0645\u0641\u06cc\u062f \u0648 \u062c\u0627\u0644\u0628 \u062f\u06cc\u062f\u06cc\u062f \u060c \u0644\u0637\u0641\u0627\u064b \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u062e\u0648\u062f \u0631\u0627 \u0646\u0634\u0627\u0646 \u062f\u0647\u06cc\u062f. \u062f\u0631 \u0635\u0648\u0631\u062a \u062a\u0645\u0627\u06cc\u0644 \u0628\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0648 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0634\u062a\u0646 \u0627\u06cc\u0646 \u067e\u0633\u062a. \ud83d\ude42<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0642\u062f\u0645\u0647: \u0627\u06cc\u0646 \u067e\u0633\u062a \u0648\u0628\u0644\u0627\u06af \u062c\u0632\u0626\u06cc\u0627\u062a \u0686\u06af\u0648\u0646\u06af\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0627\u06cc\u0645\u0646 \u0627\u0632 \u062a\u0648\u0627\u0628\u0639 Lambda AWS \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 URL \u0647\u0627\u06cc Lambda \u0628\u0627 \u062a\u0623\u06cc\u06cc\u062f \u0647\u0648\u06cc\u062a AWS IAM \u0648 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0647\u0627\u06cc \u067e\u0631\u062a\u0627\u0628 \u0628\u0631\u0627\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0627\u0645\u0646\u06cc\u062a \u0628\u06cc\u0634\u062a\u0631 \u0628\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f Lambda \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f. \u0627\u06cc\u0646 \u0634\u0627\u0645\u0644 \u062a\u0646\u0638\u06cc\u0645 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0647\u0627\u06cc \u0644\u0627\u0632\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AWS CloudFormation \u060c \u062a\u0648\u0644\u06cc\u062f AWS Signature \u0646\u0633\u062e\u0647 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":101424,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/media2.dev.to\/dynamic\/image\/width=1000,height=500,fit=cover,gravity=auto,format=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6b8ylnnr4qmnwh3vx02.png","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-101423","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/101423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=101423"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/101423\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/101424"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=101423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=101423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=101423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}