

A referência da API do AWS Marketplace foi reestruturada. Para obter mais informações sobre as operações de API suportadas, consulte a [Referência de API do AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Controle de acesso para o AWS Marketplace API do contrato
<a name="agreement-api-access-control"></a>

Para gerenciar contratos AWS Marketplace usando o Agreement Service, você deve garantir que suas políticas e funções AWS Identity and Access Management (IAM) estejam configuradas. Os usuários devem ter o seguinte policies/permissions para permitir que realizem as ações:
+ `CreateAgreementRequest`— Concede permissão aos usuários para iniciar uma nova solicitação para criar um novo contrato ou atualizar um contrato existente.
+ `AcceptAgreementRequest`— Concede permissão aos usuários para aceitar uma solicitação criada anteriormente para se materializar em um contrato. Observação: ao aceitar a solicitação de contrato, se os usuários fornecerem pedidos de compra, eles também precisarão ter `UpdatePurchaseOrders` permissão para realizar a ação.
+ `GetAgreementEntitlements`— Concede permissão aos usuários para listar os direitos de um contrato.
+ `CancelAgreement`— Concede permissão aos usuários para cancelar um contrato ativo do qual participam.
+ `ListAgreementCharges`— Concede permissão aos usuários para listar as cobranças de um contrato.
+ `UpdatePurchaseOrders`— Concede permissão aos usuários para atualizar os pedidos de compra de acordo com as cobranças do contrato.
+ `SendAgreementCancellationRequest`— Concede permissão aos usuários para enviar uma solicitação de cancelamento.
+ `AcceptAgreementCancellationRequest`— Concede permissão aos usuários para aceitarem uma solicitação de cancelamento iniciada pelo vendedor de um contrato do qual eles participam como aceitantes. Observação: os usuários também precisam de `CancelAgreement` permissão porque a aprovação da solicitação de cancelamento leva ao cancelamento do contrato.
+ `RejectAgreementCancellationRequest`— Concede permissão aos usuários para rejeitar uma solicitação de cancelamento iniciada pelo vendedor de um contrato do qual eles participam como aceitante.
+ `SendAgreementPaymentRequest`— Concede permissão aos usuários para enviar uma solicitação de pagamento.
+ `AcceptAgreementPaymentRequest`— Concede permissão aos usuários para aceitarem uma solicitação de pagamento iniciada pelo vendedor para um contrato do qual eles participam como aceitante.
+ `RejectAgreementPaymentRequest`— Concede permissão aos usuários para rejeitar uma solicitação de pagamento iniciada pelo vendedor para um contrato do qual eles participam como aceitante.
+ `GetAgreementCancellationRequest`— Concede permissão aos usuários para recuperar informações detalhadas sobre uma solicitação de cancelamento específica de um contrato do qual eles participam como aceitantes.
+ `ListAgreementCancellationRequests`— Concede permissão aos usuários para listar solicitações de cancelamento de contratos dos quais participam como aceitantes.
+ `GetAgreementPaymentRequest`— Concede permissão aos usuários para recuperar informações detalhadas sobre uma solicitação de pagamento específica de um contrato do qual eles participam como aceitantes.
+ `ListAgreementPaymentRequests`— Concede permissão aos usuários para listar as solicitações de pagamento dos contratos dos quais participam como aceitantes.
+ `DescribeAgreement`— Concede permissão aos usuários para obter metadados detalhados sobre qualquer um de seus contratos.
+ `GetAgreementTerms`— Concede permissão aos usuários para obter detalhes sobre os termos de um contrato.
+ `SearchAgreements`— Concede permissão aos usuários para pesquisar todos os seus contratos.

**nota**  
*Para obter mais informações sobre essas permissões, consulte [Políticas e permissões para vendedores do AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/userguide/detailed-management-portal-permissions.html) no *Guia do AWS Marketplace vendedor* e [Controle do acesso às assinaturas do AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-iam-users-groups-policies.html) no AWS Marketplace Guia do comprador.*

## Permitindo ações com AWS políticas gerenciadas
<a name="agreement-aws-managed-policies"></a>

AWS Marketplace define políticas gerenciadas específicas para cada pessoa. Você pode usar políticas gerenciadas para suas identidades do IAM, o que, por padrão, restringe o escopo da política para a função especificada. O uso da política gerenciada permitirá que você siga as melhores práticas e receba atualizações de políticas à medida que novos recursos forem disponibilizados no Marketplace.

*Para obter mais informações sobre essas permissões, consulte [Políticas e permissões para vendedores do AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/userguide/detailed-management-portal-permissions.html) no *Guia do AWS Marketplace vendedor* e [Controle do acesso às assinaturas do AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-iam-users-groups-policies.html) no AWS Marketplace Guia do comprador.*

Você não está limitado às permissões nas políticas AWS gerenciadas descritas aqui. Você pode usar o IAM para criar políticas com permissões personalizadas e, em seguida, adicionar essas políticas a perfis do IAM. Para obter informações, consulte [Gerenciamento de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) e [Adição das permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no *Guia do usuário do IAM*.

## Permitindo ações com políticas gerenciadas pelo cliente
<a name="agreement-customer-managed-policies"></a>

Você também pode definir uma política gerenciada pelo cliente para controlar o acesso às APIs do serviço do Contrato. Você pode personalizar a política com uma combinação de efeitos, ações e condições suportadas.

Para acessar a API de AWS Marketplace Acordos para gerenciar as assinaturas de produtos, você pode criar a seguinte política para permitir o acesso.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:CreateAgreementRequest",
        "aws-marketplace:AcceptAgreementRequest"
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws-marketplace:AgreementType": ["PurchaseAgreement"]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:CancelAgreement",
        "aws-marketplace:GetAgreementEntitlements",
        "aws-marketplace:UpdatePurchaseOrders",
        "aws-marketplace:ListAgreementCharges"
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws-marketplace:AgreementType": ["PurchaseAgreement"]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:AcceptAgreementCancellationRequest",
        "aws-marketplace:RejectAgreementCancellationRequest",
        "aws-marketplace:GetAgreementCancellationRequest",
        "aws-marketplace:ListAgreementCancellationRequests",
        "aws-marketplace:CancelAgreement"
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws-marketplace:AgreementType": ["PurchaseAgreement"]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:AcceptAgreementPaymentRequest",
        "aws-marketplace:RejectAgreementPaymentRequest",
        "aws-marketplace:GetAgreementPaymentRequest",
        "aws-marketplace:ListAgreementPaymentRequests"
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws-marketplace:AgreementType": ["PurchaseAgreement"]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:DescribeAgreement",
        "aws-marketplace:SearchAgreements",
        "aws-marketplace:GetAgreementTerms"
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws-marketplace:AgreementType": ["PurchaseAgreement"]
        },
        "StringEquals": {
          "aws-marketplace:PartyType": "Acceptor"
        }
      }
    }
  ]
}
```

## Personalizando a política com chaves de condição definidas pelo serviço
<a name="agreement-condition-keys"></a>

### Usando a chave de AgreementType condição
<a name="agreement-condition-agreementtype"></a>

A declaração abaixo limita o acesso à `UpdatePurchaseOrders` operação somente para o tipo de `PurchaseAgreement` contrato.

```
{
  "Effect": "Allow",
  "Action": [
    "aws-marketplace:UpdatePurchaseOrders"
  ],
  "Resource": "*",
  "Condition": {
    "ForAllValues:StringEquals": {
      "aws-marketplace:AgreementType": ["PurchaseAgreement"]
    }
  }
}
```

### Usando a chave de ProductId condição
<a name="agreement-condition-productid"></a>

A declaração abaixo limita o acesso `AcceptAgreementRequest` a `CreateAgreementRequest` e somente IDs de AWS Marketplace produtos especificados. Você pode incluir essa declaração para permitir a criação somente de IDs de produtos pré-aprovados, como a limitação aos modelos básicos da Bedrock.

```
{
  "Effect": "Allow",
  "Action": [
    "aws-marketplace:CreateAgreementRequest",
    "aws-marketplace:AcceptAgreementRequest"
  ],
  "Resource": "*",
  "Condition": {
    "ForAnyValue:StringEquals": {
      "aws-marketplace:ProductId": [
        "model-product-id-1",
        "model-product-id-2"
      ]
    }
  }
}
```

### Usando a chave de PartyType condição
<a name="agreement-condition-partytype"></a>

A declaração abaixo concede o acesso para ler os detalhes de qualquer contrato se o usuário for o proponente do contrato.

```
{
  "Effect": "Allow",
  "Action": [
    "aws-marketplace:DescribeAgreement"
  ],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "aws-marketplace:PartyType": "Proposer"
    }
  }
}
```