View a markdown version of this page

設定和身分驗證 - AWS Partner Central

AWS 合作夥伴中心 API 參考已重組。如需支援的 API 操作的詳細資訊,請參閱 AWS 合作夥伴中心 API 參考

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

設定和身分驗證

使用AWS Partner Central API 設定和驗證需要三個步驟。以下是程序的概觀:

  1. 將您的AWS Marketplace賣方帳戶連結至 Partner Central。

  2. 使用 IAM 設定許可。

  3. 使用 Signature 第 4 版 (SigV4) 驗證您的 API 呼叫。

將您的AWS 帳戶連結至 Partner Central

將您的 連結至AWS 帳戶 Partner Central 是使用 API 的先決條件。如需詳細資訊,請參閱將AWS Partner Central 帳戶與AWS Marketplace賣方帳戶連結。您必須使用具有聯盟領導或雲端管理員許可的帳戶登入 Partner Central,導覽至 Account Linking區段,然後依照提示操作。

設定 IAM

若要使用AWS Partner Central API,您需要AWS Identity and Access Management(IAM) 角色或 IAM 使用者才能開始撥打電話。如需詳細資訊,請參閱何時使用 IAM?。請遵循AWS 帳戶指南中建立 IAM 角色建立 IAM 使用者的步驟。您必須在 Partner Central-linked AWS Marketplace Seller 帳戶中建立此 IAM 角色/使用者。建立 IAM 角色/使用者不會產生任何成本。

  1. 建立 IAM 角色/使用者

    登入AWS Management Console,導覽至 IAM 服務,然後依照步驟建立 IAM 角色或 IAM 使用者。

  2. 指派政策:

    視需要連接受管政策或建立自訂政策。若要修改或展開許可,請將其他政策套用至 IAM 角色,而不是從 複製內容並將其AWSPartnerCentralOpportunityManagement與其他許可結合。避免複製 受管政策,因為這樣做會阻止您在新功能發行時自動存取這些功能,而且您未來必須手動更新您的政策。如需存取政策的詳細資訊,請參閱存取控制文件

管理AWS Marketplace優惠

為了管理AWS Marketplace優惠並將其連結至機會,合作夥伴必須授予 IAM 角色存取目錄 APIs許可。確保角色/使用者具有許可,例如 aws-marketplace:ListEntitiesaws-marketplace:SearchAgreements

驗證 API 呼叫

AWS Partner Central API 使用 Signature 第 4 版 (SigV4) 進行身分驗證。以下是實作方法:

使用AWS SDK

AWS SDKs會自動處理請求簽署。提供您的AWS登入資料,而 SDK 會執行其餘動作。

  1. 對於 Java,請參閱提供暫時登入資料給適用於 Java 的AWS開發套件

  2. 對於 Python (Boto3),請參閱登入資料。

  3. 如需 JavaScript (Node.js),請參閱在 Node.js 中設定登入資料。

  4. 對於 .NET,請參閱登入資料和設定檔解析

  5. 如需其他程式設計語言和更多範例,請參閱在 上建置的工具AWS

不使用AWS SDK 進行身分驗證

如果AWS SDK 不適用於您選擇的程式設計語言,身分驗證會涉及手動建立正式請求、簽署請求,以及處理工作階段字符。AWS會提供使用 SigV4 簽署的完整指引。不過,請注意,建議使用AWS SDK,因為手動請求簽署會增加複雜性,並且需要仔細管理安全字符。

awsJson1_0 通訊協定的每個請求都必須使用以下標頭,使用 HTTP "POST" 方法傳送至根 URL (/)。

必要標頭

awsJson1_0 通訊協定的每個 API 請求都必須使用以下標頭,使用 HTTP "POST" 方法傳送至根 URL (/)。

標頭 必要 說明
內容類型 true 此標頭的靜態值為 application/x-amz-json-1.0
內容長度 true RFC 9110#section-8.6 定義的標準 Content-Length 標頭。
X-Amz-Target 請求為 true 例如, 服務CreatePartner操作的值PartnerCentralAccountPartnerCentralAccount.CreatePartner

使用自訂使用者代理程式簽署您的呼叫

向AWS Partner Central 提出 API 請求時,我們建議包含 X-Amzn-User-Agent標頭,以協助AWS識別用戶端應用程式的來源、監控用量和稽核效能。AWS使用此標頭來區分進行呼叫的用戶端應用程式的類型,並收集有關不同用戶端實作成功率的洞見。

自訂使用者代理程式標頭

標頭名稱: X-Amzn-User-Agent

目的:區分提出 API 請求的用戶端類型,並分類互動的來源。

格式{Integrator}|{Product}

範例值: AWS|AWS Partner CRM Connector

在每個請求中包含此標頭AWS,可讓 分析請求模式、追蹤整合,並改善不同用戶端系統的 API 體驗。

在 SDKs 中使用自訂標頭

若要在 SDK 呼叫中包含 X-Amzn-User-Agent標頭,您可以在進行 API 呼叫之前修改用戶端請求行為。以下是使用AWS SDK for Python (Boto3) 的銷售 API 範例:

import boto3 # Define service and endpoint details service_name = "partnercentral-selling" endpoint_url = "https://partnercentral-selling.us-east-1.api.aws" # Create a boto3 client for Partner Central partner_central_client = boto3.client( service_name=service_name, ='us-east-1', endpoint_url=endpoint_url ) # Function to add the custom User-Agent header def add_version_header(params, **kwargs): params["headers"]['X-Amzn-User-Agent'] = 'AWS|AWS Partner CRM Connector' # Register the event to modify the request before the call is made partner_central_client.meta.events.register( f'before-call.{service_name}.*', add_version_header ) # Now, whenever an API call is made using this client, the custom User-Agent header will be included

此範例示範如何在 Boto3 開發套件中註冊事件,以自動將 X-Amzn-User-Agent標頭附加到每個 API 請求。透過修改其個別的請求攔截機制,可以將相同的方法套用至其他AWS SDKs。

注意

X-Amzn-User-Agent 標頭格式已簡化。我們建議您使用新的格式。先前的格式 (CompanyName|ProductName|CRMName|ProductVersion) 仍支援回溯相容性。現有的整合將繼續運作,無需修改。