

AWS Marketplace API 參考已重組。如需支援的 API 操作的詳細資訊，請參閱 [AWS Marketplace API 參考](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html)。

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

# AWS Marketplace 合規 API 的存取控制
<a name="compliance-api-access-control"></a>

您可以使用 AWS Marketplace 合規 API 來管理 中的賣方合規 AWS Marketplace。不過，請先確定您的使用者或角色可以存取您要呼叫的 API 功能。

使用 AWS Identity and Access Management (IAM) 建立使用者和角色，並指派將有限許可授予最終使用者的政策。這些政策定義使用者或角色可以透過 AWS Marketplace 合規 API 對您的資源採取的動作。

**注意**  
若要在 上銷售產品 AWS Marketplace， AWS 帳戶 您的 必須設定為賣方帳戶。如需成為 AWS Marketplace 賣方的詳細資訊，請參閱 *AWS Marketplace 賣方指南*中的[賣方入門](https://docs.aws.amazon.com/marketplace/latest/userguide/user-guide-for-sellers.html)。

**Topics**
+ [允許具有 AWS 受管政策的動作](#compliance-allowing-actions-with-managed-policies)
+ [允許對所有資源執行動作](#compliance-allowing-actions-on-all-resources)
+ [允許對特定資源執行動作](#compliance-allowing-actions-on-specific-resources)
+ [允許具有特定aws:ResourceTag條件索引鍵的動作](#compliance-allowing-actions-with-resource-tag)
+ [管理 資源上的標籤](#compliance-managing-tags-on-resources)
+ [授予許可以管理 資源上的標籤](#compliance-grant-permission-manage-tags)
+ [只有在資源具有特定標籤時，才授予許可來管理資源上的標籤](#compliance-grant-permission-manage-tags-specific-tags)
+ [啟動發票提交任務時需要標籤](#compliance-requiring-tags-when-starting-tasks)
+ [驗證證據操作](#compliance-verification-verification-evidence-operations)

## 允許具有 AWS 受管政策的動作
<a name="compliance-allowing-actions-with-managed-policies"></a>

您可以使用 管理的政策 AWS ，將許可授予您的使用者或角色。

若要在 上使用發票提交 AWS Marketplace，您可以使用 `AWSMarketplaceSellerFullAccess` IAM 受管政策，其中包含 AWS Marketplace 合規 API 動作的完整存取權，以及其其他許可。如需詳細資訊，請參閱 [AWS Marketplace 賣方指南中的賣方政策和許可](https://docs.aws.amazon.com/marketplace/latest/userguide/detailed-management-portal-permissions.html)，以及[AWS Marketplace 賣方的 AWS 受管政策](https://docs.aws.amazon.com/marketplace/latest/userguide/security-iam-awsmanpol.html)。 *AWS Marketplace *

或者，您可以建立自己的 IAM 政策，以擁有比 AWS 受管政策中可用的更精細的控制。使用下列主題來建立您自己的 IAM 政策。

## 允許對所有資源執行動作
<a name="compliance-allowing-actions-on-all-resources"></a>

資源是動作可採取動作的物件。合規 API 具有下列資源類型：
+ **InvoiceSubmissionTask** – 發票提交任務會追蹤賣方提交發票的處理 AWS Marketplace。
+ **IssuedTaxInvoice** – 代表賣方開立的 AWS Marketplace 稅務發票。
+ **VerificationEvidence** – 包含特定驗證類別和待驗證主體的驗證資料。

若要允許使用者或角色完整存取發票提交任務操作，您可以新增下列 IAM 政策。使用此政策，使用者或角色可以在所有資源 () 上使用所有發票提交任務動作`"*"`。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:StartInvoiceSubmissionTask",
        "aws-marketplace:GetInvoiceSubmissionTask",
        "aws-marketplace:ListInvoiceSubmissionTasks",
        "aws-marketplace:ListPayables"
      ],
      "Resource": "*"
    }
  ]
}
```

若要允許使用者或角色完整存取已核發的稅務發票操作，您可以新增下列 IAM 政策。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:ListIssuedTaxInvoices",
        "aws-marketplace:GetIssuedTaxInvoice"
      ],
      "Resource": "*"
    }
  ]
}
```

若要允許使用者或角色完整存取驗證操作，您可以新增下列 IAM 政策。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:CreateVerificationEvidence",
        "aws-marketplace:UpdateVerificationEvidence",
        "aws-marketplace:GetVerificationEvidence",
        "aws-marketplace:ListVerificationEvidence",
        "aws-marketplace:StartVerification",
        "aws-marketplace:GetVerification",
        "aws-marketplace:ListVerifications"
      ],
      "Resource": "*"
    }
  ]
}
```

如需有關適用於合規 API 的所有動作的資訊，請參閱*《服務授權參考*》中的[AWS Marketplace 合規的動作、資源和條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsmarketplacecompliance.html)。

## 允許對特定資源執行動作
<a name="compliance-allowing-actions-on-specific-resources"></a>

您可以使用資源層級許可來允許對特定資源執行動作，而非所有資源。您可以透過在 IAM 政策的 中指定資源`Resource`的 Amazon Resource Name (ARN) 來執行此操作。

下列範例允許對特定發票提交任務執行 `GetInvoiceSubmissionTask`動作。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:GetInvoiceSubmissionTask"
      ],
      "Resource": [
        "arn:aws:aws-marketplace:us-east-1:{{123456789012}}:catalog/{{example-catalog}}/invoice-submission-task/{{example-task-id}}"
      ]
    }
  ]
}
```

下列範例允許對特定已開立的稅務發票執行 `GetIssuedTaxInvoice`動作。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:GetIssuedTaxInvoice"
      ],
      "Resource": [
        "arn:aws:aws-marketplace:us-east-1:{{123456789012}}:catalog/{{AWSMarketplace}}/issued-tax-invoice/{{example-invoice-id}}"
      ]
    }
  ]
}
```

下列範例允許對特定驗證證據資源執行 `GetVerificationEvidence`動作。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:GetVerificationEvidence"
      ],
      "Resource": [
        "arn:aws:aws-marketplace:us-east-1:{{123456789012}}:verification-type/business-verification/verification-evidence/{{evidence-a1b2c3d4e5f6g}}"
      ]
    }
  ]
}
```

## 允許具有特定aws:ResourceTag條件索引鍵的動作
<a name="compliance-allowing-actions-with-resource-tag"></a>

您可以根據資源的標籤允許對資源執行動作，而不必指定個別 ARNs。將標籤新增至資源可讓您根據這些資源的標籤來控制對這些資源的存取。

例如，下列 IAM 政策允許對任何標籤索引鍵為 `product-team`且標籤值為 的發票提交任務資源 (`"*"`) 執行 `GetInvoiceSubmissionTask`動作`team-xyz`。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:GetInvoiceSubmissionTask"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/product-team": "team-xyz"
        }
      }
    }
  ]
}
```

同樣地，下列 IAM 政策允許對標籤索引鍵為 `Department`且標籤值為 的任何已發行稅務發票資源 (`"*"`) 執行 `GetIssuedTaxInvoice`動作`Tax`。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:GetIssuedTaxInvoice"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Department": "Tax"
        }
      }
    }
  ]
}
```

下列 IAM 政策允許對標籤索引鍵為 `Department`且標籤值為 的任何驗證證據資源 (`"*"`) 執行 `GetVerificationEvidence`動作`Compliance`。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:GetVerificationEvidence"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Department": "Compliance"
        }
      }
    }
  ]
}
```

## 管理 資源上的標籤
<a name="compliance-managing-tags-on-resources"></a>

您可以從現有的合規 API 資源新增、列出和移除標籤，例如發票提交任務和已開立的稅務發票。

### 將標籤新增到資源
<a name="compliance-add-tags-to-resources"></a>

若要將標籤新增至資源，請使用 `TagResource` API 動作。

**請求**

```
POST /TagResource HTTP/1.1
Content-type: application/json

{
  "ResourceArn": "string",
  "Tags": [
    {
      "Key": "string",
      "Value": "string"
    }
  ]
}
```

請求參數包括：
+ ResourceArn （字串） – （必要） 資源的 ARN。
+ 標籤 （物件陣列） – （必要） 指定每個標籤索引鍵和值的物件清單。允許的物件數量：1–50。
  + 金鑰 （字串） – （必要） 標籤的名稱。Regex 模式：`^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`。字元長度：1–128。
  + 值 （字串） – （必要） 標籤的值。Regex 模式：`^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`。字元長度：0–256。

### 移除 資源的標籤
<a name="compliance-remove-tags-from-resources"></a>

若要從資源中移除標籤或標籤清單，請使用 `UntagResource` API 動作。

**請求**

```
POST /UntagResource HTTP/1.1
Content-type: application/json

{
  "ResourceArn": "string",
  "TagKeys": [
    "string"
  ]
}
```

請求參數包括：
+ ResourceArn （字串） – （必要） 資源的 ARN。
+ TagKeys （字串陣列） – （必要） 要移除的標籤金鑰名稱清單。

### 列出資源上的所有標籤
<a name="compliance-list-all-tags-on-resource"></a>

若要列出資源上的所有標籤，請使用 `ListTagsForResource` API 動作。

**請求**

```
POST /ListTagsForResource HTTP/1.1
Content-type: application/json

{
  "ResourceArn": "string"
}
```

**回應**

```
{
  "ResourceArn": "string",
  "Tags": [
    {
      "Key": "string",
      "Value": "string"
    }
  ]
}
```

## 授予許可以管理 資源上的標籤
<a name="compliance-grant-permission-manage-tags"></a>

若要允許使用者或角色在所有合規 API 資源上新增、移除和列出標籤，他們需要下列 IAM 政策。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:TagResource",
        "aws-marketplace:UntagResource",
        "aws-marketplace:ListTagsForResource"
      ],
      "Resource": "*"
    }
  ]
}
```

## 只有在資源具有特定標籤時，才授予許可來管理資源上的標籤
<a name="compliance-grant-permission-manage-tags-specific-tags"></a>

您可以允許使用者或角色在具有特定標籤的合規 API 資源上新增、移除和列出標籤。下列 IAM 政策允許對標籤索引鍵為 `product-team`且標籤值為 的任何資源 (`"*"`) 執行這些動作`team-xyz`。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:TagResource",
        "aws-marketplace:UntagResource",
        "aws-marketplace:ListTagsForResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/product-team": "team-xyz"
        }
      }
    }
  ]
}
```

## 啟動發票提交任務時需要標籤
<a name="compliance-requiring-tags-when-starting-tasks"></a>

您可以使用 `aws:RequestTag`和 `aws:TagKeys`條件索引鍵搭配 `StartInvoiceSubmissionTask`動作，在建立發票提交任務時強制執行標記。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:StartInvoiceSubmissionTask"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/product-team": "team-xyz"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "product-team"
          ]
        }
      }
    }
  ]
}
```

## 驗證證據操作
<a name="compliance-verification-verification-evidence-operations"></a>

 AWS Marketplace 合規 API 提供管理驗證證據和驗證程序的操作。您可以使用 IAM 政策來控制對這些操作的存取。

### 驗證操作的 IAM 動作
<a name="compliance-verification-iam-actions"></a>

下列 IAM 動作可用於驗證操作。所有動作都使用 `aws-marketplace` 命名空間。

**證據管理動作**
+ `aws-marketplace:CreateVerificationEvidence` – 建立新的驗證證據。
+ `aws-marketplace:UpdateVerificationEvidence` – 更新現有的驗證證據。
+ `aws-marketplace:GetVerificationEvidence` – 取得驗證證據的詳細資訊。
+ `aws-marketplace:ListVerificationEvidence` – 列出驗證證據資源。

**驗證程序動作**
+ `aws-marketplace:StartVerification` – 提交證據並啟用資料共用。
+ `aws-marketplace:GetVerification` – 取得詳細的驗證狀態。
+ `aws-marketplace:ListVerifications` – 列出所有驗證狀態。

### Resource Type (資源類型)
<a name="compliance-verification-resource-type"></a>

**VerificationEvidence** 資源包含特定驗證類別和待驗證主體的驗證資料。此資源的 ARN 格式為：

```
arn:aws:aws-marketplace:{{region}}:{{account-id}}:verification-type/{{type-value}}/verification-evidence/{{evidence-id}}
```

以下是商業驗證的範例 ARN：

`arn:aws:aws-marketplace:us-east-1:123456789012:verification-type/business-verification/verification-evidence/evidence-a1b2c3d4e5f6g`

### 使用 VerificationType 條件金鑰
<a name="compliance-verification-condition-key"></a>

`aws-marketplace:VerificationType` 條件金鑰會依類型篩選驗證程序操作。此條件索引鍵適用於下列動作：
+ `StartVerification`
+ `GetVerification`
+ `ListVerifications`

此條件索引鍵的有效值為：
+ `BusinessVerification`

**注意**  
證據管理操作 (`CreateVerificationEvidence`、`UpdateVerificationEvidence``GetVerificationEvidence`、、`ListVerificationEvidence`) 不會使用此條件金鑰，因為驗證類型已在資源 ARN 中編碼。

### 允許具有 AWS 受管政策的動作
<a name="compliance-verification-managed-policy"></a>

除了其他許可之外，IAM `AWSMarketplaceSellerFullAccess` 受管政策還包含所有七個驗證許可。如需詳細資訊，請參閱《 *AWS Marketplace 賣方指南*》中的[AWS Marketplace 適用於賣方的 AWS 受管政策](https://docs.aws.amazon.com/marketplace/latest/userguide/security-iam-awsmanpol.html)。

### 允許完整存取所有驗證操作
<a name="compliance-verification-full-access"></a>

若要允許使用者或角色完整存取所有驗證操作，您可以新增下列 IAM 政策。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:CreateVerificationEvidence",
        "aws-marketplace:UpdateVerificationEvidence",
        "aws-marketplace:GetVerificationEvidence",
        "aws-marketplace:ListVerificationEvidence",
        "aws-marketplace:StartVerification",
        "aws-marketplace:GetVerification",
        "aws-marketplace:ListVerifications"
      ],
      "Resource": "*"
    }
  ]
}
```

### 允許唯讀存取業務驗證證據
<a name="compliance-verification-read-only-access"></a>

若要允許使用者或角色唯讀存取業務驗證證據，您可以使用 ARN 型篩選來限制對特定驗證類型的存取。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:GetVerificationEvidence",
        "aws-marketplace:ListVerificationEvidence"
      ],
      "Resource": [
        "arn:aws:aws-marketplace:*:{{123456789012}}:verification-type/business-verification/verification-evidence/*"
      ]
    }
  ]
}
```

### 依類型限制驗證程序操作
<a name="compliance-verification-condition-key-example"></a>

若要將驗證程序操作限制為特定驗證類型，請使用 `aws-marketplace:VerificationType`條件索引鍵。下列範例僅允許用於業務驗證的驗證程序操作。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:StartVerification",
        "aws-marketplace:GetVerification",
        "aws-marketplace:ListVerifications"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws-marketplace:VerificationType": "BusinessVerification"
        }
      }
    }
  ]
}
```

### 允許對特定驗證證據資源執行動作
<a name="compliance-verification-specific-resources"></a>

若要允許對特定驗證證據資源執行動作，請在 IAM 政策的 `Resource`元素中指定資源的 ARN。下列範例允許對特定驗證證據資源執行所有證據管理動作。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:GetVerificationEvidence",
        "aws-marketplace:UpdateVerificationEvidence"
      ],
      "Resource": [
        "arn:aws:aws-marketplace:us-east-1:{{123456789012}}:verification-type/business-verification/verification-evidence/{{evidence-id}}"
      ]
    }
  ]
}
```