콘텐츠로 이동

크로스 사이트 권한 부여 메타 생성



POST /api/v1/workspace_data/cross_site_grant/meta/create

개요

Body 요청 파라미터

파라미터명 유형 필수 설명
targetWorkspaceUUID string 권한 부여 대상 워크스페이스 UUID; 이 필드를 우선 사용하며, 기존 필드 workspaceUUID와 호환됨
빈 값 허용: False
빈 문자열 허용: False
workspaceUUID string 권한 부여 대상 워크스페이스 UUID 호환 필드, 호출 측은 targetWorkspaceUUID를 사용하는 것을 권장
빈 값 허용: False
빈 문자열 허용: False
type array 데이터 유형, ["*"]는 전체를 의미
예시: ['logging', 'metric', 'object', 'custom_object', 'keyevent', 'tracing', 'rum', 'security', 'network', 'profiling']
빈 값 허용: True
indexes array 인덱스 이름, [""]는 전체를 의미
예시: ['
']
빈 값 허용: False
conditions json 권한 부여 범위 필터 조건
빈 값 허용: False

파라미터 추가 설명

권한 부여 측에서 크로스 사이트 권한 부여 메타 파일을 생성합니다. 프론트엔드 또는 호출 측은 먼저 권한 부여 측 사이트에서 CrossSiteGrantCfg 공개키/개인키 초기화를 완료해야 합니다.

자세한 내용은 다음을 참조하세요: 배포판 크로스 사이트 권한 부여 사용 설명

  • 사용 사례: 사용자가 "크로스 사이트 권한 부여"를 선택한 후, 권한 부여 워크스페이스에서 본 인터페이스를 호출하여 메타를 생성하고, 완전한 메타를 권한 부여 대상 측에 전달하여 가져오기합니다.
  • 배포판 서비스는 최소 2026-06-03 릴리스 버전으로 업그레이드해야 새로운 버전의 사이트 간 권한 부여 방식을 지원합니다.
  • 본 인터페이스는 권한 부여 측의 pending 레코드만 생성하고 메타를 반환하며, 권한 부여 대상 측 사이트에 능동적으로 접근하지 않습니다.
  • 생성된 비즈니스 권한 부여 레코드는 /wksp_share/list를 통해 확인하고, /wksp_share/<uuid>/modify를 통해 권한 부여 범위를 수정하며, /wksp_share/delete를 통해 삭제 또는 취소합니다.

요청 예시

curl 'https://openapi.guance.com/api/v1/workspace_data/cross_site_grant/meta/create' \
-H 'Content-Type: application/json' \
-H 'DF-API-KEY: <DF-API-KEY>' \
--data-raw '{"targetWorkspaceUUID":"wksp_target","type":["logging"],"indexes":["*"],"conditions":{}}' \
--compressed

응답

{
    "code": 200,
    "content": {
        "grantUUID": "grant_pending_1",
        "status": "pending",
        "expireAt": 1770000000,
        "fileName": "cross-site-grant-wksp_target-1770000000.json",
        "meta": {
            "version": "2026-05-27",
            "metaUUID": "meta_1",
            "createdAt": 1769998200,
            "expireAt": 1770000000,
            "sourceWorkspace": {
                "workspaceUUID": "wksp_source",
                "workspaceName": "권한 부여 워크스페이스"
            },
            "targetWorkspaceUUID": "wksp_target",
            "sourceSite": {
                "siteCode": "testing",
                "regionCode": "testing",
                "issuer": "https://testing.example.com",
                "baseUrl": "https://testing.example.com",
                "jwksUri": "https://testing.example.com/api/v1/workspace_data/.well-known/cross-site-jwks.json",
                "kid": "kid_1",
                "publicKeys": [
                    {
                        "kid": "kid_1",
                        "publicKey": "-----BEGIN PUBLIC KEY-----..."
                    }
                ]
            },
            "grantScope": {
                "type": [
                    "logging"
                ],
                "indexes": [
                    "*"
                ],
                "conditions": {}
            },
            "auth": {
                "tempAuthCode": "temp_code_xxx",
                "tempAuthCodeExpireAt": 1770000000
            },
            "security": {
                "signAlg": "RS256",
                "kid": "kid_1"
            },
            "signature": "<JWS>"
        }
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-EXAMPLE"
}

문서 평가

이 페이지가 도움이 되었나요?