教程示例:控制儲存空間和資料夾的訪問許可權
本教程示例詳細演示瞭如何控制使用者對 OSS 儲存空間和資料夾的訪問。在示例中,我們首先建立一個儲存空間和資料夾,然後使用阿里雲主賬號建立訪問管理 (RAM) 使用者,併為這些使用者授予對所建立 OSS 儲存空間及資料夾的增量許可權。
儲存空間和資料夾的基本概念
阿里雲 OSS 的資料模型為扁平型結構,所有檔案都直接隸屬於其對應的儲存空間。因此,OSS 缺少檔案系統中類似於目錄與子資料夾的層次結構。但是,您可以在 OSS 控制檯上模擬資料夾層次結構。在該控制檯中,您可以按資料夾對相關檔案進行分組、分類和管理,如下圖所示。
OSS 提供使用鍵值(key)對格式的分散式物件儲存服務。使用者根據其唯一的key(物件名)檢索物件的內容。例如,名為 example-company 的儲存空間有三個資料夾:Development、 Marketing 和 Private,以及一個物件 oss-dg.pdf。
- 在建立 Development 資料夾時,控制檯會建立一個key為
Development/
的物件。注意,資料夾的key包括分隔符/
。 -
當您將名為 ProjectA.docx 的物件上傳到 Development 資料夾中時,控制檯會上傳該物件並將其key設定為
Development/ProjectA.docx
。在該key中,
Development
為字首,而/
為分隔符。您可以從儲存空間中獲取具有特定字首和分隔符的所有物件的列表。在控制檯中,單擊 Development 資料夾時,控制檯會列出資料夾中的物件,如下圖所示。
說明:當控制檯列出 example-company 儲存空間中的 Development 資料夾時,它會向 OSS 傳送一個用於指定字首
Development
和分隔符/
的請求。控制檯的響應與檔案系統類似,會顯示資料夾列表。上例說明,儲存空間 example-company 有三個物件,其key分別為Development/Alibaba Cloud.pdf
、Development/ProjectA.docx
及Development/ProjectB.docx
。
控制檯通過物件的key推斷邏輯層次結構。當您建立物件的邏輯層次結構時,您可以管理對個別資料夾的訪問,如本教程後面描述的那樣。
在本教程開始之前,您還需要知道“根級”儲存空間內容的概念。假設 example-company 儲存空間包含以下物件:
- Development/Alibaba Cloud.pdf
- Development/ProjectA.docx
- Development/ProjectB.docx
- Marketing/data2016.xlsx
- Marketing/data2016.xlsx
- Private/2017/images.zip
- Private/2017/promote.pptx
- oss-dg.pdf
這些物件的key構建了一個以 Development、Marketing 和 Private 作為根級資料夾並以 oss-dg.pdf 作為根級物件的邏輯層次結構。當您單擊 OSS 控制檯中的儲存空間名時,控制檯會顯示將頂級字首和一個分隔符(Development/、Marketing/ 和 Private/)顯示為根級資料夾。物件 oss-dg.pdf 沒有字首,因此顯示為根級別項。
OSS 的請求和響應邏輯
在授予許可權之前,我們需要清楚,當使用者單擊某個儲存空間的名字時控制檯向 OSS 傳送的是什麼請求、OSS 返回的是什麼響應,以及控制檯如何解析該響應。
當使用者單擊某個儲存空間名時,控制檯會將 GetBucket 請求傳送至 OSS。此請求包括以下引數:
-
prefix
,其值為空字串。 -
delimiter
,其值為/
。
請求示例如下所示:
GET /?prefix=&delimiter=/ HTTP/1.1
Host: example-company.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 08:43:27 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:DNrnx7xHk3sgysx7I8U9I9IY1vY=
OSS 返回的響應包括 ListBucketResult
元素:
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906008B
Date: Fri, 24 Feb 2012 08:43:27 GMT
Content-Type: application/xml
Content-Length: 712
Connection: keep-alive
Server: AliyunOSS
<?xml version="1.0" encoding="UTF-8"?>
<ListBucketResult xmlns=¡±http://doc.oss-cn-hangzhou.aliyuncs.com¡±>
<Name>example-company</Name>
<Prefix></Prefix>
<Marker></Marker>
<MaxKeys>100</MaxKeys>
<Delimiter>/</Delimiter>
<IsTruncated>false</IsTruncated>
<Contents>
<Key>oss-dg.pdf</Key>
...
</Contents>
<CommonPrefixes>
<Prefix>Development</Prefix>
</CommonPrefixes>
<CommonPrefixes>
<Prefix>Marketing</Prefix>
</CommonPrefixes>
<CommonPrefixes>
<Prefix>Private</Prefix>
</CommonPrefixes>
</ListBucketResult>
由於 oss-dg.pdf 不包含 /
分隔符,因此 OSS 在 <Contents/>
元素中返回該key。儲存空間 example-company 中的所有其他key都包含 /
分隔符,因此 OSS 會將這些key分組,併為每個字首值 Development/、Marketing/ 和 Private/ 返回一個 <CommonPrefixes/>
元素。該元素是一個字串,包含從這些key的第一個字元開始到第一次出現指定的 /
分隔符之間的字元。
控制檯會解析此結果並顯示如下的根級別項:
現在,如果使用者單擊 Development 資料夾,控制檯會將 GetBucket 請求傳送至 OSS。此請求包括以下引數:
-
prefix
,其值為Development/
。 -
delimiter
,其值為/
。
請求示例如下所示:
GET /?prefix=Development/&delimiter=/ HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 08:43:27 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:DNrnx7xHk3sgysx7I8U9I9IY1vY=
作為響應,OSS 返回以指定字首開頭的key:
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906008B
Date: Fri, 24 Feb 2012 08:43:27 GMT
Content-Type: application/xml
Content-Length: 712
Connection: keep-alive
Server: AliyunOSS
<?xml version="1.0" encoding="UTF-8"?>
<ListBucketResult xmlns=¡±http://doc.oss-cn-hangzhou.aliyuncs.com¡±>
<Name>example-company</Name>
<Prefix>Development/</Prefix>
<Marker></Marker>
<MaxKeys>100</MaxKeys>
<Delimiter>/</Delimiter>
<IsTruncated>false</IsTruncated>
<Contents>
<Key>ProjectA.docx</Key>
...
</Contents>
<Contents>
<Key>ProjectB.docx</Key>
...
</Contents>
</ListBucketResult>
控制檯會解析此結果並顯示如下的key:
教程示例
本教程示例如下所示:
-
建立一個儲存空間 example-company,然後向其中新增三個資料夾(Development、Marketing 和 Private)。
-
您有 Anne 和 Leo 兩個使用者。您希望 Anne 只能訪問 Development 資料夾而 Leo 則只能訪問 Marketing 資料夾,並且希望將 Private 資料夾保持私有。在教程示例中,通過建立訪問控制 (RAM) 使用者(Anne 和 Leo)來管理訪問許可權,並授予他們必要的許可權。
-
RAM 還支援建立使用者組並授予適用於組中所有使用者的組級別許可權。這有助於更好地管理許可權。在本示例中,Anne 和 Leo 都需要一些公共許可權。因此,您還要建立一個名為 Staff 的組,然後將 Anne 和 Leo 新增到該組中。首先,您需要給該組分配策略授予許可權。然後,將策略分配給特定使用者,新增特定使用者的許可權。
說明:本教程示例使用 example-company 作為儲存空間名、使用 Anne 和 Leo 作為 RAM 使用者名稱並使用 Staff 作為組名。由於阿里雲 OSS 要求儲存空間名全域性唯一,所以您需要用自己的儲存空間名稱替換本教程中的儲存空間名。
示例準備
本示例使用阿里雲主賬號建立 RAM 使用者。最初,這些使用者沒有任何許可權。您將逐步授予這些使用者執行特定 OSS 操作的許可權。為了測試這些許可權,您需要使用每個使用者的RAM賬號登入到控制檯。當您作為主賬號所有者逐步授予許可權並作為 RAM 使用者測試許可權時,您需要每次使用不同賬號進行登入和登出。您可以使用一個瀏覽器來執行此測試。如果您可以使用兩個不同的瀏覽器,則該測試過程用時將會縮短:一個瀏覽器用於使用主賬號連線到阿里雲控制檯,另一個瀏覽器用於使用 RAM 賬號進行連線。
要使用您的主賬號登入到阿里雲控制檯,請訪問 https://account.aliyun.com/login/login.htm。 RAM 使用者不能使用相同的連結登入。他們必須使用 RAM 使用者登入連結。作為主賬號所有者,您可以向RAM使用者提供此連結。
說明:有關 RAM 的詳細資訊,請參見 使用 RAM 使用者賬號登入。
為 RAM 使用者提供登入連結
-
使用主賬號登入 RAM 控制檯。
-
在左側導航欄中,單擊 概覽。
-
在 RAM使用者登入連結 後找到 URL。您將向 RAM 使用者提供此 URL,以便其使用 RAM 使用者名稱和密碼登入控制檯。
步驟 1.建立儲存空間
在此步驟中,您可以使用主賬號登入到 OSS 控制檯、建立儲存空間、將資料夾(Development、Marketing、Private)新增到儲存空間中,並在每個資料夾中上傳一個或兩個示例文件。
1. 使用主賬號登入 OSS 控制檯。
- 建立名為 example-company 的儲存空間。
有關詳細過程,請參見 OSS 控制檯使用者指南 中的 建立儲存空間。 -
將一個檔案上傳到儲存空間中。
本示例假設您將檔案 oss-dg.pdf 上傳到儲存空間的根級別。您可以用不同的檔名上傳自己的檔案。
有關詳細過程,請參見 OSS 控制檯使用者指南 中的 上傳檔案。
-
新增名為 Development、Marketing 和 Private 的三個資料夾。
有關詳細過程,請參見 OSS 控制檯使用者指南 中的 建立資料夾。
-
將一個或兩個檔案上傳到每個資料夾中。
本例假設您將具有以下物件鍵的物件上傳到儲存空間中:
- Development/Alibaba Cloud.pdf
- Development/ProjectA.docx
- Development/ProjectB.docx
- Marketing/data2016.xlsx
- Marketing/data2016.xlsx
- Private/2017/images.zip
- Private/2017/promote.pptx
- oss-dg.pdf
步驟 2.建立 RAM 使用者和組
在此步驟中,您使用 RAM 控制檯將兩個 RAM 使用者 Anne 和 Leo 新增到主賬號中。您還將建立一個名為 Staff 的組,然後將這兩個使用者新增到該組中。
說明:在此步驟中,不要分配任何授予這些使用者許可權的策略。在以下步驟中,您將逐步為其授予許可權。
有關建立 RAM 使用者的詳細過程,請參見 RAM 快速入門 中的 建立 RAM 使用者。請為每個 RAM 使用者建立登入密碼。
有關建立組的詳細過程,請參見 RAM 使用者指南 中的 建立組。
步驟 3.確認 RAM 使用者沒有任何許可權
如果您使用兩個瀏覽器,現在可以在另一個瀏覽器中使用其中一個 RAM 使用者賬號登入到控制檯。
- 開啟 RAM 使用者登入連結,並用 Anne 或 Leo 的賬號登入到 RAM 控制檯。
- 開啟 OSS 控制檯。
您發現控制檯中沒有任何儲存空間,這意味著 Anne 不具有對儲存空間 example-company 的任何許可權。
步驟 4.授予組級別許可權
我們希望 Anne 和 Leo 都能執行以下操作:
-
列出主賬號所擁有的所有儲存空間。
為此,Anne 和 Leo 必須具有執行 oss:ListBuckets 操作的許可權。
-
列出 example-company 儲存空間中的根級別項、資料夾和物件。
為此,Anne 和 Leo 必須具有對 example-company 儲存空間執行 oss:ListObjects 操作的許可權。
步驟 4.1.授予列出所有儲存空間的許可權
在此步驟中,建立一個授予使用者最低許可權的策略。憑藉最低許可權,使用者可列出主賬號所擁有的所有儲存空間。您還將此策略分配給 Staff 組,以便授予獲得主賬號擁有的儲存空間列表的組許可權。
-
使用主賬號登入RAM 控制檯。
-
建立策略 AllowGroupToSeeBucketListInConsole。
- 在左側導航窗格中,單擊 策略管理,然後單擊 新建授權策略。
- 單擊 空白模板。
- 在 授權策略名稱 欄位中,輸入 AllowGroupToSeeBucketListInConsole。
- 在 策略內容 欄位中,複製並貼上以下策略。
json { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListBuckets" ], "Resource": [ "acs:oss:*:*:*" ] } ] }
> 說明:策略為 JSON 文件。在該策略中,Statement 是一個物件陣列,每個物件使用名/值對的集合來描述許可權。前面的策略描述了一個特定的許可權。Effect 元素值決定是允許還是拒絕特定的許可權。Action 指定訪問許可權的型別。在本策略中,oss:ListBuckets 是預定義的 OSS 操作,可返回經過身份驗證的傳送者所擁有的所有儲存空間的列表。
-
將 AllowGroupToSeeBucketListInConsole 策略分配給 Staff 組。
有關分配策略的詳細過程,請參見 RAM 快速入門 中 將策略分配給 RAM 使用者 的 將策略分配給 RAM 組。
可以將策略分配給 RAM 控制檯中的 RAM 使用者和組。在本例中,我們將策略分配給組,因為我們希望 Anne 和 Leo 都能夠列出這些儲存空間。
-
測試許可權。
- 開啟 RAM 使用者登入連結,並用 Anne 或 Leo 的賬號登入到 RAM 控制檯。
- 開啟 OSS 控制檯。
控制檯列出所有儲存空間。 - 單擊 example-company 儲存空間,然後單擊檔案選項卡。
此時將顯示一個訊息框,表明您沒有相應的訪問許可權。
步驟 4.2.授予列出儲存空間根級內容的許可權
在此步驟中,您授予許可權,允許所有使用者列出儲存空間 example-company 中的所有專案。當使用者在 OSS 控制檯中單擊 example-company 時,能夠看到儲存空間中的根級別項。
-
使用主賬號登入 RAM 控制檯。
-
用以下策略取代分配給 Staff 組的現有策略 AllowGroupToSeeBucketListInConsole,該策略還允許 oss:ListObjects 操作。請用您的儲存空間名替換策略資源中的 example-company。
有關詳細過程,請參見 RAM 使用者指南 中 授權策略 的 修改自定義授權策略 部分。注意,您最多可對 RAM 策略進行五次修改。如果超過了五次,則需要刪除該策略並建立一個新的策略,然後再次將新策略分配給 Staff 組。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListBuckets", "oss:GetBucketAcl" ], "Resource": [ "acs:oss:*:*:*" ], "Condition": {} }, { "Effect": "Allow", "Action": [ "oss:ListObjects" ], "Resource": [ "acs:oss:*:*:example-company" ], "Condition": { "StringLike": { "oss:Prefix": [ "" ], "oss:Delimiter": [ "/" ] } } } ] }
說明:
- 要列出儲存空間內容,使用者需要呼叫 oss:ListObjects 操作的許可權。為了確保使用者僅看到根級內容,我們新增了一個條件:使用者必須在請求中指定一個空字首,也就是說,他們不能單擊任何根級資料夾。我們還通過要求使用者請求包含分隔符引數和值
/
來新增需要資料夾樣式訪問的條件。 - 當使用者登入到 OSS 控制檯時,控制檯檢查使用者的身份是否有訪問 OSS 服務的許可權。要在控制檯中支援儲存空間操作,我們還需要新增 oss:GetBucketAcl 操作。
- 要列出儲存空間內容,使用者需要呼叫 oss:ListObjects 操作的許可權。為了確保使用者僅看到根級內容,我們新增了一個條件:使用者必須在請求中指定一個空字首,也就是說,他們不能單擊任何根級資料夾。我們還通過要求使用者請求包含分隔符引數和值
-
測試更新的許可權。
組策略摘要
新增組策略的最終結果是授予 RAM 使用者 Anne 和 Leo 以下最低許可權:
- 列出主賬號所擁有的所有儲存空間。
- 檢視 example-company 儲存空間中的根級別項。
然而,他們可以進行的操作仍然有限。在以下部分中,我們將授予使用者以下特定許可權:
- 允許 Anne 在 Development 資料夾中獲取和放入物件。
- 允許 Bob 在 Finance 資料夾中獲取和放入物件。
對於使用者特定的許可權,您需要將策略分配給特定使用者,而非分配給組。以下部分授予 Anne 在 Development 資料夾中操作的許可權。您可以重複這些步驟,授予 Leo 在 Finance 資料夾中進行類似操作的許可權。
步驟 5.授予 RAM 使用者 Anne 特定許可權
在此步驟中,我們向 Anne 授予額外的許可權,使她可以看到 Development 資料夾的內容,並將物件放入資料夾中。
步驟 5.1.授予 RAM 使用者 Anne 許可權以列出 Development 資料夾內容
若要 Anne 能夠列出 Development 資料夾內容,您必須為其分配策略。該策略必須能夠授予其對 example-company 儲存空間執行 oss:ListObjects 操作的許可權,還必須包括要求使用者在請求中指定字首 Development/
的條件。
1. 使用主賬號登入 RAM 控制檯。
1. 建立策略 AllowListBucketsIfSpecificPrefixIsIncluded,授予 RAM 使用者 Anne 許可權以列出 Development 資料夾內容。
1. 在左側導航窗格中,單擊 策略管理,然後單擊 新建授權策略。
2. 單擊 <strong>空白模板</strong>。
3. 在 <strong>授權策略名稱</strong> 欄位中,輸入 <strong>AllowListBucketsIfSpecificPrefixIsIncluded</strong>。
4. 在 <strong>策略內容</strong> 欄位中,複製並貼上以下策略。
```json
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:example-company"
],
"Condition": {
"StringLike": {
"oss:Prefix": [
"Development/*"
]
}
}
}
]
}
```
-
將策略分配給 RAM 使用者 Anne。
有關分配策略的詳細過程,請參見 RAM 快速入門 中的 將策略分配給 RAM 使用者。
-
測試 Anne 的許可權。
步驟 5.2 授予 RAM 使用者 Anne 在 Development 資料夾中獲取和放入物件的許可權。
若要 Anne 能夠在 Development 資料夾中獲取和放入物件,您必須授予她呼叫 oss:GetObject 和 oss:PutObject 操作的許可權,包括使用者必須在請求中指定字首 Development/ 的條件。
1. 使用主賬號登入 RAM 控制檯。
-
用以下策略取代您在之前步驟中建立的策略 AllowListBucketsIfSpecificPrefixIsIncluded。
有關詳細過程,請參見 RAM 使用者指南 中 授權策略 的 修改自定義授權策略 部分。注意,您最多可對 RAM 策略進行五次修改。如果超過五次,您需要刪除該策略並建立一個新的策略,然後再次將新策略分配給使用者。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListObjects" ], "Resource": [ "acs:oss:*:*:example-company" ], "Condition": { "StringLike": { "oss:Prefix": [ "Development/*" ] } } }, { "Effect": "Allow", "Action": [ "oss:GetObject", "oss:PutObject", "oss:GetObjectAcl" ], "Resource": [ "acs:oss:*:*:example-company/Development/*" ], "Condition": {} } ] }
說明:當使用者登入到 OSS 控制檯時,控制檯檢查使用者的身份是否有訪問 OSS 服務的許可權。要在控制檯中支援儲存空間操作,我們還需要新增 oss:GetObjectAcl 操作。
-
測試更新的策略。
- 開啟 RAM 使用者登入連結,並用 Anne 的賬號登入到 RAM 控制檯。
- 開啟 OSS 控制檯。
控制檯列出所有儲存空間。 - 在 OSS 控制檯中,確認 Anne 現在可以在 Development 資料夾中新增物件並下載物件。
步驟 5.3 顯式拒絕 RAM 使用者 Anne 訪問儲存空間中任何其他資料夾的許可權
RAM 使用者 Anne 現在可以在 example-company 儲存空間中列出根級內容,並將物件放入 Development 資料夾中。如果要嚴格限制訪問許可權,您可以顯式拒絕 Anne 對儲存空間中任何其他資料夾的訪問。如果有授予 Anne 訪問儲存空間中任何其他資料夾的其他策略,則此顯式策略將替代這些許可權。
您可以將以下語句新增到 RAM 使用者 Anne 的策略 AllowListBucketsIfSpecificPrefixIsIncluded,以要求 Anne 傳送到 OSS 的所有請求包含字首引數,該引數的值可以是 Development/* 或空字串。
{
"Effect": "Deny",
"Action": [
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:example-company"
],
"Condition": {
"StringNotLike": {
"oss:Prefix": [
"Development/*",
""
]
}
}
}
按照之前的步驟更新您為 RAM 使用者 Anne 建立的策略 AllowListBucketsIfSpecificPrefixIsIncluded。複製並貼上以下策略以替換現有策略。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:example-company"
],
"Condition": {
"StringLike": {
"oss:Prefix": [
"Development/*"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"oss:GetObject",
"oss:PutObject",
"oss:GetObjectAcl"
],
"Resource": [
"acs:oss:*:*:example-company/Development/*"
],
"Condition": {}
},
{
"Effect": "Deny",
"Action": [
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:example-company"
],
"Condition": {
"StringNotLike": {
"oss:Prefix": [
"Development/*",
""
]
}
}
}
]
}
步驟 6.授予 RAM 使用者 Leo 特定許可權
現在,您希望授予 Leo 訪問 Marketing 資料夾的許可權。請遵循之前用於向 Anne 授予許可權的步驟,但應將 Development 資料夾替換為 Marketing 資料夾。有關詳細過程,請參見步驟 5:授予 RAM 使用者 Anne 特定許可權。
步驟 7.確保 Private 資料夾安全
在本例中,您僅擁有兩個使用者。您在組級別授予兩個使用者所有所需的最小許可權,只有當您真正需要單個使用者級別上的許可權時,才授予使用者級別許可權。此方法有助於最大限度地減少管理許可權的工作量。隨著使用者數量的增加,我們希望確保不意外地授予使用者對 Private 資料夾的許可權。因此,我們需要新增一個顯式拒絕訪問 Private 資料夾的策略。顯式拒絕策略會取代任何其他許可權。若要確保 Private 資料夾保持私有,可以向組策略新增以下兩個拒絕語句:
- 新增以下語句以顯式拒絕對 Private 資料夾 (example-company/Private/*) 中的資源執行任何操作。
json { "Effect": "Deny", "Action": [ "oss:*" ], "Resource": [ "acs:oss:*:*:example-company/Private/*" ], "Condition": {} }
- 您還要在請求指定了 Private/ prefix 時拒絕執行 ListObjects 操作的許可權。在控制檯中,如果 Anne 或 Leo 單擊 Private 資料夾,則此策略將導致 OSS 返回錯誤響應。
json { "Effect": "Deny", "Action": [ "oss:ListObjects" ], "Resource": [ "acs:oss:*:*:*" ], "Condition": { "StringLike": { "oss:Prefix": [ "Private/" ] } } }
用包含前述拒絕語句的更新策略取代 Staff 組策略 AllowGroupToSeeBucketListInConsole。在應用更新策略後,組中的任何使用者都不能訪問您的儲存空間中的 Private 資料夾。
-
使用主賬號登入 RAM 控制檯。
-
用以下策略取代分配給 Staff 組的現有策略 AllowGroupToSeeBucketListInConsole。請用您的儲存空間名替換策略資源中的 example-company。
有關詳細過程,請參見 RAM 使用者指南 中 授權策略 的 修改自定義授權策略 部分。注意,您最多可對 RAM 策略進行五次修改。如果超過五次,您需要刪除該策略並建立一個新的策略,然後再次將新策略分配給 Staff 組。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListBuckets", "oss:GetBucketAcl" ], "Resource": [ "acs:oss:*:*:*" ], "Condition": {} }, { "Effect": "Allow", "Action": [ "oss:ListObjects" ], "Resource": [ "acs:oss:*:*:example-company" ], "Condition": { "StringLike": { "oss:Prefix": [ "" ], "oss:Delimiter": [ "/" ] } } }, { "Effect": "Deny", "Action": [ "oss:*" ], "Resource": [ "acs:oss:*:*:example-company/Private/*" ], "Condition": {} }, { "Effect": "Deny", "Action": [ "oss:ListObjects" ], "Resource": [ "acs:oss:*:*:*" ], "Condition": { "StringLike": { "oss:Prefix": [ "Private/" ] } } } ] }
清理
要進行清理,您需要在 RAM 控制檯中刪除使用者 Anne 和 Leo。有關詳細過程,請參見 RAM 使用者指南中使用者的刪除 RAM 使用者部分。
為了確保您不再因儲存而繼續被收取費用,您還需要刪除為本示例建立的物件和儲存空間。
相關文章
- Ubuntu共享資料夾訪問許可權問題Ubuntu訪問許可權
- Quarkus中基於角色的許可權訪問控制教程
- win10 資料夾許可權怎麼設定_win10如何設定資料夾訪問許可權Win10訪問許可權
- Java 訪問許可權控制(6)Java訪問許可權
- 使用nginx控制ElasticSearch訪問許可權NginxElasticsearch訪問許可權
- 005.OpenShift訪問控制-許可權-角色
- MySQL儲存過程的許可權問題MySql儲存過程
- 資料分析的許可權控制
- 論Java訪問許可權控制的重要性Java訪問許可權
- WSL資料夾許可權全為777問題
- Chrome OS:Linux應用程式將獲得訪問ndroid資料夾的許可權ChromeLinux
- Windows 11 資料夾訪問被拒絕,如何奪取檔案許可權Windows
- 修改檔案、資料夾許可權
- linux 檔案、資料夾許可權Linux
- win10如何獲取檔案訪問許可權_win10怎麼獲取許可權看資料夾Win10訪問許可權
- k8s結合jumpserver做kubectl許可權控制 使用者在多個namespaces的訪問許可權 rbac許可權控制K8SServernamespace訪問許可權
- 檢視、儲存過程以及許可權控制練習儲存過程
- Synology群暉NAS儲存建立共享資料夾以及許可權設定教程【江東網 JDX86.COM】
- win10使用者許可權管理資料夾怎麼設定_win10資料夾完全控制許可權操作方法Win10
- Vim儲存時許可權不足
- win10系統共享資料夾無法訪問提示“你沒有許可權訪問”如何解決Win10
- 獲取AFP共享的資料夾及其許可權
- 分散式文件儲存資料庫之MongoDB訪問控制分散式資料庫MongoDB
- win10共享檔案沒有許可權訪問怎麼辦 win10訪問不了共享資料夾Win10
- public, private, protected 訪問許可權訪問許可權
- mongoDB 3.0 安全許可權訪問MongoDB
- 怎麼控制報表的資料許可權
- C++中封裝和繼承的訪問許可權C++封裝繼承訪問許可權
- 開啟ftp伺服器上的資料夾時發生錯誤,請檢查是否有許可權訪問該資料夾FTP伺服器
- 一文讀懂 TKE 及 Kubernetes 訪問許可權控制訪問許可權
- 許可權控制
- jCasbin: 強大的訪問控制、許可權管理框架,支援 ACL, RBAC, ABAC框架
- win10資料夾管理員許可權如何更改_win10設定資料夾管理員許可權步驟Win10
- 17-成員訪問許可權訪問許可權
- Linux的許可權控制Linux
- win10刪除資料夾需要許可權怎麼辦_win10刪除資料夾需要許可權的解決方法Win10
- Mysql資料庫許可權問題MySql資料庫
- 2、儲存容量和儲存地址空間的轉換