{"id":2646,"date":"2024-03-24T00:55:17","date_gmt":"2024-03-23T15:55:17","guid":{"rendered":"https:\/\/manvscloud.com\/?p=2646"},"modified":"2024-03-25T02:20:21","modified_gmt":"2024-03-24T17:20:21","slug":"ncloud-sub-account-%ed%9a%a8%ec%9c%a8%ec%a0%81%ec%9c%bc%eb%a1%9c-%ea%b4%80%eb%a6%ac%ed%95%98%ea%b8%b0-1%ed%8e%b8","status":"publish","type":"post","link":"https:\/\/manvscloud.com\/?p=2646","title":{"rendered":"[NCLOUD] Sub Account \ud6a8\uc728\uc801\uc73c\ub85c \uad00\ub9ac\ud558\uae30 [1\ud3b8]"},"content":{"rendered":"\n<p>\uc548\ub155\ud558\uc138\uc694 MANVSCLOUD \uae40\uc218\ud604\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc5d0\uc11c\ub294 Sub Account \uae30\ub2a5\uc744 \ud1b5\ud574 \uc0ac\uc6a9\uc790\uac00 \ub8e8\ud2b8 \uacc4\uc815\uc744 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uace0\ub3c4 \ucd94\uac00 \uc11c\ube0c \uacc4\uc815\uc744 \uc0dd\uc131\ud558\uc5ec \uc5ed\ud560\ubcc4 \uad8c\ud55c\uc744 \ubd80\uc5ec\ud558\uace0 \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 \ud504\ub85c\uc81d\ud2b8 \uc9c4\ud589 \uc2dc \ub2e4\uc591\ud55c \uc5c5\uccb4\uc640 \ud300 \uac04\uc758 \ud611\uc5c5\uc744 \uc6a9\uc774\ud558\uac8c \ud558\uba70 \ud6a8\uc728\uc801\uc778 \ub9ac\uc18c\uc2a4 \uad00\ub9ac\ub97c \uac00\ub2a5\ud558\uac8c \ud569\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ud504\ub85c\uc81d\ud2b8 \uc885\ub8cc \ud6c4 \ub610\ub294 \uc778\ub825 \ubcc0\ub3d9\uc73c\ub85c \uc778\ud574 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\ub294 Sub Account\uac00 \ubc29\uce58\ub420 \uacbd\uc6b0 \ubd88\ud544\uc694\ud55c \ub9ac\uc18c\uc2a4 \ub0ad\ube44\ub294 \ubb3c\ub860 \ubcf4\uc548\uc0c1\uc758 \ucde8\uc57d\uc810\uc73c\ub85c \ubc1c\uc804\ud560 \uc704\ud5d8\uc774 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\uc774 \ud3ec\uc2a4\ud305\uc5d0\uc11c\ub294 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \uc11c\ube44\uc2a4\ub97c \ud65c\uc6a9\ud558\uc5ec Sub Account\uc758 \ucd5c\uc885 \uc811\uc18d \uc77c\uc2dc\uac00 \ud2b9\uc815 \uae30\uac04\uc744 \ucd08\uacfc\ud560 \uacbd\uc6b0 \uc790\ub3d9\uc73c\ub85c \uacc4\uc815\uc744 \ube44\ud65c\uc131\ud654 \ucc98\ub9ac\ud558\ub294 \ubc29\ubc95\uc744 \uacf5\uc720\ud560 \uac83\uc785\ub2c8\ub2e4. <\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-white-color has-vivid-green-cyan-background-color has-text-color has-background\"> How?<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"100\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24002442\/subaccount-last-01-1024x100.png\" alt=\"\" class=\"wp-image-2647\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24002442\/subaccount-last-01-1024x100.png 1024w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24002442\/subaccount-last-01-300x29.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24002442\/subaccount-last-01-768x75.png 768w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24002442\/subaccount-last-01-1536x150.png 1536w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24002442\/subaccount-last-01-1080x105.png 1080w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24002442\/subaccount-last-01.png 1611w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc758 Sub Account \uad00\ub9ac \ud654\uba74\uc5d0\uc11c\ub294 \uc704 \uc0ac\uc9c4\uacfc \uac19\uc774 \uc885\uc885 \ucd5c\uc885 \uc811\uc18d \uc77c\uc2dc\uac00 \uc624\ub798\ub41c \uacc4\uc815\ub4e4\uc774 \uc5ec\uc804\ud788 &#8220;\uc0ac\uc6a9 \uc911&#8221; \uc0c1\ud0dc\ub85c \ub0a8\uc544 \uc788\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \uc624\ub79c \uc2dc\uac04\ub3d9\uc548 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uace0 \ubc29\uce58\ub41c Sub Account\ub97c \uc218\ub3d9\uc73c\ub85c \ud655\uc778\ud558\uace0 \ube44\ud65c\uc131\ud654\ud558\ub294 \uacfc\uc815\uc740 \ub9e4\uc6b0 \ubc88\uac70\ub86d\uace0 \uc2dc\uac04\uc774 \ub9ce\uc774 \uc18c\uc694\ub429\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\uc774 \ubb38\uc81c\ub97c \ud6a8\uc728\uc801\uc73c\ub85c \ud574\uacb0\ud560 \ubc29\ubc95\uc774 \ud544\uc694\ud55c\ub370 \ubc14\ub85c \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 API\ub97c \ud65c\uc6a9\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uac04\ub2e8\ud558\uac8c Python \ucf54\ub4dc\ub97c \uc791\uc131\ud558\uc5ec \uc790\ub3d9\ud654 \uacfc\uc815\uc744 \uad6c\ud604\ud574\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-white-color has-vivid-green-cyan-background-color has-text-color has-background\"> Hands On Lab<\/h3>\n\n\n\n<p>\ucd5c\uc885 \uc811\uc18d \uc77c\uc2dc\uac00 90\uc77c\uc774 \ucd08\uacfc\ub41c \uacc4\uc815\uc740 [\ube44\ud65c\uc131\ud654] \ucc98\ub9ac\ub418\ub3c4\ub85d \uad6c\ud604\ud574\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<br>\uc774 \uacfc\uc815\uc5d0\uc11c \uc0ac\uc6a9\ub41c Python \ubc84\uc804\uc740 3.11.7\uc774 \uc0ac\uc6a9\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import requests\nimport json\nimport base64\nimport hashlib\nimport hmac\nimport time\nfrom datetime import datetime, timedelta\n\nclass SubAccountAPI:\n    def __init__(self, access_key, secret_key, api_server):\n        self.access_key = access_key\n        self.secret_key = bytes(secret_key, 'UTF-8')\n        self.api_server = api_server\n\n    def generate_signature(self, method, uri, timestamp):\n        message = f\"{method} {uri}\\n{timestamp}\\n{self.access_key}\"\n        message_bytes = bytes(message, 'UTF-8')\n        signing_key = base64.b64encode(hmac.new(self.secret_key, message_bytes, digestmod=hashlib.sha256).digest())\n        return signing_key\n\n    def make_request(self, method, uri, body=None):\n        timestamp = str(int(time.time() * 1000))\n        signature = self.generate_signature(method, uri, timestamp)\n\n        headers = {\n            'Content-Type': 'application\/json',\n            'x-ncp-apigw-signature-v2': signature,\n            'x-ncp-apigw-timestamp': timestamp,\n            'x-ncp-iam-access-key': self.access_key\n        }\n\n        if method.upper() == \"GET\":\n            response = requests.get(self.api_server + uri, headers=headers)\n        elif method.upper() == \"PUT\":\n            response = requests.put(self.api_server + uri, headers=headers, data=json.dumps(body))\n        else:\n            raise ValueError(\"Unsupported method\")\n\n        return response.json()\n\n    def get_sub_accounts(self):\n        uri = \"\/api\/v1\/sub-accounts\"\n        response_data = self.make_request(\"GET\", uri)\n\n        # \ucd5c\uc885 \uc811\uc18d \uc77c\uc2dc\uac00 90\uc77c\uc774 \ucd08\uacfc\ub41c \uacbd\uc6b0 \uae30\uc900\uc785\ub2c8\ub2e4. \n        ninety_days_ago = datetime.now() - timedelta(days=90)\n        accounts_to_modify = []\n\n        for item in response_data['items']:\n            if item['canConsoleAccess']:\n                last_login_time_str = item.get('lastLoginTime')\n                if last_login_time_str:\n                    last_login_time = datetime.strptime(last_login_time_str, \"%Y-%m-%dT%H:%M:%SZ\")\n                    if last_login_time &lt; ninety_days_ago:\n                        accounts_to_modify.append(item)\n\n        return accounts_to_modify\n\n    def modify_sub_account(self, sub_account_id, body_data):\n        uri = f\"\/api\/v1\/sub-accounts\/{sub_account_id}\"\n        response_data = self.make_request(\"PUT\", uri, body_data)\n        return response_data.get('email')\n\ndef main():\n    # NCLOUD_ACCESS_KEY\uc640 NCLOUD_SECRET_KEY\uac00 \uc785\ub825\ub418\ub294 \ubd80\ubd84\uc785\ub2c8\ub2e4.\n    api = SubAccountAPI(\"NCLOUD_ACCESS_KEY\", \"NCLOUD_SECRET_KEY\", \"https:\/\/subaccount.apigw.ntruss.com\")\n    accounts = api.get_sub_accounts()\n\n    for account in accounts:\n        body_data = {\n            \"active\": False,\n            \"name\": account.get('name')\n        }\n        email = api.modify_sub_account(account['subAccountId'], body_data)\n\nmain()\n<\/pre>\n\n\n\n<p>\uc704 \ucf54\ub4dc\ub294 \ud14c\uc2a4\ud2b8 \uc6a9\ub3c4\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc784\uc2dc \ucf54\ub4dc\uc785\ub2c8\ub2e4. <\/p>\n\n\n\n<p>90\uc77c\uc774 \uc544\ub2cc \ub2e4\ub978 \ub0a0\uc9dc\ub85c \ubcc0\uacbd\ud558\uace0\uc790 \ud55c\ub2e4\uba74 \ucf54\ub4dc\uc5d0\uc11c timedelta(days=90) \ubd80\ubd84\uc758 90\uc744 \uc6d0\ud558\uc2dc\ub294 \uc22b\uc790\ub85c \ubcc0\uacbd\ud574\uc8fc\uc2dc\uba74 \ub429\ub2c8\ub2e4. \ub610\ud55c \uc774 \ucf54\ub4dc\ub97c \uc815\uc0c1\uc801\uc73c\ub85c \uc791\ub3d9\uc2dc\ud0a4\uae30 \uc704\ud574\uc11c\ub294 Sub Account\ub97c \uc870\ud68c\ud558\uace0 \ube44\ud65c\uc131\ud654\ud560 \uc218 \uc788\ub294 \uad8c\ud55c\uc758 \uc561\uc138\uc2a4 \ud0a4\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774\ub97c \uc2e4\ud589\uc2dc\ud0a4\uae30 \uc704\ud574 \ubc1c\uae09\ud55c \ud0a4\ub294 \ucf54\ub4dc \ub0b4 \uc8fc\uc11d\uc5d0\ub3c4 \uc791\uc131\ud574\ub450\uc5c8\ub4ef\uc774 CLOUD_ACCESS_KEY\uc640 NCLOUD_SECRET_KEY\uc5d0 \uc785\ub825\ud558\uba74 \ub3d9\uc791\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ubcf4\uc548\uc744 \uc704\ud574 \ucf54\ub4dc \ub0b4 \uc9c1\uc811\uc801\uc73c\ub85c KEY\ub97c \uc785\ub825\ud558\uc9c0 \uc54a\uace0 \ud658\uacbd \ubcc0\uc218\ub97c \uc774\uc6a9\ud558\uac70\ub098 KEY\ub97c \uc554\ud638\ud654\ud558\uc5ec \uc0ac\uc6a9\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc6d0\ud558\ub294 days\uc640 KEY\ub97c \ubaa8\ub450 \ucd94\uac00\ud588\ub2e4\uba74 \uc2e4\ud589\ud574\ubd05\uc2dc\ub2e4.<br>\uc815\uc0c1\uc801\uc73c\ub85c \uc798 \uc2e4\ud589\ub418\uc5c8\ub2e4\uba74 \uc544\ub798\uc640 \uc0ac\uc9c4\uacfc \uac19\uc774 \ucd5c\uc885 \uc811\uc18d \uc77c\uc2dc\uac00 \uc124\uc815\ud55c days\ubcf4\ub2e4 \uc624\ub798\ub41c \uacc4\uc815\ub4e4\uc740 \ube44\ud65c\uc131\ud654 \ucc98\ub9ac\ub418\uc5b4 &#8220;\uc0ac\uc6a9 \uc911&#8221;\uc5d0\uc11c &#8220;\uc815\uc9c0&#8221;\ub85c \uc0c1\ud0dc\uac00 \ubcc0\uacbd\ub418\uc5b4 \uc788\uc744 \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"71\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24010129\/subaccount-last-02-1024x71.png\" alt=\"\" class=\"wp-image-2658\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24010129\/subaccount-last-02-1024x71.png 1024w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24010129\/subaccount-last-02-300x21.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24010129\/subaccount-last-02-768x53.png 768w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24010129\/subaccount-last-02-1536x106.png 1536w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24010129\/subaccount-last-02-1080x75.png 1080w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/24010129\/subaccount-last-02.png 1593w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\uc774\uc81c \uc0dd\uc131\ub41c Python \ucf54\ub4dc\ub294 cron\uacfc \uac19\uc740 \uae30\ub2a5\uc744 \uc774\uc6a9\ud558\uc5ec \ud558\ub8e8\uc5d0 \ud55c\ubc88\uc529 Sub Account\uc758 \ucd5c\uc885 \uc811\uc18d \uc77c\uc2dc\ub97c \uc810\uac80\ud558\uace0 \ud2b9\uc815 \uae30\uac04\uc774 \ucd08\uacfc\ub41c \uacc4\uc815\uc744 \ube44\ud65c\uc131\ud654 \ucc98\ub9ac\ub418\ub3c4\ub85d \uc790\ub3d9\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub610\ud55c Cloud Functions\uc744 \uc774\uc6a9\ud55c\ub2e4\uba74 \uad73\uc774 \uc11c\ubc84\ub97c \uc0dd\uc131\ud558\uc9c0 \uc54a\uc544\ub3c4 \ub418\ub2c8 Cloud Functions\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc740 \ub9e4\uc6b0 \uc88b\uc740 \uc120\ud0dd\uc9c0\ub77c\uace0 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-white-color has-cyan-bluish-gray-background-color has-text-color has-background\"> Personal Comments<\/h3>\n\n\n\n<p>\uc9c0\uae08\uae4c\uc9c0 \ucd5c\uc885 \uc811\uc18d \uc77c\uc2dc\uac00 90\uc77c\uc744 \ucd08\uacfc\ud55c Sub Account\ub97c \uc790\ub3d9\uc73c\ub85c \ube44\ud65c\uc131\ud654\ud558\ub294 \ubc29\ubc95\uc744 \uacf5\uc720\ub4dc\ub838\uc2b5\ub2c8\ub2e4. &#8220;[NCLOUD] Sub Account \ud6a8\uc728\uc801\uc73c\ub85c \uad00\ub9ac\ud558\uae30 [2\ud3b8]&#8221;\uc5d0\uc11c\ub294 \uc774\ub97c \uc870\uae08 \ub354 \uc751\uc6a9\ud55c \ubc84\uc804\uc73c\ub85c Cloud Functions\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uacfc \ud568\uaed8 Cloud Outbound Mailer\uc744 \uc774\uc6a9\ud558\uc5ec \ube44\ud65c\uc131\ud654\ub41c \uacc4\uc815\uc758 \uc774\uba54\uc77c\ub85c \uacc4\uc815\uc774 \ube44\ud65c\uc131\ud654 \ucc98\ub9ac\ub418\uc5c8\ub2e4\uace0 \uc54c\ub824\uc8fc\ub294 \uba54\uc77c \ubc1c\uc1a1 \ubd80\ubd84\uae4c\uc9c0 \ub2e4\ub8e8\uc5b4\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\ub610\ud55c \ud14c\uc2a4\ud2b8 \uc6a9\ub3c4\uc758 \uc784\uc2dc \ucf54\ub4dc\ub97c \uc2e4\ubb34\uc5d0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \ub9ac\ud329\ud1a0\ub9c1 \uc791\uc5c5\ub3c4 \uac70\uccd0\uc11c \uacf5\uc720\ub4dc\ub824\ubcfc\uae4c\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774\ubc88 \ud3ec\uc2a4\ud305\uc774 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\ub97c \uc0ac\uc6a9\ud558\ub294 \ubaa8\ub4e0 \uc720\uc800\ub4e4\uc5d0\uac8c \uc720\uc6a9\ud55c \uc815\ubcf4\uac00 \ub418\uc5c8\uae30\ub97c \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uae34 \uae00 \uc77d\uc5b4\uc8fc\uc154\uc11c \uac10\uc0ac\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul>\n<li><strong>[NCLOUD] Sub Account \ud6a8\uc728\uc801\uc73c\ub85c \uad00\ub9ac\ud558\uae30 [2\ud3b8] :<\/strong> <a href=\"https:\/\/manvscloud.com\/?p=2654\">https:\/\/manvscloud.com\/?p=2654<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"773\" height=\"133\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/12204137\/Ncloud_Master_logo.png\" alt=\"\" class=\"wp-image-1229\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/12204137\/Ncloud_Master_logo.png 773w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/12204137\/Ncloud_Master_logo-300x52.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/12204137\/Ncloud_Master_logo-768x132.png 768w\" sizes=\"(max-width: 773px) 100vw, 773px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\uc548\ub155\ud558\uc138\uc694 MANVSCLOUD \uae40\uc218\ud604\uc785\ub2c8\ub2e4. \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc5d0\uc11c\ub294 Sub Account \uae30\ub2a5\uc744 \ud1b5\ud574 \uc0ac\uc6a9\uc790\uac00 \ub8e8\ud2b8 \uacc4\uc815\uc744 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uace0\ub3c4 \ucd94\uac00 \uc11c\ube0c \uacc4\uc815\uc744 \uc0dd\uc131\ud558\uc5ec \uc5ed\ud560\ubcc4 \uad8c\ud55c\uc744 \ubd80\uc5ec\ud558\uace0 \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 \ud504\ub85c\uc81d\ud2b8 \uc9c4\ud589 \uc2dc \ub2e4\uc591\ud55c \uc5c5\uccb4\uc640 \ud300 \uac04\uc758 \ud611\uc5c5\uc744 \uc6a9\uc774\ud558\uac8c \ud558\uba70 \ud6a8\uc728\uc801\uc778 \ub9ac\uc18c\uc2a4 \uad00\ub9ac\ub97c \uac00\ub2a5\ud558\uac8c \ud569\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ud504\ub85c\uc81d\ud2b8 \uc885\ub8cc \ud6c4 \ub610\ub294 \uc778\ub825 \ubcc0\ub3d9\uc73c\ub85c \uc778\ud574 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\ub294 Sub Account\uac00 \ubc29\uce58\ub420 \uacbd\uc6b0 \ubd88\ud544\uc694\ud55c \ub9ac\uc18c\uc2a4 \ub0ad\ube44\ub294 \ubb3c\ub860 \ubcf4\uc548\uc0c1\uc758 \ucde8\uc57d\uc810\uc73c\ub85c \ubc1c\uc804\ud560 \uc704\ud5d8\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud3ec\uc2a4\ud305\uc5d0\uc11c\ub294 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \uc11c\ube44\uc2a4\ub97c \ud65c\uc6a9\ud558\uc5ec Sub Account\uc758 \ucd5c\uc885 \uc811\uc18d \uc77c\uc2dc\uac00 \ud2b9\uc815 \uae30\uac04\uc744 \ucd08\uacfc\ud560 \uacbd\uc6b0 \uc790\ub3d9\uc73c\ub85c \uacc4\uc815\uc744 \ube44\ud65c\uc131\ud654 \ucc98\ub9ac\ud558\ub294 \ubc29\ubc95\uc744 \uacf5\uc720\ud560 \uac83\uc785\ub2c8\ub2e4. How? \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc758 Sub Account \uad00\ub9ac \ud654\uba74\uc5d0\uc11c\ub294 \uc704 \uc0ac\uc9c4\uacfc \uac19\uc774 \uc885\uc885 \ucd5c\uc885 \uc811\uc18d \uc77c\uc2dc\uac00 \uc624\ub798\ub41c \uacc4\uc815\ub4e4\uc774 \uc5ec\uc804\ud788 &#8220;\uc0ac\uc6a9 \uc911&#8221; \uc0c1\ud0dc\ub85c \ub0a8\uc544 \uc788\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \uc624\ub79c \uc2dc\uac04\ub3d9\uc548 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uace0 \ubc29\uce58\ub41c Sub Account\ub97c \uc218\ub3d9\uc73c\ub85c \ud655\uc778\ud558\uace0 \ube44\ud65c\uc131\ud654\ud558\ub294 \uacfc\uc815\uc740 \ub9e4\uc6b0 \ubc88\uac70\ub86d\uace0 \uc2dc\uac04\uc774 \ub9ce\uc774 \uc18c\uc694\ub429\ub2c8\ub2e4. \uc774 \ubb38\uc81c\ub97c \ud6a8\uc728\uc801\uc73c\ub85c \ud574\uacb0\ud560 \ubc29\ubc95\uc774 \ud544\uc694\ud55c\ub370 \ubc14\ub85c \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 API\ub97c \ud65c\uc6a9\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uac04\ub2e8\ud558\uac8c Python \ucf54\ub4dc\ub97c \uc791\uc131\ud558\uc5ec \uc790\ub3d9\ud654 \uacfc\uc815\uc744 \uad6c\ud604\ud574\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4. Hands On Lab \ucd5c\uc885 \uc811\uc18d \uc77c\uc2dc\uac00 90\uc77c\uc774 \ucd08\uacfc\ub41c \uacc4\uc815\uc740 [\ube44\ud65c\uc131\ud654] \ucc98\ub9ac\ub418\ub3c4\ub85d \uad6c\ud604\ud574\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.\uc774 \uacfc\uc815\uc5d0\uc11c \uc0ac\uc6a9\ub41c Python \ubc84\uc804\uc740 3.11.7\uc774 \uc0ac\uc6a9\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc704 \ucf54\ub4dc\ub294 \ud14c\uc2a4\ud2b8 \uc6a9\ub3c4\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc784\uc2dc \ucf54\ub4dc\uc785\ub2c8\ub2e4. 90\uc77c\uc774 \uc544\ub2cc \ub2e4\ub978 \ub0a0\uc9dc\ub85c \ubcc0\uacbd\ud558\uace0\uc790 \ud55c\ub2e4\uba74 \ucf54\ub4dc\uc5d0\uc11c timedelta(days=90) \ubd80\ubd84\uc758 90\uc744 \uc6d0\ud558\uc2dc\ub294 \uc22b\uc790\ub85c \ubcc0\uacbd\ud574\uc8fc\uc2dc\uba74 \ub429\ub2c8\ub2e4. \ub610\ud55c \uc774 \ucf54\ub4dc\ub97c \uc815\uc0c1\uc801\uc73c\ub85c \uc791\ub3d9\uc2dc\ud0a4\uae30 \uc704\ud574\uc11c\ub294 Sub Account\ub97c \uc870\ud68c\ud558\uace0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"\ucd5c\uc885 \uc811\uc18d \uc77c\uc2dc\uac00 90\uc77c\uc744 \ucd08\uacfc\ud55c Sub Account\ub97c \uc790\ub3d9\uc73c\ub85c \ube44\ud65c\uc131\ud654\ud558\ub294 \ubc29\ubc95\uc744 \uacf5\uc720\ub4dc\ub838\uc2b5\ub2c8\ub2e4.","jetpack_seo_html_title":"[NCLOUD] Sub Account \ud6a8\uc728\uc801\uc73c\ub85c \uad00\ub9ac\ud558\uae30 [1\ud3b8]","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[940,32,87,91,17,90,16,126,220,253,89,202,398,221],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2646"}],"collection":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2646"}],"version-history":[{"count":5,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2646\/revisions"}],"predecessor-version":[{"id":2675,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2646\/revisions\/2675"}],"wp:attachment":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}