Jamf 전략을 CSV로 내보내어 Slack에 즉시 감사 검토
고급
이것은SecOps분야의자동화 워크플로우로, 19개의 노드를 포함합니다.주로 Set, Xml, Slack, Webhook, SplitOut 등의 노드를 사용하며. Jamf 전략을 CSV로 내보내어 Slack에 즉시 감사 검토
사전 요구사항
- •Slack Bot Token 또는 Webhook URL
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
- •대상 API의 인증 정보가 필요할 수 있음
카테고리
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "894b3446666dc2807d20dfad165e2f6f3696905c2f8c352081f4fd666cdd7b1c",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "5ca81fc1-614a-4631-8c7c-e5245be5cf17",
"name": "메모지",
"type": "n8n-nodes-base.stickyNote",
"position": [
-448,
-112
],
"parameters": {
"width": 260,
"height": 320,
"content": "## Set \nSet your jamf BaseURL \nfrom your jamf URL\nhttps://yourServer.jamfcloud.com"
},
"typeVersion": 1
},
{
"id": "ba77dd94-871d-42ff-821d-197568974504",
"name": "메모지1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-160,
-112
],
"parameters": {
"color": 3,
"width": 188,
"height": 320,
"content": "## Get \nGet the list of policies from your jamf patch management"
},
"typeVersion": 1
},
{
"id": "7d304368-ae37-4508-b76d-d9f5dca6e353",
"name": "클릭",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-640,
80
],
"parameters": {},
"typeVersion": 1
},
{
"id": "359efbe9-baef-4136-85e2-ace0e53d0f21",
"name": "항목 반복",
"type": "n8n-nodes-base.splitInBatches",
"position": [
528,
32
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "361358cd-6e1a-4453-8d2b-5c1aa1f23476",
"name": "메모지8",
"type": "n8n-nodes-base.stickyNote",
"position": [
272,
-112
],
"parameters": {
"color": 6,
"width": 170,
"height": 320,
"content": "## Split\nSplit the array return into items"
},
"typeVersion": 1
},
{
"id": "d8ba1ba1-d77d-4062-801a-83a594b266a1",
"name": "Jamf 서버",
"type": "n8n-nodes-base.set",
"position": [
-368,
48
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d5945b47-962f-4cea-8bb8-a8f61ee468ec",
"name": "server",
"type": "string",
"value": "youserver"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "0f55f295-4b0c-49d4-8d99-2658d17742a2",
"name": "XML",
"type": "n8n-nodes-base.xml",
"onError": "continueRegularOutput",
"position": [
752,
-96
],
"parameters": {
"options": {},
"dataPropertyName": "=data"
},
"typeVersion": 1
},
{
"id": "b72b34e8-2c7c-4b19-81bf-a4bbfa730dd0",
"name": "Webhook-정책",
"type": "n8n-nodes-base.webhook",
"position": [
-640,
-112
],
"webhookId": "",
"parameters": {
"path": "",
"options": {}
},
"typeVersion": 2
},
{
"id": "ef2147db-2fc3-4906-ac31-864666bd755e",
"name": "메모지9",
"type": "n8n-nodes-base.stickyNote",
"position": [
48,
-112
],
"parameters": {
"color": 2,
"width": 188,
"height": 320,
"content": "## Convert \nJamf v1 api JSS uses xml, so this node is needed to convert the output to JSON"
},
"typeVersion": 1
},
{
"id": "f3e2dd39-75d2-4021-80a2-ba252066474e",
"name": "XML-JSON",
"type": "n8n-nodes-base.xml",
"position": [
96,
48
],
"parameters": {
"options": {},
"dataPropertyName": "=data"
},
"typeVersion": 1
},
{
"id": "bebaba2f-376e-4b3e-96af-7c9424f26108",
"name": "정책 ID 분할",
"type": "n8n-nodes-base.splitOut",
"position": [
320,
48
],
"parameters": {
"include": "selectedOtherFields",
"options": {},
"fieldToSplitOut": "policies.policy",
"fieldsToInclude": "server"
},
"typeVersion": 1
},
{
"id": "0ffca65c-85dc-47e6-96a1-a2ccfa79056e",
"name": "정책 ID 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
-128,
48
],
"parameters": {
"url": "=https://{{ $json.server }}.jamfcloud.com/JSSResource/policies",
"options": {},
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "oAuth2Api",
"headerParameters": {
"parameters": [
{
"name": "Accept",
"value": "application/xml"
}
]
}
},
"credentials": {
"oAuth2Api": {
"id": "",
"name": ""
}
},
"typeVersion": 4.2
},
{
"id": "9ce5001c-3bb2-4afb-9e99-a6995e7a59ad",
"name": "정책:id 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
752,
80
],
"parameters": {
"url": "=https://{{ $('Jamf Server').item.json.server }}.jamfcloud.com/JSSResource/policies/id/{{ $json['policies.policy'].id }}",
"options": {},
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "oAuth2Api",
"headerParameters": {
"parameters": [
{
"name": "Accept",
"value": "application/xml"
}
]
}
},
"credentials": {
"oAuth2Api": {
"id": "",
"name": ""
}
},
"typeVersion": 4.2
},
{
"id": "d73f87b7-a4c2-4ac2-9986-fe4ba78e45b3",
"name": "Slack에 게시",
"type": "n8n-nodes-base.slack",
"position": [
1456,
-96
],
"webhookId": "4ae7b233-a125-4249-b76c-226b26340331",
"parameters": {
"options": {
"fileName": "Policies.csv",
"channelId": ""
},
"resource": "file"
},
"credentials": {
"slackApi": {
"id": "8kwaKSXWJHzDApmZ",
"name": "Slack"
}
},
"typeVersion": 2.3
},
{
"id": "6e5d07d9-6ef0-4a0b-b800-bcd6c1b4dc0c",
"name": "메모지10",
"type": "n8n-nodes-base.stickyNote",
"position": [
480,
-240
],
"parameters": {
"color": 4,
"width": 470,
"height": 520,
"content": "## Loop\n\nLoop on each ID to get the policy details.\nOnce done the XML output is converted to JSON\n"
},
"typeVersion": 1
},
{
"id": "a9352d9b-b4d4-4a42-b1f7-9a311312485b",
"name": "메모지2",
"type": "n8n-nodes-base.stickyNote",
"position": [
976,
-240
],
"parameters": {
"height": 360,
"content": "## Set\nSet the fields to show in the XLSX output"
},
"typeVersion": 1
},
{
"id": "46f2f4ce-a981-465c-a5af-4d4316164385",
"name": "필드 설정",
"type": "n8n-nodes-base.set",
"position": [
1040,
-96
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "bfeee80d-4878-4e0b-b4b1-84c648f901ff",
"name": "ID",
"type": "number",
"value": "={{ $json.policy.general.id }}"
},
{
"id": "be741659-a897-4190-837c-1e91958cd26f",
"name": "Policy Name",
"type": "string",
"value": "={{ $json.policy.general.name }}"
},
{
"id": "b69579f9-200b-4960-b985-62ccddf1251d",
"name": "Category",
"type": "string",
"value": "={{ $json.policy.general.category.name }}"
},
{
"id": "10420196-7d61-463b-ab21-b74929e1d0cb",
"name": "Trigger",
"type": "string",
"value": "={{ $json.policy.general.trigger }}"
},
{
"id": "fcfa2c98-d7b7-46cd-91a7-09f10c743ea6",
"name": "Frequency",
"type": "string",
"value": "={{ $json.policy.general.frequency }}"
},
{
"id": "744213ce-da86-4b07-9707-63c28dcbd5f0",
"name": "Scope - Computers",
"type": "string",
"value": "={{ \n $json.policy.scope.all_computers === \"true\"\n ? \"All\"\n : Array.isArray($json.policy.scope.computers?.computer)\n ? $json.policy.scope.computers.computer.length\n : $json.policy.scope.computers?.computer\n ? \"1\"\n : \"None\"\n}}\n"
},
{
"id": "dc229e19-652a-4c92-9b76-e4f4eae15c13",
"name": "Self Service",
"type": "string",
"value": "={{ $json.policy.self_service.use_for_self_service }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "fd80fda5-d6c8-4b26-b45c-7d60571064b2",
"name": "메모지3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1248,
-240
],
"parameters": {
"color": 7,
"width": 340,
"height": 360,
"content": "## Convert & Send\nConvert the selected JSON field to xlsx and send the file to slack"
},
"typeVersion": 1
},
{
"id": "59596d74-768a-4e0f-9074-80580d1b5bf6",
"name": "변환",
"type": "n8n-nodes-base.convertToFile",
"position": [
1280,
-96
],
"parameters": {
"options": {},
"binaryPropertyName": "=data"
},
"typeVersion": 1.1
}
],
"pinData": {},
"connections": {
"0f55f295-4b0c-49d4-8d99-2658d17742a2": {
"main": [
[
{
"node": "46f2f4ce-a981-465c-a5af-4d4316164385",
"type": "main",
"index": 0
}
]
]
},
"7d304368-ae37-4508-b76d-d9f5dca6e353": {
"main": [
[
{
"node": "d8ba1ba1-d77d-4062-801a-83a594b266a1",
"type": "main",
"index": 0
}
]
]
},
"59596d74-768a-4e0f-9074-80580d1b5bf6": {
"main": [
[
{
"node": "d73f87b7-a4c2-4ac2-9986-fe4ba78e45b3",
"type": "main",
"index": 0
}
]
]
},
"f3e2dd39-75d2-4021-80a2-ba252066474e": {
"main": [
[
{
"node": "bebaba2f-376e-4b3e-96af-7c9424f26108",
"type": "main",
"index": 0
}
]
]
},
"46f2f4ce-a981-465c-a5af-4d4316164385": {
"main": [
[
{
"node": "59596d74-768a-4e0f-9074-80580d1b5bf6",
"type": "main",
"index": 0
}
]
]
},
"d8ba1ba1-d77d-4062-801a-83a594b266a1": {
"main": [
[
{
"node": "0ffca65c-85dc-47e6-96a1-a2ccfa79056e",
"type": "main",
"index": 0
}
]
]
},
"9ce5001c-3bb2-4afb-9e99-a6995e7a59ad": {
"main": [
[
{
"node": "359efbe9-baef-4136-85e2-ace0e53d0f21",
"type": "main",
"index": 0
}
]
]
},
"359efbe9-baef-4136-85e2-ace0e53d0f21": {
"main": [
[
{
"node": "0f55f295-4b0c-49d4-8d99-2658d17742a2",
"type": "main",
"index": 0
}
],
[
{
"node": "9ce5001c-3bb2-4afb-9e99-a6995e7a59ad",
"type": "main",
"index": 0
}
]
]
},
"0ffca65c-85dc-47e6-96a1-a2ccfa79056e": {
"main": [
[
{
"node": "f3e2dd39-75d2-4021-80a2-ba252066474e",
"type": "main",
"index": 0
}
]
]
},
"b72b34e8-2c7c-4b19-81bf-a4bbfa730dd0": {
"main": [
[
{
"node": "d8ba1ba1-d77d-4062-801a-83a594b266a1",
"type": "main",
"index": 0
}
]
]
},
"bebaba2f-376e-4b3e-96af-7c9424f26108": {
"main": [
[
{
"node": "359efbe9-baef-4136-85e2-ace0e53d0f21",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 보안 운영
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Jamf 지능형 그룹 멤버 관계를 CSV 보고서로 내보내어 Slack에 확인할 수 있게
Jamf 지능형 그룹 멤버 관계를 CSV 보고서로 내보내어 Slack에 확인할 수 있게
Set
Code
Slack
+
Set
Code
Slack
21 노드Jean-Marie Rizkallah
데브옵스
시각화 참조 라이브러리에서 n8n 노드를 탐색
可视化 참조 라이브러리에서 n8n 노드를 탐색
If
Ftp
Set
+
If
Ftp
Set
113 노드I versus AI
기타
Nuclei 및 Project Discovery를 사용한 버그 바운티 프로그램 자동 CVE 스캔
Nuclei 및 Project Discovery를 사용한 버그 바운티 프로그램 자동 CVE 스캔
If
Set
Ssh
+
If
Set
Ssh
32 노드Javier Rieiro
보안 운영
AI 생성 WordPress 글 요약 블록
WordPress 글의 AI 생성 요약 블록
If
Set
Slack
+
If
Set
Slack
32 노드Dataki
인공지능
리드 생성 및 이메일 워크플로
Google 지도, SendGrid 및 AI를 사용한 B2B 잠재 고객 개발 및 이메일 마케팅 자동화
If
Set
Code
+
If
Set
Code
141 노드Ezema Kingsley Chibuzo
리드 생성
OpenAI, RunwayML, ElevenLabs를 사용한 무면식 숏폼 비디오 자동화
OpenAI, RunwayML, ElevenLabs를 사용한 무면쇼트 비디오 자동화: 스크립트부터 소셜 미디어까지
Set
Code
Wait
+
Set
Code
Wait
56 노드LeeWei
콘텐츠 제작