워크로드 보안 API
워크로드 보안 API를 통해 NetApp 고객과 ISV(독립 소프트웨어 공급업체)는 워크로드 보안을 CMDB 또는 기타 티켓 시스템과 같은 다른 애플리케이션과 통합할 수 있습니다.
API 액세스 요구 사항:
-
액세스 권한을 부여하기 위해 API 액세스 토큰 모델이 사용됩니다.
-
API 토큰 관리는 관리자 역할을 가진 워크로드 보안 사용자에 의해 수행됩니다.
API 설명서(Swagger)
최신 API 정보는 Workload Security에 로그인하고 * Admin > API Access * 로 이동하여 확인할 수 있습니다. API Documentation * 링크를 클릭합니다. API 설명서는 Swagger 기반의 제품으로, API에 대한 간략한 설명과 사용 정보를 제공하고 사용자 환경에서 사용할 수 있습니다.
Forensics Activity API를 호출하는 경우 cloudsecure_forensics.activities. * v2 * API를 사용합니다. 이 API를 여러 번 호출하는 경우 호출이 병렬로 발생하지 않고 순차적으로 발생했는지 확인합니다. 여러 병렬 호출로 인해 API 시간이 초과될 수 있습니다. |
API 액세스 토큰
워크로드 보안 API를 사용하기 전에 하나 이상의 * API 액세스 토큰 * 을 생성해야 합니다. 액세스 토큰은 읽기 권한을 부여합니다. 각 액세스 토큰의 만료일을 설정할 수도 있습니다.
액세스 토큰을 만들려면 다음을 수행합니다.
-
Admin > API Access * 를 클릭합니다
-
API 액세스 토큰 * 을 클릭합니다
-
토큰 이름 * 을 입력합니다
-
토큰 만료 * 를 지정합니다
토큰은 클립보드로 복사하고 생성 과정 중에 저장하는 경우에만 사용할 수 있습니다. 토큰을 만든 후에는 검색할 수 없으므로 토큰을 복사하여 안전한 위치에 저장하는 것이 좋습니다. 토큰 생성 화면을 닫기 전에 API 액세스 토큰 복사 버튼을 클릭하라는 메시지가 표시됩니다. |
토큰을 비활성화, 활성화 및 취소할 수 있습니다. 비활성화된 토큰을 활성화할 수 있습니다.
토큰은 고객의 관점에서 API에 대한 범용 액세스를 부여하여 자체 환경의 범위 내에서 API에 대한 액세스를 관리합니다.
응용 프로그램은 사용자가 액세스를 성공적으로 인증 및 승인한 후 액세스 토큰을 받은 다음 대상 API를 호출할 때 액세스 토큰을 자격 증명으로 전달합니다. 전달된 토큰은 API에 토큰의 베어러가 API에 액세스할 수 있는 권한이 있음을 알리고 권한 부여 중에 부여된 범위에 따라 특정 작업을 수행하도록 합니다.
액세스 토큰이 전달되는 HTTP 헤더는 * X-CloudInsights-ApiKey: * 입니다
예를 들어, 다음을 사용하여 스토리지 자산을 검색할 수 있습니다.
curl https://<tenant_host_name>/rest/v1/cloudsecure/activities -H 'X-CloudInsights-ApiKey: <API_Access_Token>' 여기서 _<API_Access_Token>_은 API 액세스 키를 생성하는 동안 저장한 토큰입니다.
자세한 정보는 * Admin > API Access * 의 _API Documentation_link에서 확인할 수 있습니다.
API를 통해 데이터를 추출하는 스크립트
워크로드 보안 에이전트에는 요청된 시간 범위를 더 작은 배치로 나누어 v2 API에 대한 병렬 호출을 용이하게 하기 위한 내보내기 스크립트가 포함되어 있습니다.
스크립트는 _/opt/NetApp/cloudsecure/agent/export-script _ 에 있습니다. 동일한 디렉토리에 있는 README 파일은 사용 지침을 제공합니다.
다음은 스크립트를 호출하는 명령 예입니다.
python3 data-export.py --tenant_url <tenant id>.cs01.cloudinsights.netapp.com --access_key %ACCESS_KEY% --path_filter "<dir path>" --user_name "<user>" --from_time "01-08-2024 00:00:00" --to_time "31-08-2024 23:59:59" --iteration_interval 12 --num_workers 3
주요 파라미터: - --iteration_interval 12
: 요청한 시간 범위를 12시간 간격으로 분할합니다. --num_workers 3
-: 3개의 스레드를 사용하여 이러한 간격을 병렬로 가져옵니다.