{"id":2661,"date":"2024-03-26T01:16:44","date_gmt":"2024-03-25T16:16:44","guid":{"rendered":"https:\/\/manvscloud.com\/?p=2661"},"modified":"2024-03-26T01:16:45","modified_gmt":"2024-03-25T16:16:45","slug":"ncloud-%eb%84%a4%ec%9d%b4%eb%b2%84-%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%a3%a8%ed%8a%b8-%ea%b3%84%ec%a0%95-%eb%b3%b4%ec%95%88-%eb%aa%a8%eb%8b%88%ed%84%b0%eb%a7%81-%ec%8b%9c%ec%8a%a4%ed%85%9c","status":"publish","type":"post","link":"https:\/\/manvscloud.com\/?p=2661","title":{"rendered":"[NCLOUD] \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ub8e8\ud2b8 \uacc4\uc815 \ubcf4\uc548 \ubaa8\ub2c8\ud130\ub9c1 \uc2dc\uc2a4\ud15c \uad6c\ucd95\ud558\uae30"},"content":{"rendered":"\n<p>\uc548\ub155\ud558\uc138\uc694 MANVSCLOUD \uae40\uc218\ud604\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ud37c\ube14\ub9ad \ud074\ub77c\uc6b0\ub4dc \ud658\uacbd\uc5d0\uc11c\uc758 \ub8e8\ud2b8 \uacc4\uc815 \uc0ac\uc6a9\uc740 \ubcf4\uc548\uc0c1 \ub9e4\uc6b0 \ubbfc\uac10\ud558\uace0 \uc704\ud611\uc774 \ub420 \uc218 \uc788\ub294 \ud589\ub3d9\uc785\ub2c8\ub2e4. \ub8e8\ud2b8 \uacc4\uc815\uc740 \ud074\ub77c\uc6b0\ub4dc \uc11c\ube44\uc2a4\uc5d0\uc11c \uac00\uc7a5 \uac15\ub825\ud55c \uad8c\ud55c\uc744 \uac00\uc9c0\uace0 \uc788\uc73c\uba70 \uc774 \uacc4\uc815\uc73c\ub85c \uc218\ud589\ud560 \uc218 \uc788\ub294 \uc791\uc5c5\uc740 \uac70\uc758 \uc81c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uad11\ubc94\uc704\ud55c \uad8c\ud55c \ub54c\ubb38\uc5d0 \ub8e8\ud2b8 \uacc4\uc815\uc740 \uace0\ub3c4\ub85c \ubcf4\ud638\ub418\uc5b4\uc57c \ud558\uba70 \uc77c\uc0c1\uc801\uc778 \uc791\uc5c5\uc5d0 \uc0ac\uc6a9\ub418\uc5b4\uc11c\ub294 \uc548 \ub429\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\ub8e8\ud2b8 \uacc4\uc815\uc744 \uc9c1\uc811 \ub85c\uadf8\uc778\ud558\uc5ec \uc0ac\uc6a9\ud558\ub294 \ud589\uc704\ub098 \ub8e8\ud2b8 \uacc4\uc815\uc5d0\uc11c \uc561\uc138\uc2a4 \ud0a4\ub97c \uc0dd\uc131\ud558\uc5ec \uc0ac\uc6a9\ud558\ub294 \ud589\uc704\ub294 \ubb34\ub2e8 \uc561\uc138\uc2a4, \ub370\uc774\ud130 \uc720\ucd9c, \ube44\uc6a9 \uc0c1\uc2b9 \ub4f1\uc73c\ub85c \uae30\uc5c5\uc5d0\uac8c \uce58\uba85\uc801\uc778 \uc190\uc0c1\uc744 \uc785\ud790 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc624\ub298 \ud3ec\uc2a4\ud305\uc5d0\uc11c\ub294 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc758 Cloud Activity Tracer API\uc640 Cloud Functions\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub8e8\ud2b8 \uacc4\uc815\uc758 \ube44\uc815\uc0c1\uc801\uc778 \uc0ac\uc6a9\uc744 \ub9c9\uae30 \uc704\ud574 \ub8e8\ud2b8 \uacc4\uc815 \ubcf4\uc548 \ubaa8\ub2c8\ud130\ub9c1 \uc124\uc815\ud558\ub294 \ubc29\ubc95\uc744 \uacf5\uc720\ub4dc\ub9ac\uace0\uc790 \ud569\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\"> Cloud Activity Tracer<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"574\" height=\"574\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/25144908\/cloud-activity-tracer.png\" alt=\"\" class=\"wp-image-2684\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/25144908\/cloud-activity-tracer.png 574w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/25144908\/cloud-activity-tracer-300x300.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/25144908\/cloud-activity-tracer-150x150.png 150w\" sizes=\"(max-width: 574px) 100vw, 574px\" \/><\/figure><\/div>\n\n\n<p>\uc2e4\uc2b5 \uacfc\uc815\uc744 \uc9c4\ud589\ud558\uae30 \uc804 Cloud Activity Tracer\uc5d0 \ub300\ud574\uc11c \uba3c\uc800 \uc54c\uc544\uc57c\ud569\ub2c8\ub2e4.<br>Cloud Activity Tracer\ub294 \uc0ac\uc6a9\uc790\uc758 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ud50c\ub7ab\ud3fc \ub0b4\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \ubaa8\ub4e0 \uacc4\uc815 \ud65c\ub3d9(\uc811\uadfc \uae30\ub85d, \uc774\ubca4\ud2b8 \ub85c\uadf8 \ub4f1)\uc744 \uc218\uc9d1, \uad00\ub9ac, \ubd84\uc11d\ud560 \uc218 \uc788\ub294 \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>Cloud Activity Tracer \uc11c\ube44\uc2a4 \uc5ed\uc2dc \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc5d0\uc11c API\ub85c \uc81c\uacf5\ud558\uace0 \uc788\ub294\ub370\uc694. <br>\uc989 Cloud Activity Tracer API\ub97c \uc774\uc6a9\ud55c\ub2e4\uba74 \ud2b9\uc815 \uacc4\uc815 \ud589\ub3d9\uc744 \uc2e4\uc2dc\uac04\uc73c\ub85c \ubaa8\ub2c8\ud130\ub9c1\ud560 \uc218 \uc788\ub294 \uc2dc\uc2a4\ud15c\uc744 \ub9cc\ub4e4\uace0 \ud544\uc694\ud55c \uacbd\uc6b0 \uc2e0\uc18d\ud55c \ub300\uc751\uc744 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc2e4\uc2b5 \uacfc\uc815\uc5d0\uc11c \uc6b0\ub9ac\ub294 Cloud Activity Tracer API\uc640 Cloud Functions\uc744 \uc774\uc6a9\ud558\uc5ec \uc11c\ubc84\ub9ac\uc2a4 \ubcf4\uc548 \ubaa8\ub2c8\ud130\ub9c1 \uc2dc\uc2a4\ud15c\uc744 \uad6c\ucd95\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-cyan-blue-background-color has-text-color has-background\"> Hands On Lab<\/h3>\n\n\n\n<p><strong>1) Cloud Functions\uc5d0\uc11c Action\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/strong><\/p>\n\n\n\n<p><strong>2) \uae30\ubcf8 \uc815\ubcf4<\/strong><\/p>\n\n\n\n<ul>\n<li><strong>\ud0c0\uc785 :<\/strong> \uc77c\ubc18 \uc561\uc158<\/li>\n\n\n\n<li><strong>\uc774\ub984 :<\/strong> ex) manvscloud-root-detection-action<\/li>\n<\/ul>\n\n\n\n<p><strong>3) \uc18c\uc2a4 \ucf54\ub4dc<\/strong><\/p>\n\n\n\n<ul>\n<li><strong>\ub7f0\ud0c0\uc784 : <\/strong>Python:3.11<\/li>\n\n\n\n<li><strong>\ud0c0\uc785 :<\/strong> \ucf54\ub4dc<\/li>\n<\/ul>\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 hashlib\nimport hmac\nimport base64\nimport requests\nimport time\nimport json\nimport datetime\n\ndef format_event_time(timestamp):\n    timestamp_seconds = timestamp \/ 1000\n    dt_object = datetime.datetime.fromtimestamp(timestamp_seconds)\n    return dt_object.strftime('%Y-%m-%d %H:%M:%S')\n\ndef send_slack_message(webhook_url, message):\n    slack_data = {'text': message}\n    response = requests.post(webhook_url, json=slack_data, headers={'Content-Type': 'application\/json'})\n    \n    if response.status_code != 200:\n        raise ValueError(f'Request to slack returned an error {response.status_code}, the response is:\\n{response.text}')\n\ndef generate_slack_message(item, event_type):\n    formatted_time = format_event_time(item['eventTime'])\n    source_ip = item['sourceIp']\n    user_name = item['resourceName']\n    country_code = item['productData'].get('clientIpCountry', 'N\/A')\n    two_factor_type = item['productData'].get('twoFactorLoginType', '')\n    two_factor_info = f\"({two_factor_type})\" if two_factor_type else \"\"\n\n    if event_type == \"login\":\n        return f'[\uc8fc\uc758] [{formatted_time}] \"{source_ip}\"({country_code})\uc5d0\uc11c \"{user_name}\"{two_factor_info} ROOT \uacc4\uc815\uc73c\ub85c \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ud3ec\ud0c8 \ub85c\uadf8\uc778\uc5d0 \uc131\uacf5\ud558\uc600\uc2b5\ub2c8\ub2e4.'\n    elif event_type == \"access_key_creation\":\n        return f'[\uacbd\uace0] [{formatted_time}] \"{source_ip}\"\uc5d0\uc11c \"{user_name}\" ROOT \uacc4\uc815\uc758 Access Key\ub97c \uc0dd\uc131\ud558\uc600\uc2b5\ub2c8\ub2e4.'\n\ndef main(args):\n    access_key = args[\"NCLOUD_ACCESS_KEY\"]\n    secret_key = args[\"NCLOUD_SECRET_KEY\"]\n    webhook_url = args[\"WEBHOOK_URL\"]\n\n    timestamp = int(time.time() * 1000)\n    timestamp = str(timestamp)\n\n    secret_key = bytes(secret_key, 'UTF-8')\n\n    method = \"POST\"\n\n    api_server = \"https:\/\/cloudactivitytracer.apigw.ntruss.com\"\n    uri = \"\/api\/v1\/activities?responseFormatType=json\"\n\n    message = method + \" \" + uri + \"\\n\" + timestamp + \"\\n\" + access_key\n    message = bytes(message, 'UTF-8')\n    signingKey = base64.b64encode(hmac.new(secret_key, message, digestmod=hashlib.sha256).digest())\n    \n    http_header = {\n        'Content-Type': 'application\/json',\n        'x-ncp-apigw-signature-v1': signingKey,\n        'x-ncp-apigw-timestamp': timestamp,\n        'x-ncp-iam-access-key': access_key\n    }\n\n    ms = int(time.time() * 1000)\n    start_time = ms - (1 * 60 * 1000)\n    start_time = str(start_time)\n\n    payload = {\n        \"fromEventTime\": start_time,\n        \"pageSize\": 100\n    }\n\n    response = requests.post(api_server + uri, headers=http_header, json=payload)\n    data = json.loads(response.text)\n\n    for item in data.get('items', []):\n        if item['productDisplayName'] == \"Account\" and item['actionResultType'] == \"SUCCESS\":\n            if item['resourceType'] == \"Customer\" and 'twoFactorLoginType' in item['productData']:\n                message = generate_slack_message(item, \"login\")\n                send_slack_message(webhook_url, message)\n            elif item['resourceType'] == \"AccessKey\" and item['productData'].get('active') == \"true\":\n                message = generate_slack_message(item, \"access_key_creation\")\n                send_slack_message(webhook_url, message)\n\n    return {\"message\": \"Execution completed successfully\"}<\/pre>\n\n\n\n<ul>\n<li><strong>\ub514\ud3f4\ud2b8 \ud30c\ub77c\ubbf8\ud130<\/strong><\/li>\n<\/ul>\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=\"\">{\"WEBHOOK_URL\":\"YOUR_WEBHOOK_URL\",\"NCLOUD_ACCESS_KEY\":\"YOUR_ACCESS_KEY\",\"NCLOUD_SECRET_KEY\":\"YOUR_SECRET_KEY\"}<\/pre>\n\n\n\n<ul>\n<li><strong>WEBHOOK_URL : <\/strong>\uc54c\ub9bc\uc744 \ubc1b\uc744 Slack\uc758 Webhook URL<\/li>\n\n\n\n<li><strong>NCLOUD_ACCESS_KEY :<\/strong> Cloud Activity Tracer\uc5d0\uc11c Activity \ubaa9\ub85d\uc744 \ubcfc \uc218 \uc788\ub294 \uad8c\ud55c\uc744 \uac00\uc9c4 \uc561\uc138\uc2a4 \ud0a4<\/li>\n\n\n\n<li><strong>CLOUD_SECRET_KEY :<\/strong> Cloud Activity Tracer\uc5d0\uc11c Activity \ubaa9\ub85d\uc744 \ubcfc \uc218 \uc788\ub294 \uad8c\ud55c\uc744 \uac00\uc9c4 \uc561\uc138\uc2a4 \ud0a4\uc758 \uc2dc\ud06c\ub9bf \ud0a4<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"797\" height=\"286\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/26011236\/image-5.png\" alt=\"\" class=\"wp-image-2688\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/26011236\/image-5.png 797w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/26011236\/image-5-300x108.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/26011236\/image-5-768x276.png 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/><\/figure>\n\n\n\n<p>\ub514\ud3f4\ud2b8 \ud30c\ub77c\ubbf8\ud130 \uc785\ub825 \ud6c4 \uc554\ud638\ud654 \uc124\uc815\uc744 ON\uc73c\ub85c \uc124\uc815\ud558\uc5ec \uac01\uac01\uc758 \ud30c\ub77c\ubbf8\ud130 \ud0a4\ub97c \uc554\ud638\ud654 \uc801\uc6a9\ud569\ub2c8\ub2e4. \ub9cc\uc57d KMS(Key Management Service)\uac00 \uc0dd\uc131\ub418\uc5b4\uc788\uc9c0 \uc54a\ub2e4\uba74 KMS\ub97c \uba3c\uc800 \uc0dd\uc131\ud574\uc8fc\uc138\uc694.<\/p>\n\n\n\n<p>Action\uc774 \uc815\uc0c1\uc801\uc73c\ub85c \uc0dd\uc131\ub418\uc5c8\ub2e4\uba74 \uc774\uc81c Trigger\ub97c \uc0dd\uc131\ud558\uace0 Action\uc744 \uc5f0\uacb0\ud574\uc90d\uc2dc\ub2e4.<\/p>\n\n\n\n<p><strong>4) Trigger \uc0dd\uc131<\/strong><\/p>\n\n\n\n<p><strong>5) \ud2b8\ub9ac\uac70 \uae30\ubcf8 \uc815\ubcf4<\/strong><\/p>\n\n\n\n<ul>\n<li><strong>\uc774\ub984<\/strong> <strong>:<\/strong> ex) manvscloud-root-detection-trg<\/li>\n\n\n\n<li><strong>\ud0c0\uc785 : <\/strong>Cron<\/li>\n\n\n\n<li><strong>\uc2e4\ud589 \uc635\uc158 : <\/strong>*\/1 * * * *<\/li>\n<\/ul>\n\n\n\n<p><strong>6) \uc561\uc158 \uc5f0\uacb0<\/strong> (\uc704\uc5d0\uc11c \uc0dd\uc131\ud55c Action\uc744 \uc5f0\uacb0\ud569\ub2c8\ub2e4.)<\/p>\n\n\n\n<p>\uc5ec\uae30\uae4c\uc9c0 \uc644\ub8cc\ub418\uc5c8\ub2e4\uba74 Root \uacc4\uc815\uc73c\ub85c \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ud3ec\ud0c8\uc5d0 \ub85c\uadf8\uc778 \uc2dc\ub3c4 \ubc0f \uc561\uc138\uc2a4 \ud0a4\ub97c \uc0dd\uc131\ud558\uc5ec Slack \uc54c\ub9bc\uc774 \uc624\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"901\" height=\"374\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/25145248\/cloud-activity-tracer-slack.png\" alt=\"\" class=\"wp-image-2685\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/25145248\/cloud-activity-tracer-slack.png 901w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/25145248\/cloud-activity-tracer-slack-300x125.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2024\/03\/25145248\/cloud-activity-tracer-slack-768x319.png 768w\" sizes=\"(max-width: 901px) 100vw, 901px\" \/><\/figure>\n\n\n\n<p class=\"has-vivid-red-color has-text-color\"><strong>[\uc8fc\uc758] \ud14c\uc2a4\ud2b8 \uc2dc \uc0dd\uc131\ud55c Root \uacc4\uc815\uc758 \uc561\uc138\uc2a4 \ud0a4\ub294 \ubc18\ub4dc\uc2dc \uc0ad\uc81c\ud574\uc8fc\uc138\uc694.<\/strong><\/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 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc758 Cloud Activity Tracer\uc640 Cloud Functions\ub97c \uacb0\ud569\ud55c \uc11c\ubc84\ub9ac\uc2a4 \ubcf4\uc548 \ubaa8\ub2c8\ud130\ub9c1 \uc2dc\uc2a4\ud15c \uad6c\ucd95\uc744 \ub9cc\ub4e4\uc5b4\ubcf4\uc558\uc2b5\ub2c8\ub2e4.<br>\ud574\ub2f9 \ubaa8\ub2c8\ud130\ub9c1 \uc124\uc815\uc740 \ud37c\ube14\ub9ad \ud074\ub77c\uc6b0\ub4dc \ud658\uacbd\uc5d0\uc11c\uc758 \ubcf4\uc548\uc744 \uac15\ud654\ud558\ub294 \ud6a8\uacfc\uc801\uc778 \uc804\ub7b5\uc785\ub2c8\ub2e4.<br>\uc774\uc81c \ub8e8\ud2b8 \uacc4\uc815 \ud65c\ub3d9\uc744 \uc2e4\uc2dc\uac04\uc73c\ub85c \ubaa8\ub2c8\ud130\ub9c1\ud558\uace0 \uc704\ud5d8 \uc0c1\ud669 \ubc1c\uc0dd \uc2dc \uc989\uac01\uc801\uc778 \uc54c\ub9bc\uc744 \uc81c\uacf5\ud568\uc73c\ub85c\uc368 \ubcf4\uc548 \uc0ac\uace0\uc5d0 \ub300\uc751\ud558\ub294 \uc18d\ub3c4\ub97c \ub192\uc5ec\uc904 \uac83\uc785\ub2c8\ub2e4.<br>\uc774 \uacfc\uc815\uc744 \ud1b5\ud574 \uac04\ub2e8\ud558\uace0 \ube44\uc6a9 \ud6a8\uc728\uc801\uc73c\ub85c \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc5d0\uc11c \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 \ub8e8\ud2b8 \uacc4\uc815 \ubcf4\uc548 \uc704\ud611\uc744 \ud574\uacb0\ud560 \uc218 \uc788\uc5c8\uc2b5\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<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. \ud37c\ube14\ub9ad \ud074\ub77c\uc6b0\ub4dc \ud658\uacbd\uc5d0\uc11c\uc758 \ub8e8\ud2b8 \uacc4\uc815 \uc0ac\uc6a9\uc740 \ubcf4\uc548\uc0c1 \ub9e4\uc6b0 \ubbfc\uac10\ud558\uace0 \uc704\ud611\uc774 \ub420 \uc218 \uc788\ub294 \ud589\ub3d9\uc785\ub2c8\ub2e4. \ub8e8\ud2b8 \uacc4\uc815\uc740 \ud074\ub77c\uc6b0\ub4dc \uc11c\ube44\uc2a4\uc5d0\uc11c \uac00\uc7a5 \uac15\ub825\ud55c \uad8c\ud55c\uc744 \uac00\uc9c0\uace0 \uc788\uc73c\uba70 \uc774 \uacc4\uc815\uc73c\ub85c \uc218\ud589\ud560 \uc218 \uc788\ub294 \uc791\uc5c5\uc740 \uac70\uc758 \uc81c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uad11\ubc94\uc704\ud55c \uad8c\ud55c \ub54c\ubb38\uc5d0 \ub8e8\ud2b8 \uacc4\uc815\uc740 \uace0\ub3c4\ub85c \ubcf4\ud638\ub418\uc5b4\uc57c \ud558\uba70 \uc77c\uc0c1\uc801\uc778 \uc791\uc5c5\uc5d0 \uc0ac\uc6a9\ub418\uc5b4\uc11c\ub294 \uc548 \ub429\ub2c8\ub2e4. \ub8e8\ud2b8 \uacc4\uc815\uc744 \uc9c1\uc811 \ub85c\uadf8\uc778\ud558\uc5ec \uc0ac\uc6a9\ud558\ub294 \ud589\uc704\ub098 \ub8e8\ud2b8 \uacc4\uc815\uc5d0\uc11c \uc561\uc138\uc2a4 \ud0a4\ub97c \uc0dd\uc131\ud558\uc5ec \uc0ac\uc6a9\ud558\ub294 \ud589\uc704\ub294 \ubb34\ub2e8 \uc561\uc138\uc2a4, \ub370\uc774\ud130 \uc720\ucd9c, \ube44\uc6a9 \uc0c1\uc2b9 \ub4f1\uc73c\ub85c \uae30\uc5c5\uc5d0\uac8c \uce58\uba85\uc801\uc778 \uc190\uc0c1\uc744 \uc785\ud790 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc624\ub298 \ud3ec\uc2a4\ud305\uc5d0\uc11c\ub294 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc758 Cloud Activity Tracer API\uc640 Cloud Functions\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub8e8\ud2b8 \uacc4\uc815\uc758 \ube44\uc815\uc0c1\uc801\uc778 \uc0ac\uc6a9\uc744 \ub9c9\uae30 \uc704\ud574 \ub8e8\ud2b8 \uacc4\uc815 \ubcf4\uc548 \ubaa8\ub2c8\ud130\ub9c1 \uc124\uc815\ud558\ub294 \ubc29\ubc95\uc744 \uacf5\uc720\ub4dc\ub9ac\uace0\uc790 \ud569\ub2c8\ub2e4. Cloud Activity Tracer \uc2e4\uc2b5 \uacfc\uc815\uc744 \uc9c4\ud589\ud558\uae30 \uc804 Cloud Activity Tracer\uc5d0 \ub300\ud574\uc11c \uba3c\uc800 \uc54c\uc544\uc57c\ud569\ub2c8\ub2e4.Cloud Activity Tracer\ub294 \uc0ac\uc6a9\uc790\uc758 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ud50c\ub7ab\ud3fc \ub0b4\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \ubaa8\ub4e0 \uacc4\uc815 \ud65c\ub3d9(\uc811\uadfc \uae30\ub85d, \uc774\ubca4\ud2b8 \ub85c\uadf8 \ub4f1)\uc744 \uc218\uc9d1, \uad00\ub9ac, \ubd84\uc11d\ud560 \uc218 \uc788\ub294 \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4. Cloud Activity Tracer \uc11c\ube44\uc2a4 \uc5ed\uc2dc \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc5d0\uc11c API\ub85c \uc81c\uacf5\ud558\uace0 \uc788\ub294\ub370\uc694. \uc989 Cloud Activity Tracer API\ub97c \uc774\uc6a9\ud55c\ub2e4\uba74 \ud2b9\uc815 \uacc4\uc815 \ud589\ub3d9\uc744 \uc2e4\uc2dc\uac04\uc73c\ub85c \ubaa8\ub2c8\ud130\ub9c1\ud560 \uc218 \uc788\ub294 \uc2dc\uc2a4\ud15c\uc744 \ub9cc\ub4e4\uace0 \ud544\uc694\ud55c \uacbd\uc6b0 \uc2e0\uc18d\ud55c \ub300\uc751\uc744 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc2e4\uc2b5 \uacfc\uc815\uc5d0\uc11c \uc6b0\ub9ac\ub294 Cloud Activity Tracer API\uc640 Cloud Functions\uc744 \uc774\uc6a9\ud558\uc5ec \uc11c\ubc84\ub9ac\uc2a4 \ubcf4\uc548 \ubaa8\ub2c8\ud130\ub9c1 \uc2dc\uc2a4\ud15c\uc744 \uad6c\ucd95\ud560 \uac83\uc785\ub2c8\ub2e4. Hands On Lab 1) Cloud Functions\uc5d0\uc11c Action\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. 2) \uae30\ubcf8 \uc815\ubcf4 3) \uc18c\uc2a4 \ucf54\ub4dc \ub514\ud3f4\ud2b8 \ud30c\ub77c\ubbf8\ud130 \uc785\ub825 \ud6c4 [&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":"\uc624\ub298 \ud3ec\uc2a4\ud305\uc5d0\uc11c\ub294 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc758 Cloud Activity Tracer API\uc640 Cloud Functions\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub8e8\ud2b8 \uacc4\uc815\uc758 \ube44\uc815\uc0c1\uc801\uc778 \uc0ac\uc6a9\uc744 \ub9c9\uae30 \uc704\ud574 \ub8e8\ud2b8 \uacc4\uc815 \ubcf4\uc548 \ubaa8\ub2c8\ud130\ub9c1 \uc124\uc815\ud558\ub294 \ubc29\ubc95\uc744 \uacf5\uc720\ub4dc\ub9ac\uace0\uc790 \ud569\ub2c8\ub2e4.","jetpack_seo_html_title":"[NCLOUD] \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ub8e8\ud2b8 \uacc4\uc815 \ubcf4\uc548 \ubaa8\ub2c8\ud130\ub9c1 \uc2dc\uc2a4\ud15c \uad6c\ucd95\ud558\uae30","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[249,943,457,32,539,87,91,17,90,16,942,220,805,89,202,398,941,540,221,860],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2661"}],"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=2661"}],"version-history":[{"count":9,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2661\/revisions"}],"predecessor-version":[{"id":2689,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2661\/revisions\/2689"}],"wp:attachment":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}