From T3_KR_KNU
Jump to: navigation, search
(view_macaroon을 이용한 토큰 정보 확인)
(curl을 이용한 토큰 발급)
Line 31: Line 31:
 
             -X POST -d '{"caveats": ["activity:DOWNLOAD,LIST"], "validity": "PT1H"}' \
 
             -X POST -d '{"caveats": ["activity:DOWNLOAD,LIST"], "validity": "PT1H"}' \
 
             -H 'Content-Type: application/macaroon-request' \
 
             -H 'Content-Type: application/macaroon-request' \
             https://cluster142.knu.ac.kr:2880/cms/store/user/{my_cern_id}/test/
+
             https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/
  
 
  {
 
  {
Line 38: Line 38:
 
         "targetWithMacaroon": "https://cluster142.knu.ac.kr:2880/cms/store/user/dhhan/test/?authz=MDA0NmxvY2F0aW9uIE9wdGlvbm.....................................................",
 
         "targetWithMacaroon": "https://cluster142.knu.ac.kr:2880/cms/store/user/dhhan/test/?authz=MDA0NmxvY2F0aW9uIE9wdGlvbm.....................................................",
 
         "baseWithMacaroon": "https://cluster142.knu.ac.kr:2880/?authz=MDA0NmxvY2F0aW9uIE9wdGlvbmFsWy9wbm..............................................................",
 
         "baseWithMacaroon": "https://cluster142.knu.ac.kr:2880/?authz=MDA0NmxvY2F0aW9uIE9wdGlvbmFsWy9wbm..............................................................",
         "target": "https://cluster142.knu.ac.kr:2880/cms/store/user/{my_cern_id}/test/",
+
         "target": "https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/",
 
         "base": "https://cluster142.knu.ac.kr:2880/"
 
         "base": "https://cluster142.knu.ac.kr:2880/"
 
     }
 
     }

Revision as of 06:52, 22 June 2021

dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기

향후 GridFTP와 x507 그리드 인증을 대체하는 WebDav 프로토콜과 마카롱 인증에 대한 소개 문서입니다.

사전 작업

X509_USER_PROXY 변수가 있는지 확인하고 없다면 다음과 같이 만들어줍니다.

$ echo $X509_USER_PROXY
$ export X509_USER_PROXY=/tmp/x509up_u`id -u $USER`

프록시를 생성합니다. 마카롱 토큰을 발급받기 위해서는 여러기지 인증을 사용할 수 있지만 일단 지금은 X509_USER_PROXY로 부터 마카롱 토큰을 발급받겠습니다.

$ voms-proxy-init --voms cms  
or
$ voms-proxy-init --voms cms --valid 168:00 # 전송에 긴 시간이 소요될 것으로 예상이 된다면 프록시를 생성할때 유효기간을 충분히 늘려줘야 합니다.

마카롱 인증

권한

DOWNLOAD,UPLOAD,DELETE,MANAGE,LIST,READ_METADATA,UPDATE_METADATA

토큰의 유효기간

발급하는 토큰은 유효기간을 정할 수 있습니다. 오용을 방지하기 위해서 반드시 적절한 유효기간을 설정하기를 권장합니다.

ex) PT1H : 1시간 
    P14D : 14일

curl을 이용한 토큰 발급

curl -L --capath /etc/grid-security/certificates --cacert $X509_USER_PROXY -E $X509_USER_PROXY \
            -X POST -d '{"caveats": ["activity:DOWNLOAD,LIST"], "validity": "PT1H"}' \
            -H 'Content-Type: application/macaroon-request' \
            https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/
{
   "macaroon": "MDA0NmxvY2F0aW9uIE9wdGlvbmFsWy9wbm..............................................................",
    "uri": {
       "targetWithMacaroon": "https://cluster142.knu.ac.kr:2880/cms/store/user/dhhan/test/?authz=MDA0NmxvY2F0aW9uIE9wdGlvbm.....................................................",
       "baseWithMacaroon": "https://cluster142.knu.ac.kr:2880/?authz=MDA0NmxvY2F0aW9uIE9wdGlvbmFsWy9wbm..............................................................",
       "target": "https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/",
       "base": "https://cluster142.knu.ac.kr:2880/"
    }
}

get_macaroon을 이용한 토큰 발급

위의 curl을 이용한 예제와 동일한 조건의 토큰을 발급합니다.

$ get-macaroon --url https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/ --proxy --permissions DOWNLOAD,LIST --duration PT1H
Macaroon viewer: /u/cms/bin/view-macaroon
=== View deserialized macaroon ===
location Optional.empty
identifier t30MLP8h
cid iid:VOrX6iIR
cid id:?????;????,?????;{KNU_ID}
cid before:2021-06-22T07:40:15.030Z
cid root:/pnfs/knu.ac.kr/data
cid root:/cms/store/user/{CERN_ID}/test/
cid activity:DOWNLOAD,LIST
signature 32e877749bbb88a9a3e5812f42abab1c54f8ebac0c33c90dca02bf882295f96c
=== End deserialized macaroon ===


https://cluster142.knu.ac.kr:2880/?authz=MDAxY2xvY2F0aW9uIE9wdGlvbmFsLmVtcHR5C.........
접근할 수 있는 IP를 제한하는 조건을 추가할 수도 있습니다.
$ get-macaroon --url https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/ --proxy --permissions DOWNLOAD,LIST --duration PT1H --ip 145.100.0.0/16
Macaroon viewer: /u/cms/bin/view-macaroon

view_macaroon을 이용한 토큰 정보 확인

마카롱 토큰의 유효기간과 정보를 확인합니다.

$ view-macaroon MDAxY2xvY2F0aW9uIE9wdGlvbmFsLm........
location Optional.empty
identifier t30MLP8h
cid iid:VOrX6iIR
cid id:?????;????,?????;{KNU_ID}
cid before:2021-06-22T07:40:15.030Z
cid root:/pnfs/knu.ac.kr/data
cid root:/cms/store/user/{CERN_ID}/test/
cid activity:DOWNLOAD,LIST
signature 32e877749bbb88a9a3e5812f42abab1c54f8ebac0c33c90dca02bf882295f96c

WebDav 프로토콜

WebDav 프로토콜 클라이언트 프로그램

이름 지원 권한 비고
웹브라우저 list, download firefox, chrome, etc
curl list, download, upload, del
rclone list, download, upload, del

웹브라우저를 이용하여 SE에서 파일 다운로드하기

curl 사용법

rclone 사용법

참고문서