지원되는 Swift API 엔드포인트
StorageGRID는 정보 URL, 인증 URL 및 스토리지 URL과 같은 Swift API 엔드포인트를 지원합니다.
정보 URL
/info 경로가 있는 Swift 기본 URL에 GET 요청을 실행하여 StorageGRID Swift 구현의 기능 및 제한 사항을 확인할 수 있습니다.
' https://FQDN | _ Node IP: Swift Port_/info/'
요청 시:
-
'FQDN'은 정규화된 도메인 이름입니다.
-
'Node IP'는 StorageGRID 네트워크의 스토리지 노드 또는 게이트웨이 노드에 대한 IP 주소입니다.
-
'Swift Port'는 스토리지 노드 또는 게이트웨이 노드의 Swift API 연결에 사용되는 포트 번호입니다.
예를 들어 다음 정보 URL은 IP 주소가 10.99.106.103이고 포트 18083을 사용하는 스토리지 노드에서 정보를 요청합니다.
'https://10.99.106.103:18083/info/`
응답에는 JSON 사전으로서 Swift 구현의 기능이 포함됩니다. 클라이언트 도구는 JSON 응답을 구문 분석하여 구현 기능을 결정하고 후속 스토리지 작업의 제약 조건으로 사용할 수 있습니다.
Swift의 StorageGRID 구현을 통해 정보 URL에 대한 인증되지 않은 액세스가 가능합니다.
인증 URL
클라이언트는 Swift 인증 URL을 사용하여 테넌트 계정 사용자로 인증할 수 있습니다.
' https://FQDN | _ Node IP: Swift Port_/auth/v1.0/'
다음과 같이 X-Auth-User와 X-Auth-Key 요청 헤더의 매개 변수로 테넌트 계정 ID, 사용자 이름 및 암호를 제공해야 합니다.
'X-Auth-User:_Tenant_Account_ID: Username _'
'X-Auth-Key:_Password_'
요청 헤더에서:
-
`Tenant_Account_ID'는 Swift 테넌트가 생성될 때 StorageGRID에서 할당한 계정 ID입니다. 테넌트 관리자 로그인 페이지에서 사용되는 것과 동일한 테넌트 계정 ID입니다.
-
'Username'은 테넌트 관리자에서 생성된 테넌트 사용자의 이름입니다. 이 사용자는 Swift 관리자 권한이 있는 그룹에 속해야 합니다. 테넌트의 루트 사용자는 Swift REST API를 사용하도록 구성할 수 없습니다.
테넌트 계정에 대해 ID 페더레이션을 사용하도록 설정한 경우 LDAP 서버에서 연결된 사용자의 사용자 이름과 암호를 입력합니다. 또는 LDAP 사용자의 도메인 이름을 제공합니다. 예를 들면 다음과 같습니다.
'X-Auth-User:_Tenant_Account_ID: 사용자 이름@Domain_Name_'
-
'Password'는 테넌트 사용자의 암호입니다. 사용자 암호는 테넌트 관리자에서 생성 및 관리됩니다.
인증 요청에 대한 응답은 다음과 같이 스토리지 URL 및 인증 토큰을 반환합니다.
'X-Storage-URL: https://FQDN |Node_IP:Swift_Port/v1/Tenant_Account_ID'
'X-Auth-Token:_token_'
'X-Storage-Token:_token_'
기본적으로 토큰은 생성 후 24시간 동안 유효합니다.
특정 테넌트 계정에 대해 토큰이 생성됩니다. 한 계정에 대해 유효한 토큰이 사용자에게 다른 계정에 액세스할 수 있는 권한을 부여하지 않습니다.
스토리지 URL입니다
클라이언트 애플리케이션은 Swift REST API 호출을 실행하여 게이트웨이 노드 또는 스토리지 노드에 대해 지원되는 계정, 컨테이너 및 오브젝트 작업을 수행할 수 있습니다. 저장소 요청은 인증 응답에서 반환된 저장소 URL로 처리됩니다. 또한 요청에는 인증 요청에서 반환된 X-Auth-Token 헤더 및 값이 포함되어야 합니다.
'https://FQDN |IP:Swift_Port/v1/Tenant_Account_ID'
'[/container][/object]'
'X-Auth-Token:_token_'
사용 통계를 포함하는 일부 스토리지 응답 헤더는 최근에 수정된 개체의 정확한 숫자를 반영하지 않을 수 있습니다. 이 머리글에 정확한 숫자가 표시되려면 몇 분 정도 걸릴 수 있습니다.
계정 및 컨테이너 작업에 대한 다음 응답 머리글은 사용 통계를 포함하는 응답의 예입니다.
-
X-Account-Bytes-Used
-
X-Account-Object-Count'입니다
-
X-Container-Bytes-Used(X-Container-Bytes-Used)
-
X-Container-Object-Count