Amazon Rekognition 的身分與存取管理 - Amazon Rekognition

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon Rekognition 的身分與存取管理

AWS Identity and Access Management (IAM) 是 AWS 服務 ,可協助管理員安全地控制對 AWS 資源的存取。 IAM管理員可控制誰可以經過身分驗證 (登入) 和授權 (具有許可) 來使用 Amazon Rekognition 資源。 IAM是 AWS 服務 您可以免費使用的 。

目標對象

使用方式 AWS Identity and Access Management (IAM) 會有所不同,取決於您在 Amazon Rekognition 中執行的工作。

服務使用者 :如果您使用 Amazon Rekognition 服務來執行任務,您的管理員會為您提供必要的憑證和許可。隨著您為了執行作業而使用的 Amazon Rekognition 功能數量變多,您可能會需要額外的許可。了解存取許可的管理方式可協助您向管理員請求正確的許可。如果您無法存取 Amazon Rekognition 中的特徵,請參閱 Amazon Rekognition 身分和存取的疑難排解

服務管理員:若您在公司負責管理 Amazon Rekognition 資源,您應該具備 Amazon Rekognition 的完整存取權限。您的任務是判斷服務使用者應存取的 Amazon Rekognition 功能和資源。您接著必須將請求提交給您的 IAM 管理員,來變更您服務使用者的許可。檢閱此頁面上的資訊,瞭解 IAM 的基本概念。若要進一步了解貴公司如何IAM搭配 Amazon Rekognition 使用 ,請參閱 Amazon Rekognition 如何搭配 使用 IAM

IAM 管理員:如果您是IAM管理員,建議您了解如何撰寫政策以管理 Amazon Rekognition 存取權的詳細資訊。若要檢視您可以在 中使用的 Amazon Rekognition 身分型政策範例IAM,請參閱 使用 Amazon Rekognition 身分型政策範例的範例

使用身分驗證

身分驗證是您 AWS 使用身分憑證登入 的方式。您必須以 AWS 帳戶根使用者身分、 IAM使用者身分或擔任 IAM角色來驗證 (登入 AWS)。

您可以使用透過身分來源提供的登入資料,以聯合身分 AWS 身分登入 。 AWS IAM Identity Center (IAM Identity Center) 使用者、您公司的單一登入身分驗證,以及您的 Google 或 Facebook 登入資料,都是聯合身分的範例。當您以聯合身分登入時,您的管理員先前已設定使用 IAM 角色的聯合身分。當您使用聯合 AWS 存取 時,您會間接擔任角色。

根據您身分的使用者類型,您可以登入 AWS Management Console 或 AWS 存取入口網站。如需登入 的詳細資訊 AWS,請參閱AWS 登入 《 使用者指南》中的如何登入您的 AWS 帳戶

如果您以 AWS 程式設計方式存取 , AWS 會提供軟體開發套件 (SDK) 和命令列界面 (CLI),以使用您的 登入資料以密碼編譯方式簽署您的請求。如果您不使用 AWS 工具,則必須自行簽署請求。如需使用建議方法自行簽署請求的詳細資訊,請參閱 IAM 使用者指南中的AWS 簽章版本 4 以取得API請求

無論您使用何種身分驗證方法,您可能都需要提供額外的安全性資訊。例如, AWS 建議您使用多重驗證 (MFA) 來提高帳戶的安全性。若要進一步了解,請參閱AWS IAM Identity Center 《 使用者指南》中的多重要素驗證,以及》 IAM 使用者指南AWS 中的多重要素驗證IAM

IAM 使用者和群組

IAM 使用者是 中具有單一人員或應用程式特定許可 AWS 帳戶 的身分。如果可能,我們建議您依賴臨時登入資料,而不是建立具有密碼和存取金鑰等長期登入資料IAM的使用者。不過,如果您有特定的使用案例需要IAM使用者長期登入資料,建議您輪換存取金鑰。如需詳細資訊,請參閱IAM《 使用者指南》中的針對需要長期憑證的使用案例定期輪換存取金鑰

IAM 群組是一種指定 IAM 使用者集合的實體。您無法以群組身分簽署。您可以使用群組來一次為多名使用者指定許可。群組可讓管理大量使用者許可的程序變得更為容易。例如,您可以擁有名為 的群組,IAMAdmins並授予該群組管理 IAM 資源的許可。

使用者與角色不同。使用者只會與單一人員或應用程式建立關聯,但角色的目的是在由任何需要它的人員取得。使用者擁有永久的長期憑證,但角色僅提供臨時憑證。若要進一步了解,請參閱IAM《 使用者指南》中的IAM使用者使用案例

IAM 角色

IAM 角色是 中具有特定許可 AWS 帳戶 的身分。它與 IAM 使用者相似,但是不會與特定人員建立關聯。若要暫時在 中擔任IAM角色 AWS Management Console,您可以從使用者切換至IAM角色 (主控台)。您可以呼叫 或 AWS API AWS CLI 操作,或使用自訂 來擔任角色URL。如需使用角色方法的詳細資訊,請參閱IAM《 使用者指南》中的擔任角色的方法

使用臨時登入資料的 IAM 角色在下列情況中非常有用:

  • 聯合身分使用者存取 — 如需向聯合身分指派許可,請建立角色,並為角色定義許可。當聯合身分進行身分驗證時,該身分會與角色建立關聯,並獲授予由角色定義的許可。如需聯合角色的相關資訊,請參閱IAM《 使用者指南》中的為第三方身分提供者 (聯合) 建立角色如果您使用 IAM Identity Center,您可以設定許可集。若要控制身分在驗證後可以存取哪些內容, IAM Identity Center 會將許可集與 中的角色相關聯IAM。如需有關許可集的資訊,請參閱 AWS IAM Identity Center 使用者指南中的許可集

  • 臨時IAM使用者許可 – IAM使用者或角色可以擔任 IAM角色,暫時接受特定任務的不同許可。

  • 跨帳戶存取權 − 您可以使用 IAM 角色,允許不同帳戶中的某人 (受信任的主體) 存取您帳戶的資源。角色是授予跨帳戶存取權的主要方式。不過,對於某些 AWS 服務,您可以直接將政策連接到資源 (而不是使用角色做為代理)。若要了解跨帳戶存取的角色和資源型政策之間的差異,請參閱IAM《 使用者指南中的跨帳戶資源存取IAM

  • 跨服務存取 – 有些 AWS 服務 使用其他 中的功能 AWS 服務。例如,當您在 服務中呼叫 時,該服務通常會在 Amazon 中執行應用程式EC2或在 Amazon S3 中存放物件。服務可能會使用呼叫主體的許可、使用服務角色或使用服務連結角色來執行此作業。

    • 轉送存取工作階段 (FAS) – 當您使用 IAM使用者或角色在 中執行動作時 AWS,您會被視為委託人。當您使用某些服務時,您可以執行 動作,然後啟動不同服務中的另一個動作。 FAS會使用呼叫 的委託人許可 AWS 服務,並結合 對下游服務 AWS 服務 提出請求的請求。 FAS 只有在服務收到請求時,才會提出請求,要求 與其他 AWS 服務 或 資源互動以完成。在此情況下,您必須具有執行這兩個動作的許可。如需提出FAS請求時的政策詳細資訊,請參閱轉送存取工作階段

    • 服務角色 – 服務角色是IAM服務擔任的角色,以代表您執行動作。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需詳細資訊,請參閱IAM《 使用者指南》中的建立角色以將許可委派給 AWS 服務

    • 服務連結角色 – 服務連結角色是連結至 的服務角色類型 AWS 服務。服務可以擔任代表您執行動作的角色。服務連結角色會出現在您的 中 AWS 帳戶 ,並由服務擁有。IAM 管理員可以檢視,但不能編輯服務連結角色的許可。

  • Amazon 上執行的應用程式 EC2 – 您可以使用 IAM角色來管理EC2執行個體上執行之應用程式的臨時登入資料,以及提出 AWS CLI 或 AWS API 請求。這是在 EC2 執行個體內存放存取金鑰的較好方式。若要將 AWS 角色指派給EC2執行個體並將其提供給其所有應用程式,您可以建立連接至執行個體的執行個體設定檔。執行個體描述檔包含該角色,並且可讓 EC2 執行個體上執行的程式取得暫時登入資料。如需詳細資訊,請參閱IAM《 使用者指南》中的使用 IAM角色將許可授予在 Amazon EC2執行個體上執行的應用程式

使用政策管理存取權

您可以透過建立政策並將其連接到 AWS 身分或資源 AWS 來控制 中的存取。政策是其中的物件,當與身分或資源相關聯時, AWS 會定義其許可。當委託人 (使用者、根使用者或角色工作階段) 發出請求時, 會 AWS 評估這些政策。政策中的許可決定是否允許或拒絕請求。大多數政策會以JSON文件 AWS 形式存放在 中。如需JSON政策文件結構和內容的詳細資訊,請參閱IAM《 使用者指南》中的JSON政策概觀

管理員可以使用 AWS JSON政策來指定誰可以存取內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

預設情況下,使用者和角色沒有許可。若要授予使用者對所需資源執行動作的許可,IAM管理員可以建立IAM政策。然後,管理員可以將IAM政策新增至角色,使用者可以擔任角色。

IAM 政策定義該動作的許可,無論您使用何種方法來執行操作。例如,假設您有一個允許 iam:GetRole 動作的政策。具有該政策的使用者可以從 AWS Management Console AWS CLI、 或 AWS 取得角色資訊API。

使用身分型政策

以身分為基礎的政策是您可以連接到身分的JSON許可政策文件,例如IAM使用者、使用者群組或角色。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。若要了解如何建立身分型政策,請參閱IAM《 使用者指南》中的使用客戶受管政策定義自訂IAM許可

身分型政策可進一步分類成內嵌政策受管政策。內嵌政策會直接內嵌到單一使用者、群組或角色。受管政策是獨立的政策,您可以連接到 中的多個使用者、群組和角色 AWS 帳戶。受管政策包括 AWS 受管政策和客戶受管政策。若要了解如何在受管政策或內嵌政策之間進行選擇,請參閱IAM《 使用者指南》中的在受管政策和內嵌政策之間進行選擇

使用以資源為基礎的政策

資源型政策是您連接至資源JSON的政策文件。資源型政策的範例包括IAM角色信任政策和 Amazon S3 儲存貯體政策。在支援資源型政策的服務中,服務管理員可以使用它們來控制對特定資源的存取權限。對於附加政策的資源,政策會定義指定的主體可以對該資源執行的動作以及在何種條件下執行的動作。您必須在資源型政策中指定主體。委託人可以包括帳戶、使用者、角色、聯合身分使用者或 AWS 服務。

資源型政策是位於該服務中的內嵌政策。您無法在資源型政策IAM中使用來自 的 AWS 受管政策。

存取控制清單 (ACLs)

存取控制清單 (ACLs) 控制哪些主體 (帳戶成員、使用者或角色) 具有存取資源的許可。 ACLs 類似於以資源為基礎的政策,雖然它們不使用JSON政策文件格式。

Amazon S3 AWS WAF和 Amazon VPC是支援 的服務範例ACLs。若要進一步了解 ACLs,請參閱《Amazon Simple Storage Service 開發人員指南》中的存取控制清單 (ACL) 概觀

其他政策類型

AWS 支援其他較不常見的政策類型。這些政策類型可設定較常見政策類型授予您的最大許可。

  • 許可界限 – 許可界限是一項進階功能,您可以在其中設定身分型政策可授予IAM實體 (IAM 使用者或角色) 的最大許可。您可以為實體設定許可界限。所產生的許可會是實體的身分型政策和其許可界限的交集。會在 Principal 欄位中指定使用者或角色的資源型政策則不會受到許可界限限制。所有這類政策中的明確拒絕都會覆寫該允許。如需許可界限的詳細資訊,請參閱IAM《 使用者指南》中的IAM實體的許可界限

  • 服務控制政策 (SCPs) – SCPs 是指定組織或組織單位 (OU) in. 的最大許可JSON的政策 AWS Organizations, AWS Organizations 是一種用於分組和集中管理您企業擁有 AWS 帳戶 的多個的服務。如果您啟用組織中的所有功能,則可以將服務控制政策 (SCPs) 套用至任何或所有帳戶。SCP 限制成員帳戶中實體的許可,包括每個實體 AWS 帳戶根使用者。如需 Organizations 和 的詳細資訊SCPs,請參閱AWS Organizations 《 使用者指南》中的服務控制政策

  • 資源控制政策 (RCPs) – RCPs 是您可以用來設定帳戶中資源可用許可上限JSON的政策,而無需更新連接到您擁有之每個資源IAM的政策。RCP 限制成員帳戶中資源的許可,並可能影響身分的有效許可,包括 AWS 帳戶根使用者,無論它們是否屬於您的組織。如需 Organizations 和 的詳細資訊RCPs,包括 AWS 服務 支援 的清單RCPs,請參閱 AWS Organizations 使用者指南中的資源控制政策 (RCPs)

  • 工作階段政策 – 工作階段政策是一種進階政策,您可以在透過撰寫程式的方式建立角色或聯合使用者的暫時工作階段時,做為參數傳遞。所產生工作階段的許可會是使用者或角色的身分型政策和工作階段政策的交集。許可也可以來自資源型政策。所有這類政策中的明確拒絕都會覆寫該允許。如需詳細資訊,請參閱 IAM 使用者指南中的工作階段政策

多種政策類型

將多種政策類型套用到請求時,其結果形成的許可會更為複雜、更加難以理解。若要了解如何 AWS 在涉及多種政策類型時決定是否允許請求,請參閱 IAM 使用者指南中的政策評估邏輯

政策最佳實務

身分型政策會判斷您帳戶中的某個人員是否可以建立、存取或刪除 Amazon Rekognition 資源。這些動作可能會讓您的 AWS 帳戶產生費用。當您建立或編輯身分型政策時,請遵循下列準則及建議事項:

  • 開始使用 AWS 受管政策並邁向最低權限許可 – 若要開始將許可授予您的使用者和工作負載,請使用 AWS 受管政策來授予許多常見使用案例的許可。它們可在您的 中使用 AWS 帳戶。我們建議您定義特定於使用案例 AWS 的客戶受管政策,以進一步減少許可。如需詳細資訊,請參閱IAM《 使用者指南》中的 AWS 受管政策AWS 任務函數的受管政策

  • 套用最低權限許可 – 當您使用 IAM 政策設定許可時, 只會授予執行任務所需的許可。為實現此目的,您可以定義在特定條件下可以對特定資源採取的動作,這也稱為最低權限許可。如需使用 IAM 套用許可的詳細資訊,請參閱IAM《 使用者指南中的政策和許可IAM

  • 使用IAM政策中的條件來進一步限制存取:您可以將條件新增至政策,以限制對動作和資源的存取。例如,您可以撰寫政策條件來指定所有請求都必須使用 傳送SSL。您也可以使用條件來授予透過特定 使用的服務動作存取權 AWS 服務,例如 AWS CloudFormation。如需詳細資訊,請參閱 IAM 使用者指南中的IAMJSON政策元素:條件

  • 使用 IAM Access Analyzer 驗證您的IAM政策,以確保安全且功能許可 – IAM Access Analyzer 會驗證新的和現有的政策,使政策符合IAM政策語言 (JSON) 和IAM最佳實務。 IAMAccess Analyzer 提供超過 100 個政策檢查和可行的建議,以協助您撰寫安全且實用的政策。如需詳細資訊,請參閱IAM《 使用者指南》中的使用 IAM Access Analyzer 驗證政策

  • 需要多重要素驗證 (MFA) – 如果您的案例需要 中的IAM使用者或根使用者 AWS 帳戶,請開啟 MFA 以獲得額外的安全性。若要在呼叫API操作MFA時要求 ,請將MFA條件新增至您的政策。如需詳細資訊,請參閱IAM《 使用者指南》中的使用 安全API存取MFA

如需 中最佳實務的詳細資訊IAM,請參閱IAM《 使用者指南中的安全最佳實務IAM