View a markdown version of this page

Controle de acesso para o AWS Marketplace API do Catalog - AWS Marketplace

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.

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 Catalog

Você pode usar o AWS Marketplace Catalog API para gerenciar um produto do vendedor AWS Marketplace ou uma experiência em um mercado privado. No entanto, primeiro certifique-se de que seu usuário ou função possa acessar a funcionalidade da API que você deseja chamar.

Use AWS Identity and Access Management (IAM) para criar usuários e funções e atribuir políticas que concedam permissões limitadas aos usuários finais. As políticas definem as ações que o usuário ou a função podem realizar em seus recursos por meio do AWS Marketplace Catalog API.

Por exemplo, você pode definir funções como engenharia, marketing e preços. Em seguida, você pode adicionar um usuário em sua organização à função de engenharia. Nessa função, eles podem receber permissões para iniciar uma solicitação de alteração para publicar uma nova versão do produto do vendedor. No entanto, a função de engenharia não permite que o usuário liste todos os conjuntos de alterações.

nota

Para vender produtos no AWS Marketplace, você Conta da AWS deve estar configurado como uma conta de vendedor. Para obter mais detalhes sobre como se tornar um AWS Marketplace vendedor, consulte Como começar como vendedor no Guia do AWS Marketplace vendedor.

Você pode usar políticas AWS gerenciadas ou criar suas próprias políticas de IAM para ter um controle mais granular do que o que está disponível nas políticas AWS gerenciadas. Para obter detalhes sobre essas abordagens, consulte os tópicos a seguir.

Permitindo ações com AWS políticas gerenciadas

Você pode usar políticas gerenciadas por AWS para conceder permissões ao seu usuário ou função.

Para trabalhar com produtos que você vende AWS Marketplace, você pode usar a política gerenciada AWSMarketplaceSellerFullAccess do IAM, que tem acesso total ao, AWS Marketplace Catalog API além de suas outras permissões. Você pode conceder acesso somente de leitura à API do Catálogo com a AWSMarketplaceSellerProductsReadOnly política. Para obter mais informações, consulte Controle de acesso Portal de gerenciamento do AWS Marketplace, políticas e permissões para AWS Marketplace vendedores e políticas gerenciadas pela AWS para AWS Marketplace vendedores no Guia do AWS Marketplace vendedor.

Para gerenciar um mercado privado, você pode usar a política gerenciada AWSPrivateMarketplaceAdminFullAccess do IAM, que tem acesso total para criar e editar o mercado privado da sua conta ou AWS organização. Para obter mais informações, consulte Controle do acesso às AWS Marketplace assinaturas, Criação de um administrador de mercado privado e políticas gerenciadas pela AWS para AWS Marketplace compradores no Guia do AWS Marketplace comprador.

Como alternativa, você pode criar suas próprias políticas de IAM para ter um controle mais granular do que o disponível nas políticas AWS gerenciadas. Use os tópicos a seguir para criar suas próprias políticas do IAM.

Permitindo ações em todos os recursos

Recursos são objetos sobre os quais as ações podem atuar. Nem todo tipo de recurso pode ser especificado com cada ação. Alguns tipos de recursos funcionam apenas com determinadas ações. Para obter mais informações, consulte Ações, recursos e chaves de condição para o AWS Marketplace Catálogo na Referência de Autorização de Serviço.

Há dois tipos de recursos na API de catálogo:

  • Entidade — Uma entidade é um vendedor de um produto AWS Marketplace ou uma experiência em um mercado privado.

  • ChangeSet— Um conjunto de alterações é retornado sempre que você usa a API do Catalog para fazer alterações em uma entidade. O conjunto de alterações descreve as alterações solicitadas e seu status. Um conjunto de alterações pode ser cancelado se o status estiver no PREPARING estado.

Para permitir que um usuário ou função faça alterações em todas as entidades em um Conta da AWS, você pode adicionar a seguinte política do IAM. Com essa política, o usuário ou a função pode usar a StartChangeSet ação em todos os recursos ("*").

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:StartChangeSet" ], "Resource": "*" } ] }

Para obter informações sobre todas as ações disponíveis para a API do Catalog, consulte Ações, recursos e chaves de condição do AWS Marketplace Catalog na Referência de Autorização de Serviço.

Permitindo ações em recursos específicos

nota

Resource-level permissões e chaves de contexto de condição para a StartChangeSet ação são suportadas somente quando usadas com a API de catálogo. Eles não são suportados quando usados com Portal de gerenciamento do AWS Marketplaceo.

Em vez de permitir alterações em todos os recursos, você pode usar permissões em nível de recurso para permitir alterações em recursos específicos.

Por exemplo, você pode permitir alterações em um produto específico do vendedor em Conta da AWS vez de em todos os produtos do vendedor. Você faz isso especificando o Amazon Resource Name (ARN) do produto do vendedor na política Resource do IAM.

nota

Para especificar permissões granulares em nível de recurso com ações que criam novos conjuntos de alterações, você também precisa incluir um ChangeSet ARN na lista de recursos. O ChangeSet ARN deve incluir o curinga (/*) para corresponder a qualquer novo ID do conjunto de alterações criado conforme mostrado.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:StartChangeSet" ], "Resource": [ "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example1-abcd-1234-5ef6-7890abcdef12", "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/*" ] } ] }

Em outro exemplo, você pode permitir alterações em uma experiência específica em um mercado privado em vez de em todas as experiências. Você faz isso especificando o ARN da experiência na política Resource do IAM.

nota

Para especificar permissões granulares em nível de recurso com ações que criam novos conjuntos de alterações, você também precisa incluir um ChangeSet ARN na lista de recursos. O ChangeSet ARN deve incluir o curinga (/*) para corresponder a qualquer novo ID do conjunto de alterações criado conforme mostrado.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:StartChangeSet" ], "Resource": [ "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Experience/exp-example12345", "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/*" ] } ] }

Permitindo ações com ações específicas ChangeType chave de condição

nota

Resource-level permissões e chaves de contexto de condição para a StartChangeSet ação são suportadas somente quando usadas com a API de catálogo. Eles não são suportados quando usados com Portal de gerenciamento do AWS Marketplaceo.

A ação da API de catálogo StartChangeSet tem vários tipos de alteração diferentes. Você pode permitir o acesso somente a tipos específicos de alteração.

Por exemplo, talvez você queira permitir apenas alterações nos metadados do produto do vendedor, como o título do produto, e não permitir a adição de novas versões do produto. Neste exemplo, o tipo de alteração UpdateInformation permite alterar os metadados de um produto do vendedor, incluindo o título. Para obter mais informações sobre os diferentes tipos de alteração, consulte Como trabalhar com produtos do vendedor e Trabalhar com um mercado privado na AWS Marketplace Catalog API Referência.

Para limitar a ação a um ou vários tipos de alteração, especifique o ChangeType nas chaves de condição. No exemplo de política do IAM a seguir, o operador de condição StringEquals especifica que a ação só é permitida se as ChangeType coincidênciasUpdateInformation. Para obter mais informações sobre chaves de condição, consulte Operadores de condição no Guia do usuário do AWS Identity and Access Management.

nota

Para especificar permissões granulares em nível de recurso com ações que criam novos conjuntos de alterações, você também precisa incluir um ChangeSet ARN na lista de recursos. O ChangeSet ARN deve incluir o curinga (/*) para corresponder a qualquer novo ID do conjunto de alterações criado conforme mostrado.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:StartChangeSet" ], "Resource": [ "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example1-abcd-1234-5ef6-7890abcdef12", "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/*" ], "Condition": { "StringEquals": { "catalog:ChangeType": "UpdateInformation" } } } ] }

Permitindo ações com ações específicas leis: ResourceTag chave de condição

nota

Resource-level permissões e chaves de contexto de condição para a StartChangeSet ação são suportadas somente quando usadas com a API de catálogo. Eles não são suportados quando usados com Portal de gerenciamento do AWS Marketplaceo.

Você pode permitir ações em um grupo de entidades sem precisar continuar atualizando a política e especificando uma lista possivelmente crescente de ARNs de entidades. Você pode fazer isso com a marcação de recursos. Adicionar tags aos recursos permite que você controle o acesso a esses recursos com base em suas tags. Por exemplo, talvez você queira permitir a descrição de um grupo de produtos do vendedor sem especificar ARNs individuais para cada produto do vendedor.

Por exemplo, a política do IAM a seguir permite a DescribeEntity ação em qualquer entidade resource ("*") que tenha uma chave de tag product-team e um valor de tag deteam-xyz.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:DescribeEntity" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/product-team": "team-xyz" } } } ] }

Você também pode permitir a descrição e o cancelamento de conjuntos de alterações criados com tags específicas.

Por exemplo, a política do IAM a seguir permite as CancelChangeSet ações DescribeChangeSet e em qualquer recurso do conjunto de alterações ("*") que tenha uma chave de tag product-team e um valor de tag deteam-xyz.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:DescribeChangeSet", "aws-marketplace:CancelChangeSet" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/product-team": "team-xyz" } } } ] }

Além disso, você pode permitir o início de conjuntos de alterações em entidades somente quando essas entidades tiverem tags específicas. Por exemplo, você pode permitir alterações nos produtos do vendedor com etiquetas específicas.

Por exemplo, a política do IAM a seguir permite a StartChangeSet ação em qualquer entidade resource ("*") que tenha uma chave de tag product-team e um valor de tag deteam-xyz. Além disso, a TagResource ação é necessária para que, quando o conjunto de alterações for criado, ele seja marcado com a mesma chave e valor de tag.

nota

Se sua política para permitir a StartChangeSet ação incluir uma condição que corresponda a tags específicas, a mesma política também deverá incluir a TagResource ação. Isso ocorre porque a condição da política deve corresponder tanto à tag na entidade quanto à tag no conjunto de alterações recém-criado resultante da solicitação de alteração. Portanto, é necessário que o usuário ou a função também tenham permissão para marcar o conjunto de alterações recém-criado. Para obter um exemplo de como iniciar um conjunto de alterações e marcar o conjunto de alterações, consulteExemplo: adição de tags a uma entidade e conjunto de alterações durante a criação.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:StartChangeSet", "aws-marketplace:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/product-team": "team-xyz" } } } ] }

Criação de uma função personalizada do IAM

Os clientes que desejam usar uma autorização de revenda ChangeType ou um CPPO ChangeType precisam criar uma função personalizada AWS Identity and Access Management (IAM). Isso apoiará a criação do ciclo de vida do produto de Autorização de Revenda.

Para criar uma função do IAM personalizada
  1. Faça login no console do IAM (https://console.aws.amazon.com/iam/).

  2. Em Access management (Gerenciamento de acesso), escolha Policies (Políticas).

  3. Selecione Criar política.

  4. Para a Etapa 1: Especificar permissões,

    1. No editor de políticas, selecione o botão JSON e adicione a seguinte política:

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowResaleAuthorizationShareActionsRAMCreate", "Effect": "Allow", "Action": [ "ram:CreateResourceShare", "ram:AssociateResourceShare" ], "Resource": [ "arn:aws:ram:*:*:*" ], "Condition": { "ArnLikeIfExists": { "ram:ResourceArn": "arn:aws:aws-marketplace:*:*:AWSMarketplace/ResaleAuthorization/*" }, "StringEqualsIfExists": { "ram:RequestedResourceType": "aws-marketplace:Entity" } } }, { "Sid": "AllowResaleAuthorizationShareActionsRAMAccept", "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:GetResourceShareInvitations", "ram:GetResourcePolicies", "ram:GetResourceShareAssociations" ], "Resource": [ "arn:aws:ram:*:*:*" ] }, { "Sid": "AllowResaleAuthorizationShareActionsMarketplace", "Effect": "Allow", "Action": [ "aws-marketplace:PutResourcePolicy", "aws-marketplace:GetResourcePolicy", "aws-marketplace:DescribeEntity" ], "Resource": "arn:aws:aws-marketplace:*:*:AWSMarketplace/ResaleAuthorization/*" } ] }
    2. Escolha Próximo.

  5. Para a Etapa 2: revisar e criar,

    1. Para obter detalhes da política, insira FullResaleAuthorizationAccess em Nome da política e insira uma descrição opcional.

    2. Revise as Permissões definidas nesta política.

    3. Em Adicionar tags, adicione tags (opcional).

    4. Selecione Criar política.

      Você criou a FullResaleAuthorizationAccess política.

  6. Em Access management (Gerenciamento de acesso), escolha Roles (Funções).

  7. Selecione Criar perfil.

  8. Para a Etapa 1: Selecione uma entidade confiável,

    1. Em Trusted entity type (Tipo de entidade confiável), escolha Custom trust policy (Política de confiança personalizada).

    2. Copie e cole a seguinte política de confiança personalizada no editor JSON.

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "resale-authorization.marketplace.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    3. Escolha Próximo.

  9. Para a Etapa 2: Adicionar permissões,

    1. Insira FullResaleAuthorizationAccess na barra de pesquisa.

    2. Selecione a política de FullResaleAuthorizationAccesspermissão e, em seguida, escolha Avançar.

  10. Para a Etapa 3: nomear, revisar e criar,

  1. Para obter detalhes da função, insira FullResaleAuthorizationAccess como nome da função e insira uma descrição opcional.

  2. Em Etapa 1: Selecione entidades confiáveis, certifique-se de que o nome da política escolhido esteja anexado à função.

  3. Em Etapa 2: Adicionar permissões, revise o nome da política.

  4. Na Etapa 3: Adicionar tags, adicione tags (opcional).

  5. Selecione Criar perfil.

    Você criou a FullResaleAuthorizationAccess função.

Gerenciando tags em recursos

Você pode adicionar, listar e remover tags de entidades ou conjuntos de alterações existentes.

Adicionar tags a recursos

Para adicionar tags a uma entidade ou conjunto de alterações, use a ação TagResource da API.

Solicitação

POST /TagResource HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ResourceArn": "string", "Tags": [ { "Key": "string", "Value": "string" } ... ] }

Os parâmetros da solicitação incluem:

  • Catálogo (Cadeia de caracteres) — (Obrigatório) Deve serAWSMarketplace.

  • ResourceArn (String) — (Obrigatório) ARN do conjunto de alterações ou entidade. Um conjunto de alterações descreve as alterações que você faz com a API do Catalog. Uma entidade pode ser um vendedor de um produto AWS Marketplace ou uma experiência em um mercado privado.

  • Tags (matriz de objetos) — (Obrigatório) Uma lista de objetos especificando cada chave e valor de tag. Número de objetos permitidos: 1—50.

    • Key (String) — (Obrigatório) Nome da tag.

      • Padrão Regex — ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$

      • Tamanho de caracteres — 1—128

    • Valor (Cadeia de caracteres) — (Obrigatório) Valor da tag.

      • Padrão Regex — ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$

      • Tamanho de caracteres — 0—256

Resposta

{}

Remover tags de recursos do

Para remover uma tag ou uma lista de tags de uma entidade ou conjunto de alterações, use a ação da UntagResource API.

Solicitação

POST /UntagResource HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ResourceArn": "string", "TagKeys": [ "string" ... ] }

Os parâmetros da solicitação incluem:

  • Catálogo (Cadeia de caracteres) — (Obrigatório) Deve serAWSMarketplace.

  • ResourceArn (String) — (Obrigatório) ARN do conjunto de alterações ou entidade. Um conjunto de alterações descreve as alterações que você faz com a API do Catalog. Uma entidade pode ser um vendedor de um produto AWS Marketplace ou uma experiência em um mercado privado.

  • Tags (matriz de objetos) — (Obrigatório) Uma lista de nomes-chave das tags a serem removidas. Número de sequências de caracteres permitido: 0—256.

Resposta

{}

Listar todas as tags em um recurso

Para listar todas as tags que foram adicionadas e ainda não removidas de um conjunto de alterações ou entidade, use a ação da ListTagsForResource API.

Solicitação

POST /ListTagsForResource HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ResourceArn": "string" }

Os parâmetros da solicitação incluem:

Resposta

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

Gerenciando tags ao solicitar alterações nos recursos

Você pode adicionar tags quando entidades ou conjuntos de alterações são criados.

Exemplo: adicionar tags a um conjunto de alterações ao criar um conjunto de alterações

Veja a seguir um exemplo de uma StartChangeSet solicitação que atualiza os metadados do produto de um vendedor. Essa solicitação adiciona uma tag ao conjunto de alterações criado com essa solicitação, incluindo a tag na ChangeSetTags propriedade.

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType":"UpdateInformation", "Entity": { "Identifier":"example1-abcd-1234-5ef6-7890abcdef12", "Type":"AmiProduct@1.0" }, "Details": "{\"ProductTitle\":\"My updated title\"}" } ], "ChangeSetTags": [ { "Key": "product-team", "Value": "team-xyz" } ] }

Para obter mais informações sobre o gerenciamento de produtos do vendedor, consulte Como trabalhar com produtos do vendedor na AWS Marketplace Catalog API Referência.

Exemplo: adição de tags a uma entidade e conjunto de alterações durante a criação

Veja a seguir um exemplo de uma StartChangeSet solicitação que cria uma entidade privada de experiência de mercado. A solicitação adiciona tags ao recurso da entidade e ao recurso do conjunto de alterações criados com essa solicitação, incluindo as tags nas ChangeSetTags propriedades EntityTags e. Com essas tags, a política de permissão de um usuário ou função pode ser especificada para permitir apenas a descrição ou o cancelamento do conjunto de alterações criado por essa solicitação ou apenas para permitir a criação de outros conjuntos de alterações na entidade criada por essa solicitação. Para obter mais informações, consulte Conceder permissão para criar entidades e alterar conjuntos somente com tags.

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "CreateExperience", "Entity": { "Type": "Experience@1.0" }, "Details": "{\"Name\": \"ExamplePrivateMarketplace\"}", "EntityTags": [ { "Key": "product-team", "Value": "team-xyz" } ] } ], "ChangeSetTags": [ { "Key": "product-team", "Value": "team-xyz" } ] }

Para obter mais informações sobre como gerenciar um mercado privado, consulte Trabalhando com um mercado privado na AWS Marketplace Catalog API Referência.

Concedendo permissão para gerenciar tags em recursos

Para permitir que um usuário ou função adicione, remova e liste tags em todas as entidades ou conjuntos de alterações, eles precisam da seguinte política do IAM.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:TagResource", "aws-marketplace:UntagResource", "aws-marketplace:ListTagsForResource" ], "Resource": "*" } ] }

Conceder permissão para gerenciar tags em recursos somente quando esses recursos tiverem tags específicas

Você pode permitir que um usuário ou função adicione, remova e liste tags em entidades ou conjuntos de alterações que tenham tags específicas. A política do IAM a seguir permite essas ações em qualquer entidade resource ("*") que tenha uma chave de tag product-team e um valor de tag deteam-xyz.

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

Conceder permissão para criar entidades e alterar conjuntos somente com tags

nota

Resource-level permissões e chaves de contexto de condição para a StartChangeSet ação são suportadas somente quando usadas com a API de catálogo. Eles não são suportados quando usados com Portal de gerenciamento do AWS Marketplaceo.

Você pode impor a marcação quando entidades ou conjuntos de alterações são criados. Adicione a política a seguir para permitir as TagResource ações StartChangeSet e as, com uma condição especificando as correspondências da chave da tag product-team e as correspondências do valor da tag. team-xyz Essa condição de política deve corresponder tanto à tag na entidade recém-criada quanto à tag no conjunto de alterações recém-criado resultante da solicitação de criação. Para obter um exemplo de marcação de uma entidade na criação, consulteExemplo: adição de tags a uma entidade e conjunto de alterações durante a criação.

Para entidades existentes, essa política também impõe a marcação de conjuntos de alterações ao solicitar alterações nessas entidades. Isso também exige que a entidade existente tenha essa tag existente. Isso ocorre porque a condição da política deve corresponder tanto à tag na entidade existente quanto ao conjunto de alterações recém-criado resultante da solicitação de alteração. Para ver um exemplo de adição de tags às solicitações de alteração, consulteExemplo: adicionar tags a um conjunto de alterações ao criar um conjunto de alterações.

{ "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:StartChangeSet", "aws-marketplace:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/product-team": "team-xyz" } } } ] }