{"id":6378,"date":"2024-05-04T16:42:41","date_gmt":"2024-05-04T07:42:41","guid":{"rendered":"https:\/\/engineer-chanpu.blog\/?p=6378"},"modified":"2024-05-06T13:13:52","modified_gmt":"2024-05-06T04:13:52","slug":"storage-account-azcopy-%ec%9d%b8%ec%a6%9d-%eb%b0%a9%ec%8b%9d-%eb%b0%8f-%ec%82%ac%ec%9a%a9%eb%b2%95-%ec%95%8c%ec%95%84-%eb%b3%b4%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/engineer-chanpu.blog\/?p=6378","title":{"rendered":"Storage Account: AzCopy \uc778\uc99d \ubc29\uc2dd \ubc0f \uc0ac\uc6a9\ubc95 \uc54c\uc544 \ubcf4\uae30 #1"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">Agenda<\/h1>\n\n\n\n<ol class=\"wp-block-list\">\n<li>AzCopy \uc778\uc99d \ubc29\uc2dd \uc54c\uc544 \ubcf4\uae30\n<ul class=\"wp-block-list\">\n<li><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Microsoft Entra ID \uc778\uc99d \ubc29\uc2dd<\/mark>\n<ul class=\"wp-block-list\">\n<li><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Authorize a user identity<\/mark><\/li>\n\n\n\n<li><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Authorize a managed identity<\/mark><\/li>\n\n\n\n<li>Authorize by using a system-wide managed identity # Skip<\/li>\n\n\n\n<li>Authorize by using a user-assigned managed identity # Skip<\/li>\n\n\n\n<li>Authorize a service principal # Skip<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Storage Account SAS Token \uc778\uc99d \ubc29\uc2dd # Skip<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">AzCopy \uc778\uc99d \ubc29\uc2dd \uc54c\uc544 \ubcf4\uae30<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\uc0ac\uc804 \uc900\ube44<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\ud14c\uc2a4\ud2b8\uc6a9 Storage Container \ub9cc\ub4e4\uae30<\/li>\n<\/ol>\n\n\n\n<p>\ucc38\uace0:<br><a href=\"http:\/\/az storage account create\">az storage account create<\/a><br><a href=\"https:\/\/learn.microsoft.com\/en-us\/cli\/azure\/storage\/container?view=azure-cli-latest\">az storage container<\/a><br><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/storage\/blobs\/storage-quickstart-blobs-cli\">Quickstart: Create, download, and list blobs with Azure CLI<\/a><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# Variables\n$RESOURCE_GROUP = &quot;YourResourceGroupName&quot;\n$LOCATION = &quot;Location&quot;\n$STORAGE_ACCOUNT = &quot;YourStorageAccountName&quot;\n$CONTAINER = &quot;YourContainerName&quot;\n\n# Create a resource group\naz group create `\n    --name $RESOURCE_GROUP `\n    --location $LOCATION\n\n# Create a storage account\naz storage account create `\n    --name $STORAGE_ACCOUNT `\n    --resource-group $RESOURCE_GROUP `\n    --location $LOCATION `\n    --sku Standard_LRS `\n    --encryption-services blob\n\t\n# Retrieve storage account details and convert the output to JSON\n$STORAGE_ACCOUNT_INFO = az storage account show `\n    --resource-group $RESOURCE_GROUP `\n    --name $STORAGE_ACCOUNT | ConvertFrom-Json\n\n# Save the storage account ID to a variable\n$STORAGE_ACCOUNT_ID = $STORAGE_ACCOUNT_INFO.id\n\n# Create a container\n$USER_ID=az ad signed-in-user show --query id -o tsv\n\naz role assignment create `\n--role &quot;Storage Blob Data Contributor&quot; `\n--assignee $USER_ID `\n--scope $STORAGE_ACCOUNT_ID\n\naz storage container create `\n--account-name $STORAGE_ACCOUNT `\n--name $CONTAINER `\n--auth-mode login\n\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Variables<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">$RESOURCE_GROUP<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #CE9178\">&quot;YourResourceGroupName&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">$LOCATION<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #CE9178\">&quot;Location&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">$STORAGE_ACCOUNT<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #CE9178\">&quot;YourStorageAccountName&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">$CONTAINER<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #CE9178\">&quot;YourContainerName&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Create a resource group<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">az group create `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    --name <\/span><span style=\"color: #9CDCFE\">$RESOURCE_GROUP<\/span><span style=\"color: #D4D4D4\"> `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    --location <\/span><span style=\"color: #9CDCFE\">$LOCATION<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Create a storage account<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">az storage account create `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    --name <\/span><span style=\"color: #9CDCFE\">$STORAGE_ACCOUNT<\/span><span style=\"color: #D4D4D4\"> `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    --resource-group <\/span><span style=\"color: #9CDCFE\">$RESOURCE_GROUP<\/span><span style=\"color: #D4D4D4\"> `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    --location <\/span><span style=\"color: #9CDCFE\">$LOCATION<\/span><span style=\"color: #D4D4D4\"> `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    --sku Standard_LRS `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    --encryption-services blob<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Retrieve storage account details and convert the output to JSON<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">$STORAGE_ACCOUNT_INFO<\/span><span style=\"color: #D4D4D4\"> = az storage account show `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    --resource-group <\/span><span style=\"color: #9CDCFE\">$RESOURCE_GROUP<\/span><span style=\"color: #D4D4D4\"> `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    --name <\/span><span style=\"color: #9CDCFE\">$STORAGE_ACCOUNT<\/span><span style=\"color: #D4D4D4\"> | <\/span><span style=\"color: #DCDCAA\">ConvertFrom-Json<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Save the storage account ID to a variable<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">$STORAGE_ACCOUNT_ID<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">$STORAGE_ACCOUNT_INFO<\/span><span style=\"color: #DCDCAA\">.id<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Create a container<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">$USER_ID<\/span><span style=\"color: #D4D4D4\">=az ad signed-in-user show --query id -o tsv<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">az role assignment create `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">--role <\/span><span style=\"color: #CE9178\">&quot;Storage Blob Data Contributor&quot;<\/span><span style=\"color: #D4D4D4\"> `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">--assignee <\/span><span style=\"color: #9CDCFE\">$USER_ID<\/span><span style=\"color: #D4D4D4\"> `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">--scope <\/span><span style=\"color: #9CDCFE\">$STORAGE_ACCOUNT_ID<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">az storage container create `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">--account-name <\/span><span style=\"color: #9CDCFE\">$STORAGE_ACCOUNT<\/span><span style=\"color: #D4D4D4\"> `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">--name <\/span><span style=\"color: #9CDCFE\">$CONTAINER<\/span><span style=\"color: #D4D4D4\"> `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">--auth-mode login<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"344\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-48-1024x344.png\" alt=\"\" class=\"wp-image-6380\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-48-1024x344.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-48-300x101.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-48-768x258.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-48-1536x516.png 1536w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-48.png 1888w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">(1) blob container \ud655\uc778<\/figcaption><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Microsoft Entra ID \uc778\uc99d \ubc29\uc2dd<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Authorize a <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">user <\/mark>identity<\/h3>\n\n\n\n<p>Microsoft Entra ID \uc0ac\uc6a9\uc790 \uacc4\uc815\uc744 \uc0ac\uc6a9\ud558\uc5ec AzCopy \uc5d0 \uc778\uc99d\ud558\ub294 \ubc29\uc2dd\uc774\ub2e4.<\/p>\n\n\n\n<p>\uc0ac\uc6a9\uc790\uc758 \uc790\uaca9\uc99d\uba85\uc744 \uc9c1\uc811 \uc0ac\uc6a9\ud558\uc5ec \ubcf4\ub2e4 \uc138\ubc00\ud55c \uc811\uadfc \uc81c\uc5b4\ub97c \uad6c\ud604\ud560 \uc218 \uc788\ub2e4. \uc8fc\ub85c \uac1c\ubc1c \ubc0f \ud14c\uc2a4\ud2b8 \ud658\uacbd\uc5d0\uc11c \uc0ac\uc6a9\uc790\uac00 \uc9c1\uc811 \uc791\uc5c5\uc744 \uad00\ub9ac\ud560 \ud544\uc694\uac00 \uc788\uc744 \ub54c \uc801\ud569\ud558\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uac1c\ubc1c\uc790\uac00 \uac1c\uc778\uc801\uc73c\ub85c \ub370\uc774\ud130\ub97c Azure Storage \ub85c \uc774\ub3d9 \ubc0f \ubc31\uc5c5\uc744 \uc2e4\uc2dc\ud558\ub294 \uacbd\uc6b0<\/li>\n\n\n\n<li>\ud14c\uc2a4\ud2b8 \ud658\uacbd\uc5d0\uc11c \uac1c\ubcc4\uc801\uc778 \ub370\uc774\ud130 \uc811\uadfc \ubc0f \uad00\ub9ac\uac00 \ud544\uc694\ud55c \uacbd\uc6b0<\/li>\n<\/ul>\n\n\n\n<p>\ucc38\uace0:<br><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/storage\/common\/storage-use-azcopy-authorize-azure-active-directory?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&amp;bc=%2Fazure%2Fstorage%2Fblobs%2Fbreadcrumb%2Ftoc.json\">Authorize access to blobs and files with AzCopy and Microsoft Entra ID<\/a><br><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/storage\/common\/storage-ref-azcopy-login?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&amp;bc=%2Fazure%2Fstorage%2Fblobs%2Fbreadcrumb%2Ftoc.json\">azcopy login<\/a><\/p>\n\n\n\n<p><code>azcopy login [flag]<\/code> \uba85\ub839\uc5b4\ub97c \uc2e4\ud589\ud560 \ub54c \uae30\ubcf8\uac12\uc73c\ub85c \ub3d9\uc791\uc744 \ud658\uacbd \ubcc0\uc218\ub85c \uc9c0\uc815\ud560 \uc218 \uc788\ub2e4 (Optional)<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"$env:AZCOPY_AUTO_LOGIN_TYPE=&quot;DEVICE&quot;\n\n# Authorize with Entra User ID\nazcopy login\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9CDCFE\">$env:AZCOPY_AUTO_LOGIN_TYPE<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;DEVICE&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Authorize with Entra User ID<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">azcopy login<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\ub098\ub294  GitHub \uacc4\uc815\uc744 \uc0ac\uc6a9\ud574\uc11c Azure \ud14c\ub10c\ud2b8\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\ub294\ub370, User \uc778\uc99d\uc5d0\uc11c \uc2e4\ud328 \ud588\ub2e4.<\/p>\n\n\n\n<p>\ud574\uacb0 \ubc29\ubc95\uc73c\ub85c\ub294 <code>azcopy login --tenant-id [YourTanatId]<\/code> \uc635\uc158\uc744 \uc0ac\uc6a9\ud558\uba74 \uc815\uc0c1\uc801\uc73c\ub85c User \uc778\uc99d\uc774 \uac00\ub2a5\ud558\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"$AZ_INFO=az account show | convertfrom-json\n$AZ_TENANT_ID=$AZ_INFO.tenantId\n\nazcopy login --tenant-id $AZ_TENANT_ID\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9CDCFE\">$AZ_INFO<\/span><span style=\"color: #D4D4D4\">=az account show | <\/span><span style=\"color: #DCDCAA\">convertfrom-json<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">$AZ_TENANT_ID<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\">$AZ_INFO<\/span><span style=\"color: #DCDCAA\">.tenantId<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">azcopy login --tenant-id <\/span><span style=\"color: #9CDCFE\">$AZ_TENANT_ID<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"688\" height=\"885\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-50.png\" alt=\"\" class=\"wp-image-6382\" style=\"width:337px;height:auto\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-50.png 688w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-50-233x300.png 233w\" sizes=\"auto, (max-width: 688px) 100vw, 688px\" \/><figcaption class=\"wp-element-caption\">(2) User \uc778\uc99d \uc2e4\ud328 \uc608<\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"134\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-51-1024x134.png\" alt=\"\" class=\"wp-image-6383\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-51-1024x134.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-51-300x39.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-51-768x101.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-51-1536x202.png 1536w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-51.png 2004w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">(3) Tenant ID \uc635\uc158\uc73c\ub85c \uc778\uc99d \uc131\uacf5<\/figcaption><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Authorize a <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">managed <\/mark>identity<\/h3>\n\n\n\n<p> Azure \uc5d0 \uc758\ud574 \uad00\ub9ac\ub418\ub294 Managed ID \ub97c \uc0ac\uc6a9\ud558\uc5ec \uc0ac\uc6a9\uc790\uc758 \uac1c\uc785 \uc5c6\uc774 \uc11c\ube44\uc2a4\ub098 \uc571\uc758 \uc778\uc99d\uc744 \uc790\ub3d9\uc73c\ub85c \ucc98\ub9ac\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p> \uc8fc\ub85c Azure Virtual Machine, Functions \uc640 \uac19\uc740 \uc11c\ube44\uc2a4\uc5d0\uc11c \uc0ac\uc6a9\ub41c\ub2e4. \uc778\uc99d \uacfc\uc815\uc5d0\uc11c \uc0ac\uc6a9\uc790\uc758 \uac1c\uc785\uc774 \ud544\uc694 \uc5c6\uace0, \ubcf4\uc548\uc801\uc778 \uce21\uba74\uc5d0\uc11c \uc548\uc804\ud55c \uc7a5\uc810\uc774 \uc788\ub2e4. \ub300\uaddc\ubaa8 \uc571, \ud504\ub85c\ub355\uc158 \ud658\uacbd, \uc790\ub3d9\ud654 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc0ac\uc6a9\ud560 \ub54c \uc720\uc6a9\ud558\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Azure \uc5d0\uc11c \ud638\uc2a4\ud305\ub418\ub294 \uc571\uc5d0\uc11c \ub370\uc774\ud130 \ucc98\ub9ac\ub97c \uc790\ub3d9\ud654\ud558\ub294 \uacbd\uc6b0<\/li>\n\n\n\n<li>Azure VM \uc5d0\uc11c Azure Storage \uc5d0 \uc811\uadfc\ud558\uace0 \uc791\uc5c5\uc744 \uc790\ub3d9\ud654 \ud558\ub294 \uacbd\uc6b0<\/li>\n\n\n\n<li>\ud504\ub85c\ub355\uc158 \ud658\uacbd\uc5d0\uc11c \ub370\uc774\ud130 \uad00\ub9ac \ubc0f \ubc31\uc5c5\uc744 \uc790\ub3d9\ud654 \ud558\ub294 \uacbd\uc6b0<\/li>\n<\/ul>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">\uc0ac\uc804 \uc900\ube44<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Azure Virtual Machine (Windows) \ubc30\ud3ec<\/li>\n\n\n\n<li>System Assigned Managed ID \uc124\uc815<\/li>\n\n\n\n<li>Storage Account IAM \uc124\uc815\uc5d0\uc11c Azure VM Managed ID \uad8c\ud55c \uc124\uc815<\/li>\n\n\n\n<li>Azure Virtual Machine \uc5d0 azcopy.exe \uc124\uce58 \ubc0f \ud658\uacbd \ubcc0\uc218 \uc124\uc815<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-korean-engineer-in-japan wp-block-embed-korean-engineer-in-japan\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"WRYvM7JjMb\"><a href=\"https:\/\/engineer-chanpu.blog\/azure\/storage-account-azcopy-%ec%84%a4%ec%b9%98-%eb%b0%8f-%ea%b8%b0%eb%8a%a5-%ec%95%8c%ec%95%84-%eb%b3%b4%ea%b8%b0\/\">Storage Account: AzCopy \uc124\uce58 \ubc0f \uae30\ub2a5 \uc54c\uc544 \ubcf4\uae30<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;Storage Account: AzCopy \uc124\uce58 \ubc0f \uae30\ub2a5 \uc54c\uc544 \ubcf4\uae30&#8221; &#8212; Korean Engineer in Japan\" src=\"https:\/\/engineer-chanpu.blog\/azure\/storage-account-azcopy-%ec%84%a4%ec%b9%98-%eb%b0%8f-%ea%b8%b0%eb%8a%a5-%ec%95%8c%ec%95%84-%eb%b3%b4%ea%b8%b0\/embed\/#?secret=uAOeAQjKWp#?secret=WRYvM7JjMb\" data-secret=\"WRYvM7JjMb\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">azcopy.exe \uc124\uce58 \ubc0f \ud658\uacbd \ubcc0\uc218 \uc124\uc815<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"626\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-53-1024x626.png\" alt=\"\" class=\"wp-image-6386\" style=\"width:730px;height:auto\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-53-1024x626.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-53-300x183.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-53-768x470.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-53.png 1362w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">(1) Azure VM Managed ID \uc124\uc815<\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"522\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-55-1024x522.png\" alt=\"\" class=\"wp-image-6388\" style=\"width:724px;height:auto\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-55-1024x522.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-55-300x153.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-55-768x391.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-55-1536x783.png 1536w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-55.png 1760w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">(2) Storage Account IAM \uc124\uc815<\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"223\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-54-1024x223.png\" alt=\"\" class=\"wp-image-6387\" style=\"width:730px;height:auto\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-54-1024x223.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-54-300x65.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-54-768x167.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-54.png 1032w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">(2) azcopy.exe \uc124\uce58, \ud658\uacbd \ubcd1\uc218 \uc124\uc815 \ubc0f \ud655\uc778<\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Azure VM \uc5d0\uc11c AzCopy \ub3d9\uc791 \ud655\uc778<\/h4>\n\n\n\n<p>Tip. Permission \ubb38\uc81c\ub85c Failed \ud55c \uacbd\uc6b0, Storage Account \uc758 IAM \uc124\uc815\uc744 \ub2e4\uc2dc \ud655\uc778\ud55c\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"458\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-56-1024x458.png\" alt=\"\" class=\"wp-image-6389\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-56-1024x458.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-56-300x134.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-56-768x343.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-56-1536x687.png 1536w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-56.png 1800w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">(1) azcopy list &lt;blob endpoint> \uc2e4\ud328 \ubc0f \uc131\uacf5 \uc608\uc2dc<\/figcaption><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-57-1024x481.png\" alt=\"\" class=\"wp-image-6390\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-57-1024x481.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-57-300x141.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-57-768x361.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-57.png 1115w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">(2-1) azcopy \uc5c5\ub85c\ub4dc \uc608\uc2dc<\/figcaption><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"547\" height=\"99\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-59.png\" alt=\"\" class=\"wp-image-6392\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-59.png 547w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-59-300x54.png 300w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><figcaption class=\"wp-element-caption\">(2-2) <code>azcopy list<\/code> \ub85c \uc5c5\ub85c\ub4dc \ud655\uc778<\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"251\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-58-1024x251.png\" alt=\"\" class=\"wp-image-6391\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-58-1024x251.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-58-300x73.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-58-768x188.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-58-1536x376.png 1536w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-58.png 1884w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">(2-3) Azure Portal \uc5d0\uc11c \uc5c5\ub85c\ub4dc \ud655\uc778<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Agenda AzCopy \uc778\uc99d \ubc29\uc2dd \uc54c\uc544 \ubcf4\uae30 \uc0ac\uc804 \uc900\ube44 \ucc38\uace0:az storage account createaz storage containerQuickstart: Create, download, and list blobs with Azure CLI Microsoft Entra ID \uc778\uc99d \ubc29\uc2dd Authorize a user &#8230;<\/p>\n","protected":false},"author":1,"featured_media":6393,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[205,107,200,33],"tags":[123,178],"class_list":["post-6378","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-access-security","category-azure","category-data-storage-solutions","category-tech-notes","tag-azure","tag-storage-accounts"],"_links":{"self":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts\/6378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6378"}],"version-history":[{"count":5,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts\/6378\/revisions"}],"predecessor-version":[{"id":6397,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts\/6378\/revisions\/6397"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/media\/6393"}],"wp:attachment":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}