

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 策略中指定资源的亚马逊资源名称 (ARN)。`Resource`

以下示例允许对特定的发票提交任务执行`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>

您可以允许根据资源的标签对资源执行操作，而无需指定单个 ARN。为资源添加标签允许您根据这些资源的标签控制对这些资源的访问权限。

例如，以下 IAM 策略允许对标签键为、标签值为的任何发票提交任务资源 (`"*"`) 执行`GetInvoiceSubmissionTask`操作`team-xyz`。`product-team`

```
{
  "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。
  + Key（字符串）-（必填）标签的名称。正则表达式模式:. `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$` 字符长度：1—128。
  + 值（字符串）-（必填）标签的值。正则表达式模式:. `^([\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>

通过在`StartInvoiceSubmissionTask`操作中使用`aws:RequestTag`和`aws:TagKeys`条件键，可以在创建发票提交任务时强制进行标记。

```
{
  "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`— 列出所有验证状态。

### 资源类型
<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>

除其他权限外，`AWSMarketplaceSellerFullAccess`IAM 托管策略还包括所有七个验证权限。有关更多信息，请参阅《卖家*指南》中的 AWS AWS Marketplace 卖AWS Marketplace 家*[托管政策](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-based 筛选来限制对特定验证类型的访问权限。

```
{
  "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}}"
      ]
    }
  ]
}
```