1. 程式人生 > >Amazon S3 資源概述及管理訪問基本操作

Amazon S3 資源概述及管理訪問基本操作

Amazon S3 資源概述及管理訪問基本操作

預設情況下,所有Amazon S3資源都是私有的,包括儲存桶、物件和相關子資源(例如liftcyclewebsite配置)。只有資源擁有者,即建立該資源的AWS賬戶可以訪問資源。資源擁有者可以選擇通過編寫訪問策略授予他人訪問許可權。

Amazon S3提供的訪問策略大致可分為兩類:基於資源的策略、使用者策略。

附加到資源(儲存桶和物件)的訪問策略稱為基於資源的策略,例如,儲存桶策略和訪問控制列表(ACL)就是基於資源的策略。將訪問策略附加到賬戶中的使用者,就是使用者策略。可以使用這些策略的組合來管理你的Amazon S3資源許可權。

一、訪問管理概述

1.Amazon S3資源

儲存桶和物件是主要的Amazon S3資源,它們都有關聯的子資源。

儲存桶的子資源包括:

·liftcycle—儲存生命週期配置

·website—為網站託管配置儲存桶時儲存網站配置資訊

·versioning—儲存版本控制配置

·policy和acl(訪問控制列表)—儲存儲存桶的訪問許可權資訊

·cors(跨源資源共享)—支援配置儲存桶以允許跨源請求

·logging—使您能夠請求Amazon S3儲存儲存桶訪問日誌

物件子資源包括:

·acl—儲存物件訪問許可權列表。這裡討論如何使用這一子資源管理物件許可權

關於物件擁有者

預設情況下,所有S3資源都是私有的。只有資源擁有者才能訪問資源。資源擁有著是指建立資源的

AWS賬戶。例如:

·用於建立儲存桶和物件的AWS賬戶擁有這些資源

·如果您在AWS賬戶中建立一個AWS Identity and Access Management(IAM)使用者,您的AWS賬戶就是父級擁有者。如果該IAM使用者上傳一個物件,那麼該使用者所屬的父賬戶擁有該物件。

·儲存桶擁有者可以向其他AWS賬戶(或其他賬戶中的使用者)授予上傳物件的跨賬戶許可權。這種情況下,上傳物件的AWS賬戶擁有這些物件。儲存桶擁有者對其他賬戶擁有的物件沒有許可權。

以下情況除外:

* 賬單由儲存桶擁有者支付,儲存桶擁有者可以拒絕對任何物件的訪問,或刪除儲存桶中的任何物件,而無論他們的擁有者是誰

* 儲存桶擁有者可以存檔任何物件或還原存檔物件,而無論他們的擁有者是誰。

 

注:AWS不建議使用AWS賬戶的根憑證發起請求,而應建立一個IAM使用者授予該使用者完全訪問許可權。我們將這些使用者稱為管理員使用者。可以使用管理員使用者憑證而不是賬戶的根憑證來與AWS互動和執行任務,例如建立儲存桶、建立使用者、和為使用者授予許可權。

下圖所示為一個擁有資源、IAM使用者、儲存桶和物件的AWS賬戶。

2.資源操作

Amazon S3提供一組操作來處理Amazon S3資源。

3.管理對資源的訪問(訪問策略選項)

管理訪問是指通過編寫訪問策略向他人(AWS賬戶和使用者)授予執行資源操作的許可權。例如,可以對AWS賬戶中的一個使用者授予PUT Object許可權,使該使用者可以向您的儲存桶上傳物件。除了向單個物件的使用者和賬戶授予許可權外們還可以向每個人(匿名使用者)或所有已驗證身份的使用者(擁有AWS憑證的使用者)授予許可權。例如,當您將儲存桶配置為網站是,可能希望通過向每個人授予GET Object許可權將物件公開。

訪問策略描述了誰可以訪問哪些內容,可以將訪問策略與資源(儲存桶和物件)或使用者相關聯。相應地,可以將可用的Amazon S3訪問策略如下分類:

·基於資源的策略—儲存桶策略和訪問控制列表(ACL)是基於資源的策略,因為您將它們附加到Amazon S3資源上。


ACL—每個儲存桶和物件都有關聯的ACL。ACL是一個指定被授權者和所授權許可權的授權列表。您可使用ACL向其他AWS賬戶授予基本的讀/寫許可權。ACL使用特定於Amazon S3的XML架構。

下面是一個示例儲存桶ACL。該ACL中的授權顯示一個儲存桶擁有者具有完全控制權限。

<?xml version="1.0" encoding="UTF-8"?>

<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">

  <Owner>

    <ID>*** Owner-Canonical-User-ID ***</ID>

    <DisplayName>owner-display-name</DisplayName>

  </Owner>

  <AccessControlList>

    <Grant>

      <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

               xsi:type="Canonical User">

        <ID>*** Owner-Canonical-User-ID ***</ID>

        <DisplayName>display-name</DisplayName>

      </Grantee>

      <Permission>FULL_CONTROL</Permission>

    </Grant>

  </AccessControlList>

</AccessControlPolicy>

儲存桶和物件ACL使用相同的XML架構

儲存桶策略—對於儲存桶,您可以通過新增儲存桶策略向其他AWS賬戶或IMA使用者授予響應儲存桶及其中物件的許可權。任何物件許可權都僅應用於儲存桶擁有者建立的物件。儲存桶策略補充(通常情況下取代)基於ACL的訪問策略。

下面是一個儲存桶策略。使用JSON檔案來表示儲存桶策略(和使用者策略)。該策略授予對一個儲存桶中所有物件的匿名讀取許可權。該儲存桶策略有一條語句,允許對名為examplebucket的儲存桶中的物件執行S3(examplebucket資料夾中資料元):GetObject操作(讀取許可權)。通過使用萬用字元(*)指定principal,該策略授予匿名訪問許可權。

{

    "Version":"2012-10-17",

    "Statement": [

        {

            "Effect":"Allow",

            "Principal": "*",

            "Action":["s3:GetObject"],

            "Resource":["arn:aws:s3:::examplebucket/*"]

        }

    ]

}

·使用者策略

您可以使用AWS Identity and Access Management(IAM)管理Amazon S3資源的訪問許可權。使用IAM,可以在您的賬戶中建立IAM使用者、組和角色,並通過附加訪問策略授予他們對包括Amazon S3在內的AWS資源的訪問許可權。

 

下面是一個使用者策略示例。因為 IAM 使用者策略附加到使用者,所以不能在其中授予匿名許可權。示例策略允許其附加到的關聯使用者對儲存桶及其中的物件執行六種不同的 Amazon S3 操作。您可以將此策略附加到一個具體的 IAM 使用者、組或角色。

{

    "Statement": [

        {

            "Effect":"Allow",

            "Action": [

                "s3:PutObject",

                "s3:GetObject",

                "s3:DeleteObject",

                "s3:ListAllMyBuckets",

                "s3:GetBucketLocation",

                "s3:ListBucket"

            ],

            "Resource":"arn:aws:s3:::examplebucket/*"

        }

    ]

}

Amazon S3 收到請求時,它必須評估所有訪問策略以決定是授權還是拒絕該請求。

相關推薦

Amazon S3 資源概述管理訪問基本操作

Amazon S3 資源概述及管理訪問基本操作 預設情況下,所有Amazon S3資源都是私有的,包括儲存桶、物件和相關子資源(例如liftcycle、website配置)。只有資源擁有者,即建立該資源的AWS賬戶可以訪問資源。資源擁有者可以選擇通過編寫訪問策略授予他人訪問

mysql管理基本操作

sql 修改root密碼 服務 blog sam www 網址 resolve 日誌 進去mysql:mysql –uroot –p 重啟數據庫:[[email protected]/* */ ~]# /etc/init.d/mysqld restart1.

Linux——目錄結構文件基本操作

行號 可能 滾輪 cto 進行 tar home 安裝路徑 content 二、Linux 目錄結構 在講 Linux 目錄結構之前,你首先要清楚一點,那就是 Linux 的目錄與 Windows 的目錄的區別,或許對於一般操作上的感受來說沒有多大不同,但從它們的實現機制來

Docker架構、鏡像容器的基本操作

enforce 增量 http enable arc all 正在 set 下載到本地 Docker架構、鏡像及容器的基本操作 前言引導 Docker是在Linux容器裏運行應用的開源工具,是一種輕量級的虛擬機,誕生於2013年。Docker的設計宗旨:Build、Shi

◮ R語言筆記(一): 向量向量的基本操作

R語言簡介:   R語言是一種統計繪圖語言,也指實現該語言的軟體; R語言是從S語言演變而來,S語言在20世紀70年代誕生於貝爾實驗室,其是用來進行資料探索/統計分析/作圖的解釋性語言; R語言是在1995年由紐西蘭某大學的學生基於S語言的原始碼編寫的一套能執行S語言的軟體,就

Linux基礎命令一:檔案目錄的基本操作

1. ls 檢視 列出,檢視指定目錄下的檔案資訊 [[email protected] ~]# ls -l 長格式顯示詳細資訊,可簡寫為ll [[email protected] ~]# ls -l 或 [[email protected] ~

git管理svn基本操作

簡介 當前,大多數開發中的開源專案以及大量的商業專案都使用 Subversion 來管理原始碼。作為最流行的開源版本控制系統,Subversion 已經存在了接近十年的時間。它在許多方面與 CVS 十分類似,後者是前者出現之前程式碼控制世界的霸主。 而在分散式版本控制系統

MySQL資料庫表管理基本操作

首先說一下MySQL語言的基本介紹: SQL語言(Structured Query Language)即結構化查詢語言,是關係型資料庫的標準語言,用於維護和管理資料庫,如:資料庫查詢、資料更新、訪問控制、物件管理等 。 一、SQL分類: DDL:資料定義語言,用

【Unity3D入門教程】Unity3D介面介紹遊戲物件基本操作

1 介面介紹 在Windows等圖形化作業系統上,熟練地使用選單、圖示、快捷鍵等,將會極大提升工作效率。因此,要認識一個軟體,學會熟練使用他們,就必須先認識軟體的介面。 先點選選單欄的Window——

JAVA核心技術I---JAVA基礎知識(檔案系統java檔案基本操作

一:檔案概述 檔案系統是由OS(作業系統)管理的 檔案系統和Java程序是平行的,是兩套系統 檔案系統是由資料夾和檔案遞迴組合而成 檔案目錄分隔符 –Linux/Unix 用/隔開 –Windows用\隔開,涉及到轉義,在程式中需用/或\\代替 檔案包括檔案裡面的內容和檔案基本屬性 檔案

【Lucene4.8教程之一】使用Lucene4.8進行索引搜尋的基本操作

在Lucene對文字進行處理的過程中,可以大致分為三大部分: 1、索引檔案:提取文件內容並分析,生成索引 2、搜尋內容:搜尋索引內容,根據搜尋關鍵字得出搜尋結果 3、分析內容:對搜尋詞彙進行分析,生成Quey物件。 注:事實上,除了最基本的完全匹配搜尋以外,其它都需要在

第1章 方法的概述基本使用

Java1.1 方法定義格式及格式解釋1.1.1 方法的概述假設有一個遊戲程序,程序在運行過程中,要不斷地發射炮彈(植物大戰僵屍)。發射炮彈的動作需要編寫100行的代碼,在每次實現發射炮彈的地方都需要重復地編寫這100行代碼,這樣程序會變得很臃腫,可讀性也非常差。為了解決代碼重復編寫的問題,可以將發射炮彈的代

SELinux——概述基本操作命令

SELinux SandboxSELinux 基本概述:SELinux(Security-Enhanced Linux) 是美國國家安全局(NSA)對於強制訪問控制的實現,是 Linux歷史上最傑出的新安全子系統。NSA是在Linux社區的幫助下開發了一種訪問控制體系,在這種訪問控制體系的限制下,進程只能訪問

MongoDB基本操作、備份還原用戶管理

score 不同 文件的 進程命令 favicon 再次 ESS for 服務器 今日趁周末得空,將近日在學習的MongoDB數據庫常用命令作以下整理,方便工作中查看 MongoDB的邏輯結構主要由文檔、集合和數據庫三部分組成。其中文檔是MongoDB的核心概念,它是Mo

Windows磁盤管理概述技術

分區 gpt分區 唯一標識 屬於 cda 初始化 所有 中斷 備份 磁盤管理的概述 文件在存儲介質上的組織由文件系統負責管理FAT文件系統NTIS文件系統 分區方式MBR和GPT可以 MBR(master boot record 主啟動記錄)包含引導程序和分區表分區表中存儲

SolidityOA幸運飛艇源碼下載概述基本代碼展示

生成 查詢 記錄 eve sim rec 簽名 特權 tran Solidity是實施OA幸運飛艇源碼下載【dashengba.com】Q3266397597智能合約的契約導向的高級語言。它受到C ++,Python和JavaScript的影響,旨在針對以太坊虛擬機(EVM

ACL的三種訪問控制列表的概述實驗配置

pro 訪問 type 概述 alt 結果 size 三層 routing ACL的概述 在路由器上讀取OSI七層模型的第三層及第四層包頭的信息根據定義好的規則,對包進行過濾 ACL的工作原理 有兩個方向出:已經過路由器的處理,正離開路由器接口的數據包入:已經到達路由器接口

Oracle數據庫之體系結構詳解,基本操作管理客戶端遠程連接

plus down 緩沖區 擴展名 應用 提交 normal 系統 等待 上一篇文章《Oracle Database 12c安裝》講解了如何安裝oracle數據庫,這篇文章繼續講解數據庫的體系結構,基本操作管理及客戶端遠程連接Oracle的體系結構 Oracle數據庫由兩部

前端之html概述基本結構

html概述: HTML是 HyperText Mark-up Language 的首字母簡寫,意思是超文字標記語言,超文字指的是超連結,標記指的是標籤,是一種用來製作網頁的語言,這種語言由一個個的標籤組成,用這種語言製作的檔案儲存的是一個文字檔案,檔案的副檔名為html或者htm。 &n

Python檔案基本操作上下文管理

檔案基本操作 開啟檔案:f = open(fole_name,mode = 'r'),傳入表示檔案路徑的字串,會返回一個檔案物件,mode是檔案開啟模式。 關閉檔案:f.close(),呼叫給定檔案物件的close方法。 檔案開啟模式: r:以只讀方法開啟檔案,檔案指