View a markdown version of this page

AWS Marketplace Discovery API 的存取控制 - AWS Marketplace

AWS Marketplace API 參考已重組。如需支援的 API 操作的詳細資訊,請參閱 AWS Marketplace API 參考

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

AWS Marketplace Discovery API 的存取控制

Discovery API 使用 AWS Identity and Access Management (IAM) 進行身分驗證和授權。任何 AWS 客戶都可以透過設定適當的 IAM 許可來呼叫 Discovery API。

使用者必須具有下列許可才能呼叫 Discovery API 操作:

  • GetListing – 准許擷取有關清單的資訊。

  • GetProduct – 准許擷取有關產品的資訊。

  • GetOffer – 准許擷取優惠的相關資訊。

  • GetOfferTerms – 准許擷取優惠的條款。

  • GetOfferSet – 准許擷取優惠集的相關資訊。

  • ListPurchaseOptions – 准許列出買方可用的購買選項。

  • ListFulfillmentOptions – 准許列出產品的履行選項。

  • SearchListings – 准許搜尋產品清單。

  • SearchFacets – 准許擷取面向值以篩選清單。

IAM 許可

若要呼叫 Discovery API 操作,IAM 主體 (使用者或角色) 必須具有適當的aws-marketplace許可。Discovery API 支援資源層級許可,因此您可以在 IAM 政策中限制對特定資源類型的存取。

下列 IAM 政策授予具有資源層級範圍的所有 Discovery API 操作的存取權:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:GetListing", "aws-marketplace:GetProduct", "aws-marketplace:GetOffer", "aws-marketplace:GetOfferTerms", "aws-marketplace:GetOfferSet", "aws-marketplace:ListPurchaseOptions", "aws-marketplace:ListFulfillmentOptions", "aws-marketplace:SearchFacets", "aws-marketplace:SearchListings" ], "Resource": [ "arn:aws:aws-marketplace:::catalog/<catalog-name>/product/*", "arn:aws:aws-marketplace:::catalog/<catalog-name>/listing/*", "arn:aws:aws-marketplace:::catalog/<catalog-name>/offer/*", "arn:aws:aws-marketplace:::catalog/<catalog-name>/offerSet/*", "arn:aws:aws-marketplace:::catalog/<catalog-name>/purchaseOption/*" ] } ] }

<catalog-name> 將 取代為適當的目錄識別符 (例如 AWSMarketplace)。

資源 ARN 格式

下表顯示 Discovery API 操作所使用的資源類型及其 ARN 格式:

Resource Type (資源類型) ARN 格式 使用者:
產品 arn:aws:aws-marketplace:::catalog/catalog-name/product/product-id GetProduct、ListFulfillmentOptions
列出 arn:aws:aws-marketplace:::catalog/catalog-name/listing/listing-id GetListing、SearchListings、SearchFacets
優惠 arn:aws:aws-marketplace:::catalog/catalog-name/offer/offer-id GetOffer、GetOfferTerms
優惠集 arn:aws:aws-marketplace:::catalog/catalog-name/offerSet/offerSet-id GetOfferSet
購買選項 arn:aws:aws-marketplace:::catalog/catalog-name/purchaseOption/purchaseOption-id ListPurchaseOptions

將操作範圍限定為特定資源

對於 Get 操作 (GetListing、GetProduct、GetOffer、GetOfferTerms、GetOfferSet) 和 ListFulfillmentOptions 操作,您可以將存取範圍縮小為特定資源 IDs,而不是使用萬用字元。例如,若要限制對單一清單的存取:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "aws-marketplace:GetListing", "Resource": "arn:aws:aws-marketplace:::catalog/AWSMarketplace/listing/listing-id" } ] }

此模式適用於任何 Get 操作和 ListFulfillmentOptions。相應地取代資源類型和 ID:

  • arn:aws:aws-marketplace:::catalog/catalog-name/product/product-id

  • arn:aws:aws-marketplace:::catalog/catalog-name/listing/listing-id

  • arn:aws:aws-marketplace:::catalog/catalog-name/offer/offer-id

  • arn:aws:aws-marketplace:::catalog/catalog-name/offerSet/offerSet-id

SearchListings、SearchFacets 和 ListPurchaseOptions 操作不支援範圍限定為單一資源,因為它們跨多個項目操作。針對這些操作使用下列萬用字元 ARN 模式:

  • 對於 SearchListings 和 SearchFacets: arn:aws:aws-marketplace:::catalog/catalog-name/listing/*

  • 對於 ListPurchaseOptions: arn:aws:aws-marketplace:::catalog/catalog-name/purchaseOption/*

服務連結角色

Discovery API 不使用服務連結角色。所有存取都是透過標準 IAM 政策來控制。

跨帳戶存取權

您可以使用 IAM 角色授予 Discovery API 的跨帳戶存取權。使用適當的 Discovery API 許可在目標帳戶中建立角色,然後從來源帳戶擔任該角色。