外部存取權適用的 IAM Access Analyzer 資源類型
若使用外部存取權分析器,IAM Access Analyzer 會分析您啟用 IAM Access Analyzer 的區域中套用至 AWS 資源的資源型政策。系統只會分析資源型政策。檢閱每個資源的相關資訊,以取得 IAM Access Analyzer 如何為每個資源類型產生問題清單的相關詳細資訊。
注意
列出的支援資源類型適用於外部存取權分析器。未使用的存取權分析器僅支援 IAM 使用者和角色。如需詳細資訊,請參閱了解 IAM Access Analyzer 調查結果如何運作。
外部存取權支援的資源類型:
- Amazon Simple Storage Service 儲存貯體
- Amazon Simple Storage Service 目錄儲存貯體
- AWS Identity and Access Management 角色
- AWS Key Management Service 金鑰
- AWS Lambda 函數和圖層
- Amazon Simple Queue Service 佇列
- AWS Secrets Manager 秘密
- Amazon Simple Notification Service 主題
- Amazon Elastic Block Store 磁碟區快照
- Amazon Relational Service 資料庫快照
- Amazon Relational Database Service 資料庫叢集快照
- Amazon Elastic Container Registry 儲存庫
- Amazon Elastic File System 檔案系統
- Amazon DynamoDB Streams
- Amazon DynamoDB 資料表
Amazon Simple Storage Service 儲存貯體
當 IAM Access Analyzer 分析 Amazon S3 儲存貯體時,若套用至儲存貯體的 Amazon S3 儲存貯體政策、ACL 或包括多區域存取點的存取點將存取權授與外部實體,則會產生問題清單。外部實體是您可用來建立不在信任區域內之篩選的主體或其他實體。例如,如果儲存貯體政策對另一個帳戶授與存取權或允許公有存取權,則 IAM Access Analyzer 會產生問題清單。不過,如果您在儲存貯體上啟用 Block Public Access (封鎖公有存取權),則可以在帳戶層級或儲存貯體層級封鎖存取權。
注意
IAM Access Analyzer 不會分析連接至跨帳戶存取點的存取點政策,因為存取點及其政策不在分析器帳戶以內。當儲存貯體委派對跨帳戶存取點的存取權,且儲存貯體或帳戶上未啟用「封鎖公開存取」時,IAM Access Analyzer 會產生公開問題清單。當您啟用「封鎖公開存取」時,公開問題清單得以解決,IAM Access Analyzer 將產生跨帳戶存取點的跨帳戶問題清單。
Amazon S3 封鎖公開存取設定會覆寫套用至儲存貯體的儲存貯體政策。這些設定也會覆寫套用至儲存貯體存取點的存取點政策。IAM Access Analyzer 會在政策變更時分析儲存貯體層級的「封鎖公開存取」設定。不過,它僅以 6 小時一次的頻率在帳戶層級評估「封鎖公開存取」設定。這意味著 IAM Access Analyzer 未對儲存貯體產生公有存取權問題清單或進行解決的時間可能長達 6 小時。例如,如果您有允許公有存取權的儲存貯體政策,則 IAM Access Analyzer 會產生該存取權的問題清單。如果您接著啟用「封鎖公開存取」以在帳戶層級封鎖對儲存貯體的所有公開存取權,即使對儲存貯體的所有公開存取權都遭到封鎖,IAM Access Analyzer 可能需要達 6 小時的時間來解決儲存貯體政策之問題清單。一旦您在帳戶層級啟用「封鎖公開存取」,解決跨帳戶存取點的公開問題清單最多也可能需要 6 小時。對資源控制政策 (RCP) 所做的變更,若未變更儲存貯體政策,則不會觸發重新掃描調查結果中報告的儲存貯體。IAM Access Analyzer 會在下次定期掃描 (24 小時內) 期間分析該新增或更新的政策。
對於多區域存取點,IAM Access Analyzer 會使用已建立的政策來產生問題清單。IAM Access Analyzer 每 6 小時會評估一次對多區域存取點的變更。這表示即使您建立或刪除多區域存取點,或更新其政策,IAM Access Analyzer 對此不產生或解決問題清單的時間可達最多 6 小時。
Amazon Simple Storage Service 目錄儲存貯體
Amazon S3 目錄儲存貯體使用 Amazon S3 Express One 儲存體方案,建議用於關鍵效能的工作負載或應用程式。針對 Amazon S3 目錄儲存貯體,IAM Access Analyzer 會分析允許外部實體存取目錄儲存貯體的目錄儲存貯體政策 (包括政策中的條件陳述式)。如需 Amazon S3 目錄儲存貯體的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的目錄儲存貯體。
AWS Identity and Access Management 角色
對於 IAM 角色,IAM Access Analyzer 會分析信任政策。在角色信任政策中,您會定義您信任能夠擔任角色的主體。角色信任政策是在 IAM 中連接至角色的以資源為基礎的必要政策。IAM Access Analyzer 會產生信任區域內角色的問題清單,該問題清單可供位於信任區域外的外部實體存取。
注意
IAM 角色是全域資源。如果角色信任政策授與外部實體存取權,則 IAM Access Analyzer 會在每個啟用的區域中產生問題清單。
AWS Key Management Service 金鑰
對於 AWS KMS keys,IAM Access Analyzer 會分析套用至金鑰的金鑰政策及授與。如果金鑰政策或授與允許外部實體存取金鑰,IAM Access Analyzer 會產生問題清單。例如,如果您在政策陳述式中使用 kms:CallerAccount 條件索引鍵來允許特定 AWS 帳戶中所有使用者的存取權,且您指定的是目前帳戶 (目前分析器的信任區域) 以外的帳戶,則 IAM Access Analyzer 會產生問題清單。若要進一步了解 IAM 政策陳述式中的 AWS KMS 條件索引鍵,請參閱 AWS KMS 條件索引鍵。
IAM Access Analyzer 分析 KMS 金鑰時,它會讀取金鑰中繼資料,例如金鑰政策和授與清單。如果金鑰政策不允許 IAM Access Analyzer 角色讀取金鑰中繼資料,就會產生 Access Denied (存取遭拒) 的錯誤問題清單。例如,若下列範例政策陳述式是金鑰中套用的唯一政策,則會在 IAM Access Analyzer 中產生 Access denied (存取遭拒) 的錯誤問題清單。
{ "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/Admin" }, "Action": "kms:*", "Resource": "*" }
由於此陳述式只允許 AWS 帳戶 111122223333 中名為 Admin 的角色存取該金鑰,則 IAM Access Analyzer 無法完全分析該金鑰,因此會產生 Access Denied (存取遭拒) 的錯誤問題清單。錯誤問題清單在 Findings (問題清單) 資料表中會以紅色文字顯示。問題清單看起來類似下列。
{ "error": "ACCESS_DENIED", "id": "12345678-1234-abcd-dcba-111122223333", "analyzedAt": "2019-09-16T14:24:33.352Z", "resource": "arn:aws:kms:us-west-2:1234567890:key/1a2b3c4d-5e6f-7a8b-9c0d-1a2b3c4d5e6f7g8a", "resourceType": "AWS::KMS::Key", "status": "ACTIVE", "updatedAt": "2019-09-16T14:24:33.352Z" }
當您建立 KMS 金鑰時,所授與可存取金鑰的許可取決於金鑰的建立方式。如果您收到金鑰資源的 Access Denied (存取遭拒) 錯誤問題清單,請將下列政策陳述式套用至金鑰資源,以授與 IAM Access Analyzer 存取金鑰的許可。
{ "Sid": "Allow IAM Access Analyzer access to key metadata", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer" }, "Action": [ "kms:DescribeKey", "kms:GetKeyPolicy", "kms:List*" ], "Resource": "*" },
在收到 KMS 金鑰資源的 Access Denied (存取遭拒) 問題清單,然後藉由更新金鑰政策來解決問題清單後,即會將問題清單更新為已解決的狀態。如果有會將許可授與外部實體之金鑰的政策陳述式或金鑰授與,您可能會看到金鑰資源的其他問題清單。
AWS Lambda 函數和圖層
對於 AWS Lambda 函數,IAM Access Analyzer 會分析將函數存取權授與外部實體的政策 (包括政策中的條件陳述式)。使用 Lambda,您可以將唯一的資源型政策連接到函式、版本、別名和分層。IAM Access Analyzer 會根據連接至函式和分層的資源型政策來報告外部存取權。IAM Access Analyzer 不會根據連接至別名的資源型政策和使用合格 ARN 叫用的特定版本來報告外部存取權。
如需詳細資訊,請參閱《AWS Lambda 開發人員指南》中的 Using resource-based policies for Lambda 和 Using versions。
Amazon Simple Queue Service 佇列
對於 Amazon SQS 佇列,IAM Access Analyzer 會分析允許外部實體存取佇列的政策 (包括政策中的條件陳述式)。
AWS Secrets Manager 秘密
對於 AWS Secrets Manager 秘密,IAM Access Analyzer 會分析允許外部實體存取秘密的政策 (包括政策中的條件陳述式)。
Amazon Simple Notification Service 主題
IAM Access Analyze 會分析附加至 Amazon SNS 主題的資源型政策,包括允許外部存取主題的政策中的條件陳述式。您可以允許外部帳戶執行 Amazon SNS 動作,例如透過資源型政策訂閱和發佈主題。如果來自信任區域之外的帳戶主體可以對該主題執行操作,則可從外部存取 Amazon SNS 主題。如果您建立 Amazon SNS 主題時在政策中選擇 Everyone
,則表示該主題可供公眾存取。AddPermission
是向允許外部存取的 Amazon SNS 主題新增資源型政策的另一種方法。
Amazon Elastic Block Store 磁碟區快照
Amazon Elastic Block Store 磁碟區快照沒有資源型政策。快照是透過 Amazon EBS 共用許可的方式進行共用。對於 Amazon EBS 磁碟區快照,IAM Access Analyzer 會分析允許外部實體存取快照的存取控制清單。在加密時,Amazon EBS 磁碟區快照可與外部帳戶共用。未加密的磁碟區快照可與外部帳戶共用,並可授予公用存取權。共用設定位於快照的 CreateVolumePermissions
屬性中。當客戶預覽 Amazon EBS 快照的外部存取時,他們可以將加密金鑰指定為快照已加密的指標,類似於 IAM Access Analyzer 預覽處理 Secrets Manager 秘密的方式。
Amazon Relational Service 資料庫快照
Amazon RDS 資料庫快照沒有資源型政策。資料庫快照可透過 Amazon RDS 資料庫許可共用,且只能共用手動資料庫快照。對於 Amazon RDS 資料庫快照,IAM Access Analyzer 會分析允許外部實體存取快照的存取控制清單。未加密的資料庫快照可以是公開的。加密的資料庫快照無法公開共用,但可與多達 20 個其他帳戶共用。如需詳細資訊,請參閱建立資料庫快照。IAM Access Analyzer 會將匯出資料庫手動快照 (例如,匯出至 Amazon S3 儲存貯體) 的能力視為受信任的存取。
注意
IAM Access Analyzer 不會識別直接在資料庫本身設定的公用或跨帳戶存取權。IAM Access Analyzer 僅識別 Amazon RDS 資料庫快照上設定的公用或跨帳戶存取權的問題清單。
Amazon Relational Database Service 資料庫叢集快照
Amazon RDS 資料庫叢集快照沒有資源型政策。可透過 Amazon RDS 資料庫叢集許可共用快照。對於 Amazon RDS 資料庫叢集快照,IAM Access Analyzer 會分析允許外部實體存取快照的存取控制清單。未加密的叢集快照可以公開。而加密的叢集快照則無法公開共用。未加密和加密的叢集快照可與最多 20 個其他帳戶共享。如需詳細資訊,請參閱建立資料庫叢集快照。IAM Access Analyzer 會將匯出資料庫叢集快照 (例如,匯出至 Amazon S3 儲存貯體) 的能力視為受信任的存取。
注意
IAM Access Analyzer 問題清單不包括監控 Amazon RDS 資料庫叢集的任何共用,以及與其他 AWS 帳戶 或使用 AWS Resource Access Manager 的組織的複製。IAM Access Analyzer 僅識別 Amazon RDS 資料庫叢集快照上設定的公用或跨帳戶存取權的問題清單。
Amazon Elastic Container Registry 儲存庫
對於 Amazon ECR 儲存庫,IAM Access Analyzer 會分析資源型政策,包括政策中的條件陳述式,且這些政策允許外部實體存取儲存庫 (類似於 Amazon SNS 主題和 Amazon EFS 檔案系統等其他資源類型)。對於 Amazon ECR 儲存庫,主體必須擁有透過身分型政策 ecr:GetAuthorizationToken
的許可,才能將其視為外部可用。
Amazon Elastic File System 檔案系統
對於 Amazon EFS 檔案系統,IAM Access Analyzer 會分析允許外部實體存取檔案系統的政策 (包括政策中的條件陳述式)。如果來自信任區域之外的帳戶主體可以在該檔案系統上執行操作,則可從外部存取 Amazon EFS 檔案系統。可透過使用 IAM 的檔案系統政策以及檔案系統掛載方式來定義存取權。例如,在其他帳戶掛載 Amazon EFS 檔案系統會被視為可從外部存取,除非該帳戶位於您的組織中,且您已將該組織定義為您的信任區域。如果您從具有公有子網路的虛擬私有雲端掛載檔案系統,則可從外部存取檔案系統。搭配 AWS Transfer Family 使用 Amazon EFS 時,如果檔案系統允許公開存取,則會阻止從與該檔案系統不同的帳戶所擁有的 Transfer Family 伺服器接收的檔案系統存取請求。
Amazon DynamoDB Streams
如果 DynamoDB 政策允許至少一個跨帳戶動作,讓外部實體可以存取 DynamoDB 串流,則 IAM Access Analyzer 會產生一個調查結果。如需 DynamoDB 支援的跨帳戶動作的詳細資訊,請參閱《Amazon DynamoDB 開發人員指南》中的 IAM actions supported by resource-based policies。
Amazon DynamoDB 資料表
如果 DynamoDB 政策允許至少一個跨帳戶動作,讓外部實體可以存取 DynamoDB 資料表或索引,則 IAM Access Analyzer 會產生一項 DynamoDB 資料表調查結果。如需 DynamoDB 支援的跨帳戶動作的詳細資訊,請參閱《Amazon DynamoDB 開發人員指南》中的 IAM actions supported by resource-based policies。