테이블 ACL 설정
Set Table ACL
작업은 공유 액세스 서명과 함께 사용할 수 있는 테이블에 대해 저장된 액세스 정책을 설정합니다. 자세한 내용은 저장된 액세스 정책정의를 참조하세요.
메모
Set Table ACL
작업은 버전 2012-02-12 이상에서 사용할 수 있습니다.
메모
ACL(액세스 제어 목록)은 ACE(액세스 제어 항목) 목록입니다. ACL의 각 ACE는
요청
다음과 같이 Set Table ACL
요청을 생성할 수 있습니다. HTTPS를 사용하는 것이 좋습니다.
myaccount 스토리지 계정 이름으로 바꿉니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
PUT |
https://myaccount.table.core.windows.net/mytable?comp=acl |
HTTP/1.1 |
에뮬레이트된 스토리지 서비스 URI
에뮬레이트된 스토리지 서비스에 대해 요청하는 경우 에뮬레이터 호스트 이름과 Azure Table Storage 포트를 127.0.0.1:10002
지정합니다. 그런 다음 에뮬레이트된 스토리지 계정 이름을 추가합니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
PUT |
http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl |
HTTP/1.1 |
자세한 내용은 로컬 Azure Storage 개발Azurite 에뮬레이터를 사용합니다.
URI 매개 변수
요청 URI에 다음 추가 매개 변수를 지정할 수 있습니다.
매개 변수 | 묘사 |
---|---|
timeout |
선택적. 초 단위로 표현됩니다. 자세한 내용은 Table Storage 작업대한 시간 제한 설정을 참조하세요. |
요청 헤더
다음 표에서는 필수 및 선택적 요청 헤더에 대해 설명합니다.
요청 헤더 | 묘사 |
---|---|
Authorization |
필수. 권한 부여 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Azure Storage대한 요청 권한 부여를 참조하세요. |
Date 또는 x-ms-date |
필수. 요청에 대한 UTC(협정 세계시)를 지정합니다. 자세한 내용은 Azure Storage대한 요청 권한 부여를 참조하세요. |
x-ms-version |
선택적. 이 요청에 사용할 작업의 버전을 지정합니다. 자세한 내용은 Azure Storage 서비스대한 |
x-ms-client-request-id |
선택적. 로깅이 구성될 때 Storage Analytics 로그에 기록되는 1키비바이트(KiB) 문자 제한으로 클라이언트에서 생성된 불투명 값을 제공합니다. 이 헤더를 사용하여 클라이언트 쪽 활동과 서버가 수신하는 요청의 상관 관계를 지정하는 것이 좋습니다. |
요청 본문
저장된 액세스 정책을 지정하려면 Set Table ACL
작업에 대한 요청 본문에 고유 식별자 및 액세스 정책을 제공합니다.
SignedIdentifier
요소에는 Id
요소에 지정된 고유 식별자가 포함됩니다.
SignedIdentifier
AccessPolicy
요소에 지정된 대로 액세스 정책의 세부 정보도 포함합니다. 고유 식별자의 최대 길이는 64자입니다.
Start
및 Expiry
필드는 UTC 시간으로 표현되어야 하며 유효한 ISO 8061 형식을 준수해야 합니다. 지원되는 ISO 8061 형식은 다음과 같습니다.
YYYY-MM-DD
YYYY-MM-DDThh:mmTZD
YYYY-MM-DDThh:mm:ssTZD
YYYY-MM-DDThh:mm:ss.ffffffTZD
이러한 형식의 날짜 부분에 대해 YYYY
4자리 연도 표현이고, MM
두 자리 월 표현이며, DD
두 자리의 일 표현입니다. 시간 부분의 경우 hh
24시간 표기법의 시간 표현이고, mm
두 자리 분 표현이고, ss
두 자리 두 번째 표현이며, ffffff
6자리 밀리초 표현입니다. 시간 지정자 T
문자열의 날짜 및 시간 부분을 구분합니다. 표준 시간대 지정자 TZD
표준 시간대를 지정합니다.
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>unique-64-character-value</Id>
<AccessPolicy>
<Start>start-time</Start>
<Expiry>expiry-time</Expiry>
<Permission>abbreviated-permission-list</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
샘플 요청
Request Syntax:
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1
Request Headers:
x-ms-version: 2013-08-15
x-ms-date: Mon, 25 Nov 2013 00:42:49 GMT
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=
Request Body:
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>
<AccessPolicy>
<Start>2013-11-26T08:49:37.0000000Z</Start>
<Expiry>2013-11-27T08:49:37.0000000Z</Expiry>
<Permission>raud</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
응답
응답에는 HTTP 상태 코드와 응답 헤더 집합이 포함됩니다.
상태 코드
작업이 성공하면 상태 코드 204(콘텐츠 없음)가 반환됩니다.
상태 코드에 대한 자세한 내용은 상태 및 오류 코드참조하세요.
응답 헤더
이 작업에 대한 응답에는 다음 헤더가 포함됩니다. 응답에는 추가 표준 HTTP 헤더도 포함될 수 있습니다. 모든 표준 헤더는 HTTP/1.1 프로토콜 사양준수합니다.
응답 헤더 | 묘사 |
---|---|
x-ms-request-id |
만들어진 요청을 고유하게 식별합니다. 요청 문제를 해결하는 데 사용할 수도 있습니다. 자세한 내용은 API 작업문제 해결을 참조하세요. |
x-ms-version |
요청을 실행하는 데 사용되는 Table Storage의 버전을 나타냅니다. 이 헤더는 버전 2009-09-19 이상에 대해 수행된 요청에 대해 반환됩니다. |
Date |
서비스에서 응답을 보낸 시간을 나타내는 UTC 날짜/시간 값입니다. |
x-ms-client-request-id |
요청 및 해당 응답 문제를 해결하는 데 사용할 수 있습니다. 이 헤더의 값은 요청에 있고 값이 최대 1,024개의 표시되는 ASCII 문자인 경우 x-ms-client-request-id 헤더의 값과 같습니다. 요청에 x-ms-client-request-id 헤더가 없으면 이 헤더가 응답에 표시되지 않습니다. |
샘플 응답
Response Status:
HTTP/1.1 204 No Content
Response Headers:
Transfer-Encoding: chunked
Date: Mon, 25 Nov 2013 22:42:55 GMT
x-ms-version: 2013-08-15
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
권한 부여
Azure Storage에서 데이터 액세스 작업을 호출할 때 권한 부여가 필요합니다. Microsoft Entra ID 또는 공유 키를 사용하여 Set Table ACL
작업에 권한을 부여할 수 있습니다.
Microsoft Entra ID를 사용하여 Set Table ACL
작업에 권한을 부여하려면 보안 주체에 RBAC 작업 Microsoft.Storage/storageAccounts/tableServices/tables/setAcl/action
포함하는 사용자 지정 Azure RBAC 역할이 필요합니다.
중요하다
Microsoft는 관리 ID와 함께 Microsoft Entra ID를 사용하여 Azure Storage에 대한 요청을 승인하는 것이 좋습니다. Microsoft Entra ID는 공유 키 권한 부여에 비해 뛰어난 보안 및 사용 편의성을 제공합니다.
발언
테이블에 대한 사용 권한을 설정하면 기존 사용 권한이 바뀝니다. 테이블의 권한을 업데이트하려면 테이블 가져오기 ACL 호출하여 테이블과 연결된 모든 액세스 정책을 가져옵니다. 변경하려는 액세스 정책을 수정한 다음 전체 데이터 집합으로 Set Table ACL
호출하여 업데이트를 수행합니다.
저장된 액세스 정책 설정
저장된 액세스 정책은 연결된 공유 액세스 서명에 대한 시작 시간, 만료 시간 및 권한을 지정할 수 있습니다. 공유 또는 파일 리소스에 대한 액세스를 제어하는 방법에 따라 다음을 수행할 수 있습니다.
- 저장된 액세스 정책 내에서 이러한 매개 변수를 모두 지정하고 공유 액세스 서명의 URL에서 생략합니다. 이렇게 하면 연결된 서명의 동작을 수정하거나 언제든지 해지할 수 있습니다.
- 저장된 액세스 정책 내에서 하나 이상의 액세스 정책 매개 변수를 지정하고 URL에 다른 매개 변수를 지정합니다.
- URL에서 모든 매개 변수를 지정합니다. 이 경우 저장된 액세스 정책을 사용하여 서명을 해지하지만 해당 동작을 수정할 수는 없습니다.
액세스 정책 설정에 대한 자세한 내용은 저장된 액세스 정책정의를 참조하세요.
공유 액세스 서명과 저장된 액세스 정책에는 서명에 권한을 부여하는 데 필요한 모든 필드가 포함되어야 합니다. 필요한 필드가 없으면 요청이 실패합니다. 마찬가지로 공유 액세스 서명 URL과 저장된 액세스 정책 모두에서 필드를 지정하면 요청이 상태 코드 400(잘못된 요청)으로 실패합니다. 공유 액세스 서명을 구성하는 필드에 대한 자세한 내용은 서비스 SAS만들기를 참조하세요.
테이블에 대해 언제든지 최대 5개의 별도 액세스 정책을 설정할 수 있습니다. 요청 본문에 5개 이상의 액세스 정책이 전달되면 서비스는 상태 코드 400(잘못된 요청)을 반환합니다.
메모
테이블에 저장된 액세스 정책을 설정하는 경우 적용하는 데 최대 30초가 걸릴 수 있습니다. 이 간격 동안 저장된 액세스 정책과 연결된 공유 액세스 서명은 액세스 정책이 활성화될 때까지 상태 코드 403(사용할 수 없음)으로 실패합니다.
참고 항목
저장된 액세스 정책 정의
공유 액세스 서명 만들기 및 사용
공유 액세스 서명 사용하여 액세스 위임
테이블 ACL 가져오기
Azure Storage
상태 및 오류 코드