

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á.

# Gerenciar catálogos
<a name="catalogs"></a>

AWS Service Catalog fornece uma interface para gerenciar portfólios, produtos e restrições a partir de um console do administrador.

**nota**  
Para executar qualquer uma das tarefas desta seção, você deve ter permissões de administrador do AWS Service Catalog. Para obter mais informações, consulte [Identity and Access Management em AWS Service Catalog](controlling_access.md). 

**Topics**
+ [Gerenciamento de portfólios](catalogs_portfolios.md)
+ [Gerenciar produtos](catalogs_products.md)
+ [Usando AWS Service Catalog restrições](constraints.md)
+ [AWS Service Catalog Ações de serviço](using-service-actions.md)
+ [Adicionando AWS Marketplace produtos ao seu portfólio](catalogs_marketplace-products.md)
+ [Usando CloudFormation StackSets](using-stacksets.md)
+ [Gerenciar orçamentos](catalogs_budgets.md)

# Gerenciamento de portfólios
<a name="catalogs_portfolios"></a>

Você pode criar, visualizar e atualizar portfólios na página **Portfólios** no console do administrador do AWS Service Catalog .

**Topics**
+ [Criar, visualizar e excluir portfólios](#portfoliomgmt-menu)
+ [Visualizar detalhes do portfólio](#portfoliomgmt-portdetails)
+ [Criar e excluir portfólios](portfoliomgmt-create.md)
+ [Adicionar produtos](portfoliomgmt-products.md)
+ [Adição de restrições](portfoliomgmt-constraints.md)
+ [Conceder acesso aos usuários](catalogs_portfolios_users.md)
+ [Compartilhar um portfólio](catalogs_portfolios_sharing_how-to-share.md)
+ [Compartilhamento e importação de portfólios](catalogs_portfolios_sharing.md)

## Criar, visualizar e excluir portfólios
<a name="portfoliomgmt-menu"></a>

A página **Portfólios** exibe uma lista dos portfólios que você criou na região atual. Use essa página para criar novos portfólios, visualizar os detalhes de um portfólio ou excluir portfólios de sua conta. 

**Visualizar a página **Portfólios****

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Selecione outra região conforme necessário.

1. Se você for iniciante AWS Service Catalog, verá a página AWS Service Catalog inicial. Selecione **Comece a usar** para criar um portfólio. Siga as instruções para criar seu primeiro portfólio e vá para a página **Portfólios**.

Ao usar AWS Service Catalog, você pode retornar à página **Portfólios** a qualquer momento; escolha **Service Catalog** na barra de navegação e escolha **Portfólios**.

## Visualizar detalhes do portfólio
<a name="portfoliomgmt-portdetails"></a>

No console do AWS Service Catalog administrador, a página de **detalhes do portfólio** lista as configurações de um portfólio. Use esta página para gerenciar os produtos no portfólio, conceder aos usuários acesso aos produtos TagOptions e aplicar restrições.

**Para visualizar a página **Portfolio details****

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Escolha o portfólio que você deseja gerenciar.

# Criar e excluir portfólios
<a name="portfoliomgmt-create"></a>

Use a página **Portfólios** para criar e excluir portfólios. 

**Para criar um novo portfólio**

1. No menu de navegação à esquerda, escolha **Portfólios**.

1. Escolha **Criar portfólio**. 

1. Na página **Criar portfólio**, insira as informações solicitadas.

1. Escolha **Criar**. AWS Service Catalog cria o portfólio e exibe os detalhes do portfólio.

**Para excluir um portfólio**
**nota**  
Você só pode excluir portfólios *locais*. Você pode remover portfólios *importados* (compartilhados), mas não pode excluir portfólios importados. 

Antes de excluir um portfólio, você deve remover todos os seus produtos, restrições, grupos, funções, usuários, compartilhamentos e. TagOptions Para fazer isso, abra um portfólio para exibir os **Detalhes do portfólio**. Em seguida, escolha uma guia para removê-los.
**nota**  
Para evitar erros, remova as restrições do portfólio *antes* de remover qualquer produto. 

1. No menu de navegação à esquerda, escolha **Portfólios**.

1. Selecione o relatório que você deseja excluir.

1. Escolha **Excluir**. Você só pode excluir portfólios *locais*. Se você estiver tentando excluir um portfólio *importado* (compartilhado), o menu **Ações** não estará disponível. 

1. Na janela de confirmação, escolha **Excluir**.

# Adicionar produtos
<a name="portfoliomgmt-products"></a>

 Você pode adicionar produtos a um portfólio fazendo o upload de um novo produto diretamente em um portfólio existente ou associando um produto existente do seu catálogo ao portfólio. 

**nota**  
 Ao criar um AWS Service Catalog produto, você pode carregar um CloudFormation modelo ou arquivo de configuração do Terraform. O CloudFormation modelo é armazenado em um bucket do Amazon Simple Storage Service (Amazon S3) e o nome do bucket começa com ***"***cf-templates-”. Você também precisa ter permissão para recuperar objetos de buckets adicionais ao provisionar um produto. Para obter mais informações, consulte [Criar produtos](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/productmgmt-cloudresource.html#productmgmt-cloudresource-troubleshooting). 

## Adicionar um novo produto
<a name="portfoliomgmt-products-new"></a>

Você adiciona novos produtos diretamente na página **Detalhes do portfólio**. Ao criar um produto a partir dessa página, ele é AWS Service Catalog adicionado ao portfólio atualmente selecionado. 

**Para adicionar um novo produto**

1.  Vá até a página **Portfólios** e, em seguida, escolha o nome do portfólio ao qual você deseja adicionar o produto.

1. Na página **Detalhes do portfólio**, expanda a seção **Produtos** e, em seguida, escolha **Fazer upload de produto novo**. 

1. Em **Enter product details**, insira o seguinte:
   + **Nome do produto** – o nome do produto.
   + **Descrição do produto** (opcional): a descrição do produto. Essa descrição é mostrada na lista de produtos para ajudar o usuário a escolher o produto correto. 
   + **Descrição** – a descrição completa. Essa descrição é mostrada na lista de produtos para ajudar o usuário a escolher o produto correto.
   + **Proprietário ou distribuidor** – o nome ou endereço de e-mail do proprietário. As informações de contato do distribuidor são opcionais.
   + **Vendedor** (opcional): o nome do publicador do aplicativo. Esse campo permite que os usuários classifiquem sua lista de produtos para facilitar a localização dos produtos necessários.

1. Na página **Version details**, insira o seguinte:
   + **Escolha o modelo** — Para CloudFormation produtos, escolha seu próprio arquivo de modelo, um CloudFormation modelo de uma unidade local ou uma URL que aponte para um modelo armazenado no Amazon S3, um modelo existente do CloudFormation Stack ARN ou um arquivo de modelo armazenado em um repositório externo.

     Para produtos Terraform, escolha seu próprio arquivo de modelo, um arquivo de configuração tar.gz de uma unidade local ou um URL que aponta para um modelo armazenado no Amazon S3 ou um arquivo de configuração tar.gz armazenado em um repositório externo.
   + **Nome da versão** (opcional): o nome da versão do produto (por exemplo, “v1”, “v2beta”). Espaços não são permitidos. 
   + **Description** (opcional) – uma descrição da versão do produto incluindo como essa versão difere da versão anterior.

1. Em **Enter support details**, insira o seguinte:
   + **Contato por e-mail** (opcional) – o endereço de e-mail para relatório de problemas com o produto.
   + **Link de suporte** (opcional): um URL de um site onde os usuários podem localizar informações de suporte ou abrir tickets. A URL deve começar com `http://` ou `https://`. Os administradores são responsáveis por manter a precisão e o acesso às informações de suporte.
   + **Descrição do suporte** (opcional): uma descrição de como os usuários devem usar o **Contato por e-mail** e o **Link de suporte**.

1. Escolha **Criar produto**.

## Adicionar um produto existente
<a name="portfoliomgmt-products-existing"></a>

Você pode adicionar produtos existentes a um portfólio em três locais: a lista **Portfólios**, a página **Detalhes do portfólio**, ou a página **Lista de produtos**.

**Para adicionar um produto existente a um portfólio**

1. Navegue até a página **Portfólios**. 

1. Escolha um portfólio. Em seguida, escolha **Ações** - **Adicionar produto ao portfólio**. 

1.  Escolha um produto e, em seguida, escolha **Adicionar produto ao portfólio**. 

## Remover um produto de um portfólio
<a name="portfoliomgmt-products-remove"></a>

Quando você não quiser mais que os usuários usem um produto, remova-o do portfólio. O produto ainda estará disponível em seu catálogo na página **Produtos** e você ainda poderá adicioná-lo a outros portfólios. Você pode remover vários produtos de um portfólio de uma vez.

**Para remover um produto de um portfólio**

1. Navegue até a página **Portfólios** e escolha o portfólio que contém o produto. A página **Detalhes do portfólio** é aberta. 

1. Expanda a seção **Produtos**. 

1. Escolha um ou mais produtos e, em seguida, **Remover**. 

1. Confirme sua escolha.

# Adição de restrições
<a name="portfoliomgmt-constraints"></a>

Você deve adicionar restrições para controlar como os usuários interagem com os produtos. Para obter mais informações sobre os tipos de restrições que oferecem AWS Service Catalog suporte, consulte. [Usando AWS Service Catalog restrições](constraints.md) 

 Você adiciona restrições aos produtos depois que eles são colocados em um portfólio.

**Para adicionar uma restrição a um produto**

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Escolha **Portfólios** e selecione um portfólio. 

1. Na página de detalhes do portfólio, expanda a seção **Criar restrição** e selecione **Adicionar restrições**. 

1. Para **Produto**, selecione o produto ao qual aplicar a restrição.

1. Em **Tipo de restrição**, escolha uma das seguintes opções:

   **Lançamento** — Permite atribuir uma função do IAM ao produto usado para provisionar os AWS recursos. Para obter mais informações, consulte [AWS Service Catalog Restrições de lançamento](constraints-launch.md).

   **Notificação** - permite transmitir notificações de produtos a um tópico do Amazon SNS. Para obter mais informações, consulte [AWS Service Catalog Restrições de notificação](constraints-notification.md).

   **Modelo** - permite limitar as opções disponíveis para os usuários finais quando lançam um produto. Um modelo consiste de um arquivo de texto formatado em JSON que contém uma ou mais regras. As regras são adicionadas ao CloudFormation modelo usado pelo produto. Para obter mais informações, consulte [Regras de restrições de modelo](reference-template_constraint_rules.md).

    **Conjunto de pilhas** — permite que você configure a implantação do produto em contas e regiões usando CloudFormation StackSets. Para obter mais informações, consulte [AWS Service Catalog Restrições do conjunto de pilhas](constraints-stackset.md).

   **Atualização de tags** – permite que você atualize tags depois que o produto tiver sido provisionado. Para ver mais informações, consulte [Restrições de atualização de Tag do AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/constraints-resourceupdate.html).

1.  Escolha **Continuar** e insira as informações necessárias.

**Para editar uma restrição**

1. Faça login no Console de gerenciamento da AWS e abra o console AWS Service Catalog do administrador em [https://console.aws.amazon.com/catalog/](https://console.aws.amazon.com/catalog/).

1. Escolha **Portfólios** e selecione um portfólio. 

1. Na página **Detalhes do portfólio**, expanda a seção **Criar restrição** e selecione a restrição para editar.

1. Escolha **Editar restrições**.

1. Edite a restrição conforme o necessário e escolha **Salvar**.

# Conceder acesso aos usuários
<a name="catalogs_portfolios_users"></a>

Dê aos usuários acesso aos portfólios por meio de grupos ou funções. A melhor maneira de fornecer acesso ao portfólio para muitos usuários é colocar os usuários em um grupo do IAM e conceder acesso a esse grupo. Dessa forma, você pode simplesmente adicionar e remover usuários do grupo para gerenciar o acesso ao portfólio. Para obter mais informações, consulte [Usuários e grupos do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_WorkingWithGroupsAndUsers.html) no *Guia do usuário do IAM*.

Além do acesso a um portfólio, os usuários também devem ter acesso ao console do usuário AWS Service Catalog final. Você concede acesso ao console aplicando permissões no IAM. Para obter mais informações, consulte [Identity and Access Management em AWS Service Catalog](controlling_access.md).

Se quiser compartilhar um portfólio e suas entidades principais com outras contas, você pode associar nomes de entidades principais (grupos, funções ou usuários) ao Portfólio. Os nomes das entidades principais são compartilhados com o Portfólio e usados nas contas dos destinatários para conceder acesso aos usuários finais.

**Para conceder acesso ao portfólio a usuários ou grupos**

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1.  No painel de navegação, escolha **Administração** e, em seguida, escolha **Portfólios**. 

1.  Escolha um portfólio ao qual você deseja conceder acesso a grupos, funções ou usuários. AWS Service Catalog direciona para a página de **detalhes do portfólio**. 

1.  Na página **Detalhes do portfólio**, escolha a guia **Acesso**. 

1.  Em **Acesso ao portfólio**, escolha **Conceder acesso**. 

1.  Em **Tipo**, escolha **Nome da entidade principal** e, em seguida, selecione o Tipo de **grupo/**, **perfil/**, ou **usuário/**. É possível adicionar até 9 nomes de entidades principais. 

1.  Escolha **Conceder acesso** para associar a entidade principal ao portfólio atual. 

**Para remover o acesso a um portfólio**

1. Na página **Detalhes do portfólio**, escolha um grupo, perfil ou nome de usuário.

1. Em seguida, escolha **Remover acesso**.

# Compartilhar um portfólio
<a name="catalogs_portfolios_sharing_how-to-share"></a>

Para permitir que um AWS Service Catalog administrador de outra AWS conta distribua seus produtos aos usuários finais, compartilhe seu AWS Service Catalog portfólio com eles usando account-to-account compartilhamento ou AWS Organizations.

 Quando você compartilha um portfólio usando account-to-account compartilhamento ou Organizations, você está compartilhando uma *referência* desse portfólio. Os produtos e as restrições no portfólio importado permanecem sincronizados com as alterações que você faz no *portfólio compartilhado*, o portfólio original que você compartilhou. 

O destinatário não pode alterar os produtos ou as restrições, mas pode adicionar o acesso ao AWS Identity and Access Management para usuários finais. 

**nota**  
 Não é possível compartilhar um recurso compartilhado. Isso inclui portfólios que contêm um produto compartilhado. 

## Account-to-account compartilhando
<a name="portfolio-sharing-account"></a>

Para concluir essas etapas, você deve obter o ID da AWS conta de destino. Você pode encontrar o ID na página **Minha conta** na conta Console de gerenciamento da AWS de destino.

**Para compartilhar um portfólio com uma AWS conta**

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. No menu de navegação à esquerda, selecione **Portfólios** e o portfólio que você deseja compartilhar. No menu **Ações**, selecione **Compartilhar**.

1. Em **Inserir ID** da conta, insira o ID da AWS conta com a qual você está compartilhando. (Opcional) Selecione [TagOption Compartilhamento](#tagoptions-share). Em seguida, escolha **Compartilhar**. 

1. Envie o URL para o AWS Service Catalog administrador da conta de destino. O URL abre a página **Importar Portfólio** com o ARN do portfólio compartilhado fornecido automaticamente.

### Importação de um portfólio
<a name="catalogs_portfolios_sharing_importing"></a>

Se um AWS Service Catalog administrador de outra AWS conta compartilhar um portfólio com você, importe esse portfólio para sua conta para que você possa distribuir seus produtos aos usuários finais.

Você não precisa importar um portfólio se o portfólio foi compartilhado por meio de AWS Organizations.

Para importar o portfólio, você deve ter um URL para importar o portfólio do administrador.

Para ver todos os portfólios importados, abra o AWS Service Catalog console em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/). Na página **Portfólios**, selecione a guia **Importado**. Revise a tabela **Portfólios importados**. 

## Compartilhando com AWS Organizations
<a name="portfolio-sharing-organizations"></a>

Você pode compartilhar AWS Service Catalog portfólios usando o. AWS Organizations

 Primeiro, você deve decidir se está compartilhando a partir da conta de gerenciamento ou de uma conta de administração delegada. Se você não quiser compartilhar a partir de sua conta de gerenciamento, registre uma conta de administração delegada e use-a para compartilhar. Para obter mais informações, consulte [Registrar um administrador delegado](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html), no *Guia do desenvolvedor do CloudFormation *. 

 Depois, você deve decidir com quem compartilhar. Você pode compartilhar com as seguintes entidades: 
+ Uma conta da organização.
+ Uma unidade organizacional (OU).
+ A própria organização. (Essa ação compartilha com todas as contas da organização.)

### Como compartilhar de uma conta de gerenciamento
<a name="sharing-from-master"></a>

Você pode compartilhar um portfólio com uma organização ao usar sua estrutura organizacional ou inserir a ID de um nó organizacional.

****Para compartilhar um portfólio com uma organização usando a estrutura organizacional****

1. Abra o AWS Service Catalog console em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Na página **Portfólios**, selecione o portfólio que você deseja compartilhar. No menu **Ações**, selecione **Compartilhar**.

1. Selecione **AWS Organizations** e filtre em sua estrutura organizacional. 

   Você pode selecionar o nó raiz para compartilhar o portfólio com toda a sua organização, uma Unidade Organizacional (OU) principal, uma UO secundária ou uma AWS conta dentro da sua organização. 

   O compartilhamento com uma UO principal compartilha o portfólio com todas as contas e UOs secundárias dentro dessa UO principal. 

   Você pode selecionar **Exibir AWS contas somente** para ver uma lista de todas as AWS contas em sua organização.

****Para compartilhar um portfólio com uma organização inserindo a ID do nó organizacional****

1. Abra o AWS Service Catalog console em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Na página **Portfólios**, selecione o portfólio que você deseja compartilhar. No menu **Ações**, selecione **Compartilhar**. 

1. Selecione **Nó da organização**. 

   Selecione se você deseja compartilhar com toda a sua organização, uma conta da AWS dentro da sua organização ou uma UO. 

   Insira a ID do nó organizacional que você selecionou, que pode ser encontrada no AWS Organizations console em [ https://console.aws.amazon.com/organizations/](https://console.aws.amazon.com/organizations/).

### Compartilhar de uma conta de administrador delegado
<a name="delegated-admin"></a>

 A conta mestra de uma organização pode registrar e cancelar o registro de outras contas como administradores delegados da organização. 

Um administrador delegado pode compartilhar AWS Service Catalog recursos em sua organização da mesma forma que uma conta de gerenciamento. Ele tem autorização para criar, excluir e compartilhar portfólios. 

Para registrar ou cancelar o registro de um administrador delegado, você deve usar a API ou a CLI do gerenciamento de contas. Para obter mais informações, consulte [RegisterDelegatedAdministrator](https://docs.aws.amazon.com/organizations/latest/APIReference/API_RegisterDelegatedAdministrator.html) e [DeregisterDelegatedAdministrator](https://docs.aws.amazon.com/organizations/latest/APIReference/API_DeregisterDelegatedAdministrator.html) na *Referência da API do AWS Organizations *. 

**nota**  
Antes que você possa designar um representante, o administrador deve chamar [https://docs.aws.amazon.com/servicecatalog/latest/dg/API_EnableAWSOrganizationsAccess.html](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_EnableAWSOrganizationsAccess.html).

O procedimento para compartilhar um portfólio de uma conta de administrador delegado é o mesmo que compartilhar de uma conta, conforme visto acima em [Como compartilhar de uma conta de gerenciamento](#sharing-from-master).

 Se um membro tiver o registro cancelado como administrador delegado, ocorrerá o seguinte: 
+ Os compartilhamentos de portfólio que foram criados por meio dessa conta serão removidos.
+ Ele não poderá mais criar compartilhamentos de portfólio.

**nota**  
 Se o portfólio e os compartilhamentos criados por um administrador delegado não forem removidos após o administrador delegado ter o registro cancelado, registre e cancele o registro do administrador delegado novamente. Essa ação removerá o portfólio e os compartilhamentos criados por essa conta. 

### Mover contas dentro da sua organização
<a name="move-account"></a>

Se você mover uma conta dentro da sua organização, os AWS Service Catalog portfólios compartilhados com a conta poderão mudar. 

As contas só têm acesso aos portfólios compartilhados com a organização ou unidade organizacional de destino. 

## Compartilhamento TagOptions ao compartilhar portfólios
<a name="tagoptions-share"></a>

Como administrador, você pode criar um compartilhamento para incluir TagOptions. TagOptions são pares de valores-chave que permitem aos administradores:
+ Definir e aplicar a taxonomia das tags.
+ Definir as opções de tags e associá-las a produtos e portfólios.
+ Compartilhar opções de tags associadas a portfólios e produtos com outras contas.

Quando você adiciona ou remove opções de tag na conta principal, a alteração aparece automaticamente nas contas dos destinatários. Nas contas de destinatários, quando um usuário final provisiona um produto com TagOptions, ele deve escolher valores para tags que se tornam tags no produto provisionado. 

Nas contas de destinatários, os administradores podem associar locais adicionais TagOptions ao portfólio importado para impor regras de marcação específicas para essa conta.

**nota**  
Para compartilhar um portfólio, você precisa do ID da AWS conta do consumidor. Encontre o ID da AWS conta em **Minha conta** no console.

**nota**  
Se a TagOption tiver um único valor, AWS aplicará automaticamente esse valor durante o processo de provisionamento.

**Para compartilhar TagOptions ao compartilhar portfólios**

1. No menu de navegação à esquerda, escolha **Portfólios**.

1. Em **Portfólios locais**, escolha e abra um portfólio.

1. Escolha **Compartilhar** na lista acima e, em seguida, escolha o botão **Compartilhar**.

1. Escolha compartilhar com outra AWS conta ou organização.

1. Insira o número de identificação da conta de 12 dígitos, selecione **Habilitar** e escolha **Compartilhar**.

   A conta que você compartilhou é exibida na seção **Contas compartilhadas com**. Indica se TagOptions estamos habilitados.

Você também pode atualizar um compartilhamento de portfólio para incluí-lo TagOptions. Todos os TagOptions que pertencem ao portfólio e ao produto agora são compartilhados nessa conta.

**Para atualizar um compartilhamento de portfólio para incluir TagOptions**

1. No menu de navegação à esquerda, escolha **Portfólios**.

1. Em **Portfólio local**, escolha e abra um portfólio.

1. Escolha **Compartilhar** na lista acima.

1. Em **Contas compartilhadas com**, escolha uma ID de conta e, em seguida, escolha **Ações**.

1. Selecione **Atualizar cancelar compartilhamento** ou **Cancelar compartilhamento**.

   Ao selecionar **Atualizar e cancelar compartilhamento**, escolha **Habilitar** para iniciar o compartilhamento. TagOptions A conta que você compartilhou é exibida na seção **Contas compartilhadas com**.

   Ao selecionar **Cancelar compartilhamento**, confirme que não deseja mais compartilhar a conta.

## Compartilhar Nomes de Entidades principais ao compartilhar portfólios
<a name="principal-name-share"></a>

Como administrador, você pode criar um compartilhamento de portfólio que inclua Nomes de Entidades principais. Os Nomes de Entidades principais são nomes de grupos, perfis e usuários que os administradores podem especificar em um portfólio e depois compartilhar com o portfólio. Quando você compartilha o portfólio, AWS Service Catalog verifica se esses nomes principais já existem. Se existirem, associa AWS Service Catalog automaticamente os principais do IAM correspondentes ao portfólio compartilhado para conceder acesso aos usuários.

**nota**  
Quando você associa uma entidade principal a um portfólio, um possível caminho de escalação de privilégios pode ocorrer quando então esse portfólio é compartilhado com outras contas. Para um usuário em uma conta de destinatário que *não* é AWS Service Catalog administrador, mas ainda tem a capacidade de criar diretores (usuários/funções), esse usuário pode criar um diretor do IAM que corresponda a uma associação de nome principal para o portfólio. Embora esse usuário possa não saber por quais nomes principais estão associados AWS Service Catalog, ele pode ser capaz de adivinhar o usuário. Se esse possível caminho de escalonamento for uma preocupação, então AWS Service Catalog recomenda usar `PrincipalType` as`IAM`. Com essa configuração, o `PrincipalARN` já deve existir na conta do destinatário para que possa ser associado.

Quando você adiciona ou remove nomes principais na conta principal, essas alterações AWS Service Catalog são aplicadas automaticamente na conta do destinatário. Os usuários na conta do destinatário podem então realizar tarefas com base em seu perfil:
+ Os **usuários finais** podem provisionar, atualizar e encerrar o produto do portfólio. 
+ Os **administradores** podem associar outras Entidades principais do IAM ao portfólio importado para conceder acesso a usuários finais específicos dessa conta. 

**nota**  
O compartilhamento de nomes principais está disponível apenas para AWS Organizations.

**Compartilhar Nomes de Entidades principais ao compartilhar portfólios**

1. No menu de navegação à esquerda, escolha **Portfólios**. 

1. Em **Portfólios locais**, escolha o portfólio que você deseja compartilhar.

1. No menu **Ações**, escolha **Compartilhar**.

1. Selecione uma organização em AWS Organizations.

1. Selecione a **raiz da organização** inteira, uma **unidade organizacional (UO)** ou um **membro da organização**.

1. Nas configurações de **compartilhamento**, ative a opção **Compartilhamento de Entidade principal**.

Você também pode atualizar um compartilhamento de portfólio para incluir o compartilhamento do Nome da Entidade principal. Isso compartilha todos os Nomes de Entidades principais que pertencem a esse portfólio com a conta do destinatário. 

**Para atualizar um compartilhamento de portfólio para ativar ou desativar os Nomes de Entidades principais**

1. No menu de navegação à esquerda, escolha **Portfólios**. 

1. Em **Portfólio local**, escolha o portfólio que você deseja atualizar. 

1. Escolha a guia **Compartilhar**. 

1. Selecione o compartilhamento que você deseja atualizar e escolha **Compartilhar**. 

1. Escolha **Atualizar compartilhamento** e, em seguida, escolha **Habilitar** para iniciar o compartilhamento principal. AWS Service Catalog em seguida, compartilha os nomes principais nas contas dos destinatários. 

**Desabilite** o compartilhamento de entidades principais se quiser parar de compartilhar os Nomes da Entidades principais com contas de destinatários.

### Usar curingas ao compartilhar Nomes de Entidades principais
<a name="wildcards-principal-names"></a>

AWS Service Catalog suporta a concessão de acesso ao portfólio aos nomes principais do IAM (usuário, grupo ou função) com curingas, como '\$1' ou '?'. Usar padrões curinga permite que você cubra vários Nomes de Entidades principais do IAM ao mesmo tempo. O caminho do ARN e o nome da entidade principal permitem caracteres curinga ilimitados. 

Exemplos de um ARN curinga **aceitável**:
+ **arn:aws:iam:::role/ResourceName\$1\$1**
+ **arn:aws:iam:::role/\$1/ResourceName\$1?**

Exemplos de um ARN curinga **inaceitável**:
+ **arn:aws:iam:::\$1/ResourceName**

No formato ARN da entidade principal do IAM (**arn:partition:iam:::resource-type/resource-path/resource-name**), os valores válidos incluem **usuário/**, **grupo/** ou **perfil/**. O “?” e “\$1” são permitidos somente após o tipo de recurso no segmento resource-id. Você pode usar caracteres especiais em qualquer lugar dentro do resource-id.

O caractere “\$1” também corresponde ao caractere “/”, permitindo que caminhos sejam formados *dentro* do resource-id. Por exemplo:

**arn:aws:iam:::role/**\$1**/ResourceName\$1?** corresponde a ambos **arn:aws:iam:::role/pathA/pathB/ResourceName\$11** e **arn:aws:iam:::role/pathA/ResourceName\$11**. 

# Compartilhamento e importação de portfólios
<a name="catalogs_portfolios_sharing"></a>

Para disponibilizar seus AWS Service Catalog produtos para usuários que não estão na sua Contas da AWS, como usuários que pertencem a outras organizações ou a outros Contas da AWS membros da sua organização, você compartilha seus portfólios com eles. Você pode compartilhar de várias maneiras, incluindo account-to-account compartilhamento, compartilhamento organizacional e implantação de catálogos usando conjuntos de pilhas.

 Antes de compartilhar seus produtos e portfólios com outras contas, você deve decidir se deseja compartilhar uma referência do catálogo ou implantar uma cópia do catálogo em cada conta de destinatário. Observe que, se você implantar uma cópia, deverá reimplantar se houver atualizações que deseja propagar para as contas de destinatário. 

Você pode usar conjuntos de pilhas para implantar seu catálogo em várias contas ao mesmo tempo. Se você quiser compartilhar uma referência (uma versão importada do seu portfólio que permanece sincronizada com o original), você pode usar o account-to-account compartilhamento ou compartilhar usando AWS Organizations. 

Para usar conjuntos de pilhas para implantar uma cópia do seu catálogo, consulte [Como configurar um catálogo multirregional e com várias contas de produtos padrão da empresa](https://aws.amazon.com/blogs/mt/how-to-set-up-a-multi-region-multi-account-catalog-of-company-standard-aws-service-catalog-products/). AWS Service Catalog 

Ao compartilhar um portfólio usando o account-to-account compartilhamento ou AWS Organizations, você permite que um AWS Service Catalog administrador de outra AWS conta importe seu portfólio para a conta e distribua os produtos aos usuários finais dessa conta. 

Esse *portfólio importado* não é uma cópia independente. Os produtos e as restrições no portfólio importado permanecem sincronizados com as alterações que você faz no *portfólio compartilhado*, o portfólio original que você compartilhou. O *administrador do destinatário*, o administrador com quem você compartilha um portfólio, não pode alterar os produtos ou as restrições, mas pode adicionar acesso AWS Identity and Access Management (IAM) para usuários finais. Para obter mais informações, consulte [Conceder acesso aos usuários](catalogs_portfolios_users.md).

O administrador do destinatário pode distribuir os produtos aos usuários finais que pertencem à sua AWS conta das seguintes formas:
+ Ao adicionar usuários, grupos e perfis ao portfólio importado.
+ Ao adicionar produtos do portfólio importado a um **portfólio local**, um portfólio separado que o administrador do destinatário cria e que pertence à sua AWS conta. O administrador destinatário então adiciona usuários, grupos e perfis ao portfólio local. Qualquer restrição originalmente aplicadas aos produtos no portfólio compartilhado também estão presentes no portfólio local. O administrador destinatário pode adicionar outras restrições ao portfólio local, mas não pode remover as restrições importadas do portfólio compartilhado.

Quando você adiciona produtos ou restrições ao portfólio compartilhado ou remove produtos ou restrições dele, a alteração se propaga para todas as instâncias do portfólio importado. Por exemplo, se você remover um produto do portfólio compartilhado, ele também será removido do portfólio importado. Ele também será removido de todos portfólios locais aos quais o produto foi adicionado. Se um usuário final tiver lançado um produto antes de você removê-lo, o produto provisionado por ele continuará executando, mas ficará indisponível para futuros lançamentos.

Se você aplicar uma restrição de lançamento a um produto em um portfólio compartilhado, ela será propagada para todas as instâncias importadas do produto. Para substituir esta restrição de lançamento, o administrador destinatário adiciona o produto a um portfólio local e, em seguida, aplica uma restrição de lançamento diferente. A restrição de lançamento em vigor define uma função de lançamento para o produto. 

Uma *função de lançamento* é uma função do IAM AWS Service Catalog usada para provisionar AWS recursos (como EC2 instâncias da Amazon ou bancos de dados do Amazon RDS) quando um usuário final lança o produto. Como administrador, é possível optar por designar um ARN de perfil de lançamento específico ou um nome de perfil local. Se você usar o perfil da ARN, o perfil será usado mesmo que o usuário final pertença a uma conta da AWS diferente da que tem o perfil de execução. Se você usar um nome de perfil local, o perfil do IAM com esse nome na conta do usuário final será usada.

Para obter mais informações sobre restrições e funções de lançamento, consulte [AWS Service Catalog Restrições de lançamento](constraints-launch.md). A AWS conta que possui a função de lançamento provisiona AWS os recursos, e essa conta incorre nas cobranças de uso desses recursos. Para obter mais informações, consulte [AWS Service Catalog Preço](https://aws.amazon.com/servicecatalog/pricing/).

Este vídeo mostra como compartilhar portfólios entre contas em AWS Service Catalog.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/BVSohYOppjk/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/BVSohYOppjk)


**nota**  
Você não pode compartilhar novamente os produtos de um portfólio que tenha sido importado ou compartilhado. 

**nota**  
As importações de portfólio devem ocorrer na mesma região entre as contas gerenciais e dependentes. 

## Relação entre portfólios importados e compartilhados
<a name="shared-imported-portfolios-relationship"></a>

Essa tabela resume a relação entre um portfólio importado e um portfólio compartilhado, além das ações que um administrador que importa um portfólio pode e não pode realizar no portfólio e nos produtos que ele contém.


| Elemento do portfólio compartilhado | Relação de portfólio importado | O administrador destinatário pode | O administrador destinatário não pode | 
| --- | --- | --- | --- | 
| Produtos e suas versões |  Herdado. Se o criador do portfólio adicionar ou remover produtos no portfólio compartilhado, a alteração será propagada para o portfólio importado.  |  Adicionar produtos importados a portfólios locais. Os produtos permanecem sincronizados com o portfólio compartilhado.  |  Carregar ou adicionar produtos ao portfólio importado ou remover produtos do portfólio importado.  | 
| Restrições de lançamento |  Herdado. Se o criador do portfólio adicionar ou remover restrições de lançamento em um *produto compartilhado*, a alteração será propagada para todas as instâncias importadas do produto. Se o administrador destinatário adicionar um produto importado a um portfólio *local*, a restrição de lançamento importada aplicada a esse produto estará presente no portfólio compartilhado.  | Em um portfólio local, o administrador pode aplicar restrições de lançamento que afetam o lançamento local do produto. |  Adicionar ou remover restrições de lançamento no portfólio importado.  | 
| Restrições de modelo |  Herdado. Se o criador do portfólio adicionar ou remover restrições de modelo em um produto compartilhado, a alteração será propagada para todas as instâncias importadas do produto. Se o administrador destinatário adicionar um produto importado a um portfólio local, a restrição de modelo importada não será herdada pelo portfólio local.  |  Em um portfólio local, o administrador pode adicionar restrições de modelo que restringem o produto local.  |  Remover as restrições de modelo importadas.  | 
| Usuários, grupos e funções | Não herdado. | Adicionar usuários, grupos e perfis que estejam na conta de administrador da AWS . | Não aplicável. | 

# Gerenciar produtos
<a name="catalogs_products"></a>

Você pode criar e atualizar produtos criando uma nova versão com base em um modelo atualizado e agrupar produtos em portfólios para distribuí-los aos usuários.

As novas versões de produtos são propagadas para todos os usuários que tenham acesso ao produto por meio de um portfólio. Quando você distribui uma atualização, os usuários finais podem atualizar produtos provisionados existentes.

**Topics**
+ [Visualizar a página de produtos](#productmgmt-menu)
+ [Criar produtos](productmgmt-cloudresource.md)
+ [Adicionar produtos a portfólios](catalogs_portfolios_adding-products.md)
+ [Atualizar produtos](productmgmt-update.md)
+ [Sincronização de produtos com arquivos de modelo do GitHub, GitHub Enterprise ou Bitbucket](git-synced-sc-products.md)
+ [Excluir produtos](productmgmt-delete.md)
+ [Gerenciar versões](managing-versions.md)

## Visualizar a página de produtos
<a name="productmgmt-menu"></a>

Você gerencia **produtos na página Lista de produtos** no console AWS Service Catalog do administrador.

**Visualizar a página **Lista de produtos****

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Escolha **Lista de produtos**.

# Criar produtos
<a name="productmgmt-cloudresource"></a>

 Você cria produtos na página **Produtos** no console do AWS Service Catalog administrador. 

**nota**  
A criação de produtos Terraform exige configuração adicional, incluindo um mecanismo de provisionamento do Terraform e um perfil de lançamento. Para obter mais informações, consulte [Conceitos básicos de um produto Terraform](getstarted-Terraform.md). 

**Para criar um novo AWS Service Catalog produto**

1. Navegue até a página **Lista de produtos**. 

1. Escolha **Criar produto** e, em seguida, escolha **Criar produto**.

1. **Detalhes do produto** — Permite que você escolha o tipo de produto que deseja criar. AWS Service Catalog suporta os CloudFormation tipos de produtos Terraform Cloud e External (compatível com Terraform Community Edition). Os detalhes do produto também contêm os metadados que aparecem quando você pesquisa e visualiza produtos em uma lista ou página de detalhes. Insira o seguinte:
   + **Nome do produto** – o nome do produto.
   +  **Descrição do produto** - a descrição aparece na lista de produtos para ajudar você a escolher o produto correto.
   + **Proprietário** - a pessoa ou organização que publica este produto. O proprietário pode ser o nome da sua organização de TI ou administrador.
   + **Distribuidor** (opcional) - o nome do publicador do aplicativo. Esse campo permite que os usuários classifiquem sua lista de produtos para facilitar a localização dos produtos necessários.

1. **Os detalhes da versão** permitem que você adicione seu arquivo de modelo e crie seu produto. Insira o seguinte:
   +  **Escolha o método** - há quatro maneiras de adicionar um arquivo de modelo. 
     + **Use um arquivo de modelo local** - Carregue um CloudFormation modelo ou um arquivo de configuração tar.gz do Terraform a partir de uma unidade local. 
     + **Use um URL do Amazon S3** - especifique um URL que aponte para um modelo CloudFormation ou arquivo de configuração tar.gz do Terraform armazenado no Amazon S3. Se você especificar uma URL do Amazon S3, ele deverá começar com `https://`.
     + **Use um repositório externo**: especifique seu repositório de código GitHub, GitHub Enterprise ou Bitbucket. AWS Service Catalog permite sincronizar produtos com arquivos de modelo. Para produtos Terraform, é necessário que o formato do arquivo de modelo seja um único arquivo arquivado em Tar e compactado em Gzip.
     + **Use uma CloudFormation pilha existente** - insira o ARN de uma CloudFormation pilha existente. Este método não oferece suporte a produtos Terraform Cloud ou externos. 
   +  **Nome da versão** (opcional): o nome da versão do produto (por exemplo, “v1”, “v2beta”). Espaços não são permitidos.
   +  **Descrição** (opcional): uma descrição da versão do produto, incluindo como essa versão difere da versão anterior.
   +  **Orientação** - Gerenciado na guia Versões em uma página **Detalhes do produto**. Quando uma versão do produto é criada, durante o fluxo de trabalho de criação do produto, a orientação para essa versão é definida como padrão. Para saber mais sobre orientação, consulte [Gerenciamento de versões](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/managing-versions.html).

1. **Detalhes do suporte** identificam a organização dentro da sua empresa e fornecem um ponto de contato para suporte. Insira o seguinte:
   + **Contato por e-mail** (opcional) – o endereço de e-mail para relatório de problemas com o produto.
   + **Link de suporte** (opcional): um URL de um site onde os usuários podem localizar informações de suporte ou abrir tickets. A URL deve começar com `http://` ou `https://`. Os administradores são responsáveis por manter a precisão e o acesso às informações de suporte.
   + **Descrição do suporte** (opcional): uma descrição de como os usuários devem usar o **Contato por e-mail** e o **Link de suporte**.

1.  **Gerenciar tags** (opcional): além de usar tags para categorizar seus recursos, você também pode usá-las para autenticar suas permissões para criar esse recurso. 

1. **Criar produto** - depois de preencher o formulário, selecione **Criar produto**. Após alguns segundos, o produto será exibido na página **Lista de produtos**. Talvez seja necessário atualizar o navegador para ver o produto.

Você também pode usar CodePipeline para criar e configurar um pipeline para implantar seu modelo de produto AWS Service Catalog e entregar as alterações que você fez no seu repositório de origem. Para obter mais informações, consulte [Tutorial: Criar um pipeline que é implantado em AWS Service Catalog](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-S3-servicecatalog.html). 

Você pode definir propriedades de parâmetros em seu modelo CloudFormation ou no modelo do Terraform e aplicar essas regras durante o provisionamento. Essas propriedades podem definir o comprimento mínimo e máximo, os valores mínimo e máximo, os valores permitidos e uma expressão regular para o valor. AWS Service Catalog emite um aviso durante o provisionamento se o valor fornecido não estiver de acordo com a propriedade do parâmetro. Para saber mais sobre as propriedades dos parâmetros, consulte [Parâmetros](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) no *Guia do Usuário CloudFormation *.

## Solução de problemas
<a name="productmgmt-cloudresource-troubleshooting"></a>

 É necessário ter permissão para recuperar objetos dos buckets do Amazon S3. Caso contrário, você poderá encontrar a seguinte mensagem de erro ao iniciar ou atualizar um produto. 

```
Error: failed to process product version s3 access denied exception
```

 Se você encontrar essa mensagem, certifique-se de ter permissão para recuperar objetos dos seguintes buckets: 
+  O bucket em que o modelo do artefato de provisionamento é armazenado. 
+  O bucket que começa com "***cf-templates-\$1***" e onde AWS Service Catalog armazena o modelo do artefato de provisionamento. 
+  O bucket interno que começa com "***sc-\$1***" e onde AWS Service Catalog armazena os metadados. Não será possível ver esse bucket na sua conta. 

 O exemplo de política a seguir mostra as permissões mínimas necessárias para recuperar objetos dos buckets mencionados anteriormente. 

```
{
          "Sid": "VisualEditor1",
          "Effect": "Allow",
          "Action": "s3:GetObject*",
          "Resource": [
              "arn:aws:s3:::YOUR_TEMPLATE_BUCKET",
              "arn:aws:s3:::YOUR_TEMPLATE_BUCKET/*",
              "arn:aws:s3:::cf-templates-*",
              "arn:aws:s3:::cf-templates-*/*",
              "arn:aws:s3:::sc-*",
              "arn:aws:s3:::sc-*/*"
          ]
      }
```

# Adicionar produtos a portfólios
<a name="catalogs_portfolios_adding-products"></a>

 Você pode adicionar produtos em qualquer número de portfólios. Quando um produto é atualizado, todos os portfólios que contêm o produto recebem automaticamente a nova versão, incluindo portfólios compartilhados. 

**Para adicionar um produto de seu catálogo a um portfólio**

1.  Navegue até a página **Lista de produtos**. 

1.  Selecione um produto e, em seguida, escolha **Ações**. No menu suspenso, escolha **Adicionar produto ao portfólio**. Você será direcionado para a página **Adicionar *name-of-product* ao portfólio**. 

1.  Escolha um portfólio e, em seguida, escolha **Adicionar produto ao portfólio**. 

Ao adicionar um produto Terraform a um portfólio, o produto requer uma restrição de lançamento. Você deve selecionar um perfil do IAM na sua conta, inserir um ARN do perfil do IAM ou inserir um nome de perfil. Se você especificar o nome do perfil, quando uma conta usar a restrição de lançamento, o perfil do IAM com esse nome na conta será usado. Isso permite que as restrições de perfil de lançamento sejam independentes da conta para que seja possível criar menos recursos por conta compartilhada. Para obter detalhes e instruções, consulte [Etapa 6: Adicionar uma restrição de lançamento ao seu produto Terraform](getstarted-launchconstraint-Terraform.md) 

 Um portfólio pode conter vários produtos que são uma mistura de tipos CloudFormation de produtos Terraform. 

# Atualizar produtos
<a name="productmgmt-update"></a>

 Quando você precisa atualizar o modelo de um produto, você cria uma nova versão do produto. Novas versões do produto são disponibilizadas automaticamente para todos os usuários que têm acesso a um portfólio que contém o produto. 

**nota**  
Ao atualizar um produto existente, você não pode alterar o tipo de produto (CloudFormation ou o Teraform). Por exemplo, se você atualizar um CloudFormation produto, não poderá substituir o CloudFormation modelo existente por um arquivo de configuração tar.gz do Terraform. Você deve atualizar o arquivo CloudFormation de modelo existente com um novo arquivo CloudFormation de modelo.

 Os usuários finais que estiverem executando um produto provisionado da versão anterior do produto no momento podem atualizar seu produto provisionado para a nova versão. Quando uma nova versão de um produto está disponível, os usuários podem usar o comando **Atualizar produto provisionado** nas páginas **Lista de produto provisionado** ou **Detalhes do produto provisionado**. 

Antes de criar uma nova versão de um produto, AWS Service Catalog recomenda que você teste as atualizações do produto no mecanismo Terraform CloudFormation ou no mecanismo Terraform para garantir que elas funcionem corretamente.

**Para criar uma nova versão do produto**

1.  Navegue até a página **Lista de produtos**. 

1.  Escolha o produto que você deseja atualizar. Você será direcionado para a página de *Detalhes do produto*. 

1.  Na página *Detalhes do produto*, expanda a guia **Versões** e, em seguida, escolha **Criar nova versão**. 

1.  Em **Detalhes da versão**, faça o seguinte: 
   + **Escolha o modelo** - há quatro maneiras de adicionar um arquivo de modelo. 

     *Use um arquivo de modelo local* - Carregue um CloudFormation modelo ou um arquivo de configuração tar.gz do Terraform a partir de uma unidade local. 

     *Use um URL do Amazon S3* - especifique um URL que aponte para um modelo CloudFormation ou arquivo de configuração tar.gz do Terraform armazenado no Amazon S3. Se você especificar um URL do Amazon S3, dele deverá começar com https://.

     *Use um repositório externo*: especifique seu repositório de código GitHub, GitHub Enterprise ou Bitbucket. AWS Service Catalog permite sincronizar produtos com arquivos de modelo. Para produtos Terraform, é necessário que o formato do arquivo de modelo seja um único arquivo arquivado em Tar e compactado em Gzip.

     *Use uma CloudFormation pilha existente* - insira o ARN de uma CloudFormation pilha existente. Este método não oferece suporte a produtos Terraform Cloud ou externos. 
   + **Bloco de versão** - nome da versão do produto (por exemplo, “v1”, “v2beta”). Espaços não são permitidos. 
   + **Descrição** (opcional): uma descrição da versão do produto incluindo como essa versão difere da versão anterior.

1. Escolha **Criar versão de produto**.

 Você também pode usar CodePipeline para criar e configurar um pipeline para implantar seu modelo de produto e entregar suas alterações em seu repositório de origem. AWS Service Catalog Para obter mais informações, consulte [Tutorial: Criar um pipeline que seja implantado em AWS Service Catalog](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-S3-servicecatalog.html).

# Sincronização de produtos com arquivos de modelo do GitHub, GitHub Enterprise ou Bitbucket
<a name="git-synced-sc-products"></a>

AWS Service Catalog permite sincronizar produtos com arquivos de modelo que são gerenciados por meio de um provedor de repositório externo. AWS Service Catalog refere-se a produtos com esse tipo de conexão de modelo como produtos sincronizados com *Git*. As opções de repositório incluem GitHub GitHub Enterprise ou Bitbucket. Depois de autorizar sua conta Conta da AWS com um repositório externo, você pode criar novos AWS Service Catalog produtos ou atualizar produtos existentes para sincronizar com um arquivo de modelo no repositório. Quando alterações são feitas no arquivo de modelo e confirmadas no repositório (por exemplo, usando git-push), AWS Service Catalog automaticamente detecta as alterações e cria uma nova versão do produto (artefato). 

**Topics**
+ [Permissões necessárias para sincronizar produtos com arquivos de modelo externos](#required-perms-synced-repo)
+ [Crie uma conexão de conta](#create-synced-product)
+ [Visualizar conexões de produtos sincronizadas com o Git](#view-repo-sync)
+ [Atualizar conexões de produtos sincronizadas com o Git](#update-repo-sync)
+ [Excluir conexões de produtos sincronizadas com o Git](#delete-repo-sync)
+ [Sincronização de produtos Terraform com arquivos de modelo do GitHub, GitHub Enterprise ou Bitbucket](#git-synced-Terraform)
+ [Região da AWS suporte para produtos sincronizados com Git](git-sync-supported-regions.md)

## Permissões necessárias para sincronizar produtos com arquivos de modelo externos
<a name="required-perms-synced-repo"></a>

Você pode usar a política a seguir AWS Identity and Access Management (IAM) como modelo para permitir que AWS Service Catalog os administradores sincronizem produtos com arquivos de modelo de um repositório externo. Essa política inclui as permissões necessárias de ambos CodeConnections AWS Service Catalog e. AWS Service Catalog recomenda que você copie o modelo de política abaixo e também use a [política AWS Service Catalog`AWSServiceCatalogAdminFullAccess` gerenciada](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/security-iam-awsmanpol) ao habilitar produtos sincronizados com o repositório. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CodeStarAccess",
            "Effect": "Allow",
            "Action": [
            "codestar-connections:UseConnection",
            "codestar-connections:PassConnection",
            "codestar-connections:CreateConnection",
            "codestar-connections:DeleteConnection",
            "codestar-connections:GetConnection",
            "codestar-connections:ListConnections",
            "codestar-connections:ListInstallationTargets",
            "codestar-connections:GetInstallationUrl",
            "codestar-connections:StartOAuthHandshake",
            "codestar-connections:UpdateConnectionInstallation",
            "codestar-connections:GetIndividualAccessToken"
            ],
            "Resource": "arn:aws:codestar-connections:*:*:connection/*"
        },
        {
        "Sid": "CreateSLR",
        "Effect": "Allow",
        "Action": "iam:CreateServiceLinkedRole",
        "Resource": "arn:aws:iam::*:role/aws-service-role/sync.servicecatalog.amazonaws.com/AWSServiceRoleForServiceCatalogArtifactSync",
        "Condition": {
        "StringLike": {
        "iam:AWSServiceName": "sync.servicecatalog.amazonaws.com"
                }
            }
        }
    ]
}
```

------

## Crie uma conexão de conta
<a name="create-synced-product"></a>

Antes de sincronizar um arquivo de modelo com um AWS Service Catalog produto, você deve criar e autorizar uma conexão única. account-to-account Você usa essa conexão para especificar os detalhes do repositório que contém o arquivo de modelo desejado. Você pode criar uma conexão usando o AWS Service Catalog console, o CodeConnections console AWS Command Line Interface (CLI) ou. CodeConnections APIs 

Depois de estabelecer uma conexão, você pode usar o AWS Service Catalog console, a AWS Service Catalog API ou a CLI para criar um produto sincronizado AWS Service Catalog . AWS Service Catalog os administradores podem criar produtos novos ou atualizar AWS Service Catalog produtos existentes com base em um arquivo de modelo em um repositório e ramificação. Se uma alteração for confirmada no repositório, a AWS Service Catalog detectará automaticamente e criará uma nova versão do produto. As versões anteriores do produto são mantidas até o limite de versão prescrito e atribuiu um status **obsoleto**. 

Além disso, cria AWS Service Catalog automaticamente uma função vinculada ao serviço (SLR) após a criação da conexão. Essa SLR permite AWS Service Catalog detectar qualquer alteração no arquivo de modelo que esteja confirmada no repositório. A SLR também permite AWS Service Catalog criar automaticamente novas versões de produtos para produtos sincronizados. Para obter mais informações sobre permissões e funcionalidades da SLR, consulte [Perfis vinculados ao serviço para AWS Service Catalog](#required-perms-synced-repo). 

**Como criar um novo produto sincronizado com o Git**

1. No painel de navegação, escolha **Lista de produtos** e, em seguida, selecione **Criar produto**. 

1. Insira os **Detalhes do produto**. 

1. Em Detalhes da versão, escolha **Especificar seu repositório de código usando um AWS CodeStar provedor** e, em seguida, escolha o link **Criar uma nova AWS CodeStar conexão**. 

1. Depois de criar a conexão, atualize a lista de conexões e selecione a nova conexão. Especifique os detalhes do repositório, incluindo o **repositório**, a **ramificação** e o **caminho do arquivo de modelo**. 

   Para obter mais informações sobre o uso de arquivos de configuração Terraform, consulte [Sincronização de produtos Terraform com arquivos de modelo do GitHub, GitHub Enterprise ou Bitbucket](#git-synced-Terraform). 

   1. (Opcional ao criar um novo recurso de AWS Service Catalog produto) Na seção **Support Details**, adicione metadados do produto.

   1. (Opcional ao criar um novo recurso de AWS Service Catalog produto) Na seção **Tags**, escolha **Adicionar nova tag** e insira os pares de **chave** e **valor**.

1. Selecione **Criar novo produto**. 

**Para criar vários produtos sincronizados com o Git**

1. No painel de navegação esquerdo do AWS Service Catalog console, escolha **Lista de produtos** e, em seguida, escolha **Criar vários produtos gerenciados pelo git**. 

1. Insira os **Detalhes comuns do produto**. 

1. Em Detalhes do repositório externo, selecione uma **conexão AWS CodeStar ** e, em seguida, especifique o **repositório** e a **ramificação**. 

1. No painel Adicionar produtos, insira o **Caminho do arquivo de modelo** e o **Nome do produto**. Escolha **Adicionar novo item** e continue adicionando produtos conforme desejado.

1. Depois de adicionar todos os produtos desejados, escolha **Criar produtos em massa**. 

**Para conectar um AWS Service Catalog produto existente a um repositório externo**

1. No painel de navegação esquerdo do AWS Service Catalog console, escolha **Lista de produtos** e, em seguida, escolha **Conectar produtos a um repositório externo**. 

1. Na página Selecionar produtos, escolha os produtos que você deseja conectar a um repositório externo e escolha **Próximo**. 

1. Na página Especificar detalhes da fonte, selecione uma AWS CodeStar conexão existente e, em seguida, especifique o **repositório**, a **ramificação** e o **caminho do arquivo de modelo**. 

1. Escolha **Próximo**. 

1. Na página Revisar e enviar, verifique os detalhes da conexão e escolha **Conectar produtos a um repositório externo**. 

## Visualizar conexões de produtos sincronizadas com o Git
<a name="view-repo-sync"></a>

Você pode usar o AWS Service Catalog console, a API ou visualizar AWS CLI os detalhes da conexão do repositório. Para AWS Service Catalog produtos vinculados a um arquivo de modelo, você pode recuperar informações sobre a conexão do repositório e a última vez em que o modelo foi sincronizado com o produto a partir do Status da **última** sincronização. 

**nota**  
Você pode visualizar as informações do repositório e o **Status da última sincronização** no nível do produto. Os usuários devem ter permissões do IAM no CodeConnections APIs para visualizar os detalhes do repositório. Consulte [Permissões necessárias para sincronizar AWS Service Catalog produtos com arquivos de modelo](#required-perms-synced-repo) para obter mais informações sobre a política necessária para essas permissões do IAM. 

**Para visualizar os detalhes da conexão e do repositório usando Console de gerenciamento da AWS**

1. No painel de navegação à esquerda, escolha **Lista de produtos**. 

1. Selecione o produto na lista. 

1. Na página **Produto**, navegue até a seção **Detalhes da fonte do produto**. 

1. Para ver a ID da revisão de origem de uma versão do produto, escolha o link **Última versão criada**. A seção **Detalhes da versão** exibe a ID da revisão de origem. 

**Para visualizar os detalhes da conexão e do repositório usando AWS CLI**

A partir do AWS CLI, execute os seguintes comandos: 

`$ aws servicecatalog describe-product-as-admin`

`$ aws servicecatalog describe-provisioning-artifact`

`$ aws servicecatalog search-product-as-admin`

`$ aws servicecatalog list-provisioning-artifacts`

## Atualizar conexões de produtos sincronizadas com o Git
<a name="update-repo-sync"></a>

Você pode atualizar as conexões de contas existentes e os produtos sincronizados com o Git usando o AWS Service Catalog console, AWS Service Catalog a API ou. AWS CLI

Para saber como conectar um AWS Service Catalog produto existente a um arquivo de modelo, consulte [Criação de novas conexões de produto sincronizadas com o Git](#create-synced-product). 

**Para atualizar os produtos existentes para produtos sincronizados com o Git**

1. No painel de navegação à esquerda, escolha **Lista de produtos** e, em seguida, escolha uma das seguintes opções:
   + Para atualizar um **único produto**, selecione o produto, navegue até a seção **Detalhes da fonte do produto** e escolha **Editar detalhes**. 
   + Para atualizar **vários produtos**, escolha **Conectar produtos a um repositório externo**, selecione até dez produtos e escolha **Próximo**. 

1. Na seção **Detalhes da fonte do produto**, execute as seguintes atualizações: 
   + Especificar a conexão. 
   + Especificar o repositório. 
   + Especificar a ramificação. 
   + Nomear o arquivo de modelo. 

1. Escolha **Salvar alterações**. 

**nota**  
Para produtos que ainda não estão conectados a um repositório externo, você pode usar a opção **Conectar a um repositório externo** exibida no alerta na parte superior da página de informações do produto após selecionar o produto. 

Você também pode usar o AWS Service Catalog console ou AWS CLI o 
+ Conectar um AWS Service Catalog produto existente a um arquivo de modelo em um repositório externo
+ Atualize os metadados do produto, incluindo nome, descrição e tags do produto. 
+ Reconfigure (atualize a sincronização para usar uma fonte de repositório diferente) uma conexão para um produto AWS Service Catalog conectado anteriormente. 

**Para atualizar os detalhes da conexão e do repositório usando o console AWS Service Catalog**

1. No painel de navegação esquerdo **do AWS Service Catalog console, escolha Lista** de produtos e selecione um produto que esteja atualmente conectado a um repositório externo. 

1. Na seção **Detalhes da fonte do produto**, escolha **Editar fonte do produto**. 

1. Na seção **Detalhes da fonte do produto**, especifique o novo repositório desejado. 

1. Escolha **Salvar alterações**. 

**Para atualizar os detalhes da conexão e do repositório usando AWS CLI**

A partir da AWS CLI execução dos `$ aws servicecatalog update-provisioning-artifact` comandos `$ aws servicecatalog update-product` e. 

## Excluir conexões de produtos sincronizadas com o Git
<a name="delete-repo-sync"></a>

Você pode excluir uma conexão entre um AWS Service Catalog produto e um arquivo de modelo usando o AWS Service Catalog console, a CodeConnections API ou AWS CLI. Quando você desconecta um produto de um arquivo de modelo, o AWS Service Catalog produto sincronizado muda para um produto gerenciado regularmente. Depois de desconectar o produto, se o arquivo de modelo for alterado e confirmado no repositório conectado anteriormente, as alterações *não* serão refletidas. Para reconectar um AWS Service Catalog produto a um arquivo de modelo em um repositório externo, consulte [Atualização de conexões e produtos sincronizados AWS Service Catalog](). 

**Para desconectar um produto sincronizado com o Git usando o console AWS Service Catalog**

1. No Console de gerenciamento da AWS, escolha **Lista de produtos** no painel de navegação esquerdo. 

1. Selecione um produto na lista. 

1. Na página **Produto**, navegue até a seção **Detalhes da fonte do produto**. 

1. Escolha **Desconectar**. 

1. Confirme a ação e escolha **Desconectar**. 

**Para desconectar um produto sincronizado com o Git usando AWS CLI**

A partir do AWS CLI, execute o `$ aws servicecatalog update-product` comando. Na entrada `ConnectionParameters`, remova a conexão especificada. 

**Para excluir uma conexão usando a CodeConnections API ou AWS CLI**

Na CodeConnections API ou AWS CLI, execute o `$ aws codestar-connections delete-connection` comando. 

## Sincronização de produtos Terraform com arquivos de modelo do GitHub, GitHub Enterprise ou Bitbucket
<a name="git-synced-Terraform"></a>

Ao criar um produto sincronizado com o Git usando um arquivo de configuração do Terraform, o caminho do arquivo aceita somente o formato tar.gz. Os formatos de pasta do Terraform não são aceitos no caminho do arquivo. 

# Região da AWS suporte para produtos sincronizados com Git
<a name="git-sync-supported-regions"></a>

AWS Service Catalog suporta produtos sincronizados com o Git Regiões da AWS conforme indicado na tabela abaixo. 


****  

| Região da AWS nome | Região da AWS identidade | Suporte para produtos sincronizados com o Git | 
| --- | --- | --- | 
| Leste dos EUA (Norte da Virgínia) | us-east-1 | Sim | 
| Leste dos EUA (Ohio) | us-east-2 | Sim | 
| Oeste dos EUA (N. da Califórnia) | us-west-1 | Sim | 
| Oeste dos EUA (Oregon) | us-west-2 | Sim | 
| África (Cidade do Cabo) | af-south-1 | Não | 
| Ásia-Pacífico (Hong Kong) | ap-east-1 | Não | 
| Ásia-Pacífico (Jacarta) | ap-southeast-3 | Não | 
| Ásia-Pacífico (Mumbai) | ap-south-1 | Sim | 
| Ásia Pacifico (Osaka) | ap-northeast-3 | Não | 
| Ásia-Pacífico (Seul) | ap-northeast-2 | Sim | 
| Ásia-Pacífico (Singapura) | ap-southeast-1 | Sim | 
| Ásia-Pacífico (Sydney) | ap-southeast-2 | Sim | 
| Ásia-Pacífico (Tóquio) | ap-northeast-1 | Sim | 
| Canadá (Central) | ca-central-1 | Sim | 
| Europa (Frankfurt) | eu-central-1 | Sim | 
| Europa (Irlanda) | eu-west-1 | Sim | 
| Europa (Londres) | eu-west-2 | Sim | 
| Europa (Milão) | eu-south-1 | Não | 
| Europa (Paris) | eu-west-3 | Sim | 
| Europa (Estocolmo) | eu-north-1 | Sim | 
| Oriente Médio (Barém) | me-south-1 | Não | 
| América do Sul (São Paulo) | sa-east-1 | Sim | 
| AWS GovCloud (Leste dos EUA) | us-gov-east-1 | Não | 
| AWS GovCloud (Oeste dos EUA) | us-gov-west-1 | Não | 

# Excluir produtos
<a name="productmgmt-delete"></a>

Quando você exclui um produto, AWS Service Catalog remove todas as versões do produto de cada portfólio que contém o produto. 

AWS Service Catalog permite que você exclua um produto usando o AWS Service Catalog console ou AWS CLI. Para excluir um produto com sucesso, você deve primeiro desassociar todos os recursos associados ao produto. Exemplos de associações de recursos de produtos incluem associações de portfólio TagOptions, orçamentos e ações de serviço. 

**Importante**  
 Você não pode recuperar um produto depois que ele for excluído. 

**Para excluir um produto usando o AWS Service Catalog console**

1.  Navegue até a página **Portfólios** e selecione o portfólio que contém o produto que você deseja excluir. 

1.  Selecione o produto que você deseja excluir e escolha **Excluir** na parte superior direita do painel de produtos. 

1. Para produtos *sem recursos associados*, confirme o produto que você deseja excluir digitando **excluir** na caixa de texto e escolha **Excluir**. 

   Para produtos *com recursos associados*, prossiga para a etapa 4. 

1. Na janela **Excluir produto**, revise a tabela **Associações**, que exibe todos os recursos associados ao produto. AWS Service Catalog tenta desassociar esses recursos quando você exclui o produto. 

1. Confirme que você deseja excluir o produto e remover todos os recursos associados inserindo **excluir** na caixa de texto. 

1. Escolha **Desassociar e excluir**. 

Se AWS Service Catalog não conseguir desassociar todos os recursos do produto, o produto não será excluído. A janela **Excluir produto** exibe o número de dissociações com falha e uma descrição de cada falha. Para obter mais informações sobre como resolver dissociações de recursos com falha ao excluir um produto, consulte *Resolver dissociações de recursos com falha ao excluir um produto* abaixo. 

**Topics**
+ [Excluindo produtos usando o AWS CLI](product-delete-cli.md)
+ [Resolver falhas na dissociação de recursos ao excluir um produto](product-delete-exception.md)

# Excluindo produtos usando o AWS CLI
<a name="product-delete-cli"></a>

AWS Service Catalog permite que você use o [AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)(AWS CLI) para excluir produtos do seu portfólio. AWS CLI É uma ferramenta de código aberto que permite interagir com AWS serviços usando comandos em seu shell de linha de comando. A função AWS Service Catalog de exclusão forçada requer um [AWS CLI alias](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-alias.html), que é um atalho que você pode criar AWS CLI para encurtar comandos ou scripts que você usa com frequência. 

## Pré-requisitos
<a name="product-delete-cli-requirements"></a>
+ Instale e configure a AWS CLI. Para obter mais informações, consulte [Instalação ou atualização da versão mais recente da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [Configuração básica](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html). Use uma AWS CLI versão mínima de 1.11.24 ou 2.0.0. 
+ O alias da CLI de exclusão do produto requer um terminal compatível com bash e o processador JQ de linha de comando JSON. Para obter mais informações sobre como instalar o processador JSON de linha de comando, consulte [Download jq](https://stedolan.github.io/jq/download/). 
+ Crie um AWS CLI alias para chamadas de `Disassociation` API em lote, permitindo que você exclua um produto em um único comando. 

Para excluir um produto com sucesso, você deve primeiro desassociar todos os recursos associados ao produto. Exemplos de associações de recursos de produtos incluem associações de portfólio, orçamentos, opções de tags e ações de atendimento. Ao usar a CLI para excluir um produto, o alias `force-delete-product` da CLI permite que você chame a API `Disassociate` para desassociar quaisquer recursos que impeçam a API `DeleteProduct`. Isso evita uma chamada separada para dissociações individuais. 

**nota**  
Os caminhos de arquivo mostrados nos procedimentos abaixo podem variar dependendo do sistema operacional usado para realizar essas ações. 

## Criação de um AWS CLI alias para excluir produtos AWS Service Catalog
<a name="product-delete-cli-alias"></a>

Ao usar o AWS CLI para excluir um AWS Service Catalog produto, o `force-delete-product` alias da CLI permite que você chame a `Disassociate` API para desassociar quaisquer recursos que impeçam a chamada. `DeleteProduct` 

**Crie um `alias` arquivo na sua pasta AWS CLI de configuração**

1. No AWS CLI console, navegue até a pasta de configuração. Por padrão, a pasta de configuração é `~/.aws/` no Linux e no macOS ou `%USERPROFILE%\.aws\` no Windows. 

1. Crie uma subpasta chamada `cli` usando a navegação de arquivos ou digitando o seguinte comando em seu terminal preferido: 

   ```
                $ mkdir -p ~/.aws/cli
   ```

   O caminho padrão da pasta `cli` resultante é `~/.aws/cli/` no Linux e no macOS ou `%USERPROFILE%\.aws\cli` no Windows. 

1. Na nova pasta `cli`, crie um arquivo de texto chamado `alias` sem extensão de arquivo. Você pode criar o arquivo `alias` usando a navegação de arquivos ou digitando o seguinte comando no terminal de sua preferência: 

   ```
                 $ touch ~/.aws/cli/alias
   ```

1. Entre `[toplevel]` na primeira linha.

1. Salve o arquivo. 

Em seguida, você pode adicionar o force-delete-product alias ao seu `alias` arquivo colando manualmente o script de alias no arquivo ou usando um comando na janela do terminal. 

**Adicione manualmente o force-delete-product alias ao seu arquivo `alias`**

1. No AWS CLI console, navegue até a pasta AWS CLI de configuração e abra o `alias` arquivo. 

1. Insira o seguinte alias de código no arquivo, abaixo da linha `[toplevel]`: 

   ```
                [command servicecatalog]
             	 force-delete-product =
             	   !f() {
             	     if [ "$#" -ne 1 ]; then
             	         echo "Illegal number of parameters"
             	         exit 1
             	     fi
             	 
             	     if [[ "$1" != prod-* ]]; then
             	        echo "Please provide a valid product id."
             	        exit 1
             	     fi
             	 
             	     productId=$1
             	     describeProductAsAdminResponse=$(aws servicecatalog describe-product-as-admin --id $productId)
             	     listPortfoliosForProductResponse=$(aws servicecatalog list-portfolios-for-product --product-id $productId)
             	 
             	     tagOptions=$(echo "$describeProductAsAdminResponse" | jq -r '.TagOptions[].Id')
             	     budgetName=$(echo "$describeProductAsAdminResponse" | jq -r '.Budgets[].BudgetName')
             	     portfolios=$(echo "$listPortfoliosForProductResponse" | jq -r '.PortfolioDetails[].Id')
             	     provisioningArtifacts=$(echo "$describeProductAsAdminResponse" | jq -r '.ProvisioningArtifactSummaries[].Id')
             	     provisioningArtifactServiceActionAssociations=()
             	 
             	     for provisioningArtifactId in $provisioningArtifacts; do
             	       listServiceActionsForProvisioningArtifactResponse=$(aws servicecatalog list-service-actions-for-provisioning-artifact --product-id $productId --provisioning-artifact-id $provisioningArtifactId)
             	       serviceActions=$(echo "$listServiceActionsForProvisioningArtifactResponse" | jq -r '[.ServiceActionSummaries[].Id] | join(",")')
             	       if [[ -n "$serviceActions" ]]; then
             	         provisioningArtifactServiceActionAssociations+=("${provisioningArtifactId}:${serviceActions}")
             	       fi
             	     done
             	 
             	     echo "Before deleting a product, the following associated resources must be disassociated. These resources will not be deleted. This action may take some time, depending on the number of resources being disassociated."
             	 
             	     echo "Portfolios:"
             	     for portfolioId in $portfolios; do
             	       echo "\t${portfolioId}"
             	     done
             	 
             	     echo "Budgets:"
             	     if [[ -n "$budgetName" ]]; then
             	       echo "\t${budgetName}"
             	     fi
             	 
             	     echo "Tag Options:"
             	     for tagOptionId in $tagOptions; do
             	       echo "\t${tagOptionId}"
             	     done
             	 
             	     echo "Service Actions on Provisioning Artifact:"
             	     for association in "${provisioningArtifactServiceActionAssociations[@]}"; do
             	       echo "\t${association}"
             	     done
             	 
             	     read -p "Are you sure you want to delete ${productId}? y,n "
             	     if [[ ! $REPLY =~ ^[Yy]$ ]]; then
             	        exit
             	     fi
             	 
             	     for portfolioId in $portfolios; do
             	       echo "Disassociating ${portfolioId}"
             	       aws servicecatalog disassociate-product-from-portfolio --product-id $productId --portfolio-id $portfolioId
             	     done
             	 
             	     if [[ -n "$budgetName" ]]; then
             	       echo "Disassociating ${budgetName}"
             	       aws servicecatalog disassociate-budget-from-resource --budget-name "$budgetName" --resource-id $productId
             	     fi
             	 
             	     for tagOptionId in $tagOptions; do
             	       echo "Disassociating ${tagOptionId}"
             	       aws servicecatalog disassociate-tag-option-from-resource --tag-option-id $tagOptionId --resource-id $productId
             	     done
             	 
             	     for association in "${provisioningArtifactServiceActionAssociations[@]}"; do
             	       associationPair=(${association//:/ })
             	       provisioningArtifactId=${associationPair[0]}
             	       serviceActionsList=${associationPair[1]}
             	       serviceActionIds=${serviceActionsList//,/ }
             	       for serviceActionId in $serviceActionIds; do
             	         echo "Disassociating ${serviceActionId} from ${provisioningArtifactId}"
             	         aws servicecatalog disassociate-service-action-from-provisioning-artifact --product-id $productId --provisioning-artifact-id $provisioningArtifactId --service-action-id $serviceActionId
             	       done
             	     done
             	 
             	     echo "Deleting product ${productId}"
             	     aws servicecatalog delete-product --id $productId
             	 
             	   }; f
   ```

1. Salve o arquivo. 

**Use a janela do terminal para adicionar o force-delete-product alias ao seu arquivo `alias`**

1. Abra uma janela de terminal e execute o seguinte comando:

   `$ cat >> ~/.aws/cli/alias`

1. Cole o script de alias na janela do terminal e pressione *CTRL\$1D* para sair do comando `cat`. 

**Ligue para o force-delete-product alias**

1. Na janela do terminal, execute os comandos seguintes para chamar o alias do produto excluído

   `$ aws servicecatalog force-delete-product {product-id} `

   O exemplo abaixo mostra o comando alias `force-delete-product` e sua resposta resultante 

   ```
                 $ aws servicecatalog force-delete-product prod-123
   ```

   ```
                 Before deleting a product, the following associated resources must be disassociated. These resources will not be deleted. This action may take some time, depending on the number of resources being disassociated.
                 Portfolios:
                   port-123
                 Budgets:
                     budgetName
                 Tag Options:
                     tag-123
                 Service Actions on Provisioning Artifact:
                     pa-123:act-123
                 Are you sure you want to delete prod-123? y,n
   ```

1. Digite `y` para confirmar se você deseja excluir o produto. 

Depois de excluir o produto com sucesso, a janela do terminal exibe os seguintes resultados

```
          Disassociating port-123
          Disassociating budgetName
          Disassociating tag-123
          Disassociating act-123 from pa-123
          Deleting product prod-123
```

## Recursos adicionais do
<a name="product-delete-cli-resources"></a>

Para obter mais informações sobre AWS CLI o uso de aliases e a exclusão de AWS Service Catalog produtos, consulte os seguintes recursos:
+ [Criação e uso de AWS CLI aliases](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-alias.html) no guia do *AWS Command Line Interface usuário (CLI*). 
+ AWS CLI repositório de [alias repositório](https://github.com/awslabs/awscli-aliases) git. 
+ [Excluir produtos do AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/productmgmt-delete.html). 
+ [AWS re:Invent 2016: O usuário AWS CLI efetivo](https://youtu.be/Xc1dHtWa9-Q?t=1593) em. *YouTube* 

# Resolver falhas na dissociação de recursos ao excluir um produto
<a name="product-delete-exception"></a>

Se sua tentativa anterior de [excluir um produto](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/productmgmt-delete.html) falhou devido a exceções de dissociação de recursos, consulte a lista de exceções e suas resoluções abaixo. 

**nota**  
Se você fechou a janela **Excluir produtos** antes de receber a mensagem de falha na dissociação de recursos, poderá seguir as etapas de um a três na seção *Excluir um produto* em andamento para abrir a janela novamente.

**Como resolver uma falha na dissociação de recursos**

Na janela **Excluir produto**, revise a coluna **Status** da tabela de associações. Identifique a exceção de falha na dissociação de recursos e as resoluções sugeridas:


****  

| Tipo de exceção de status | Causa | Resolução | 
| --- | --- | --- | 
| Produto prod-\$1\$1\$1\$1 | AWS Service Catalog não foi possível excluir o produto porque o produto ainda tem orçamentos associados TagOptions, pelo menos um ProvisioningArtifact com ações associadas, o produto ainda está atribuído a um portfólio, o produto tem usuários ou o produto tem restrições.  | Tente excluir o produto novamente. | 
| Usuário: username não tem autorização para executar: | O usuário que está tentando excluir o produto não tem as permissões necessárias para desassociar os recursos do produto.  | AWS Service Catalog recomenda entrar em contato com o administrador da conta para obter mais informações sobre como desassociar recursos de produtos que você atualmente não tem permissão para desassociar.  | 

# Gerenciar versões
<a name="managing-versions"></a>

 Você atribui versões do produto ao criar um produto, além de poder atualizar versões de produto a qualquer momento. 

 As versões têm um CloudFormation modelo, um título, uma descrição, um status e orientação. 

## Status da versão
<a name="version-status"></a>

 Uma versão pode ter um dos três status: 
+  **Active (Ativa)** – uma versão ativa aparece na lista de versões e permite que os usuários a lancem. 
+  **Inactive (Inativa)** – uma versão inativa está oculta na lista de versões. Os produtos provisionados existentes lançados a partir desta versão não serão afetados. 
+  **Excluído** - se uma versão for excluída, ela será removida da lista de versões. A exclusão de uma versão não pode ser desfeita. 

## Orientação da versão
<a name="version-guidance"></a>

 Você pode definir a orientação da versão para fornecer informações a usuários finais sobre a versão do produto. A orientação da versão afeta somente as versões de produto ativas. 

 Há duas opções para a orientação da versão: 
+  **Nenhum** - por padrão, as versões do produto não têm nenhuma orientação. Os usuários finais podem usar essa versão para atualizar e lançar produtos provisionados. 
+  **Obsoleto** - os usuários não podem lançar novos produtos provisionados usando uma versão obsoleta do produto. Se um produto provisionado lançado anteriormente usa uma versão agora obsoleta, os usuários só podem atualizar esse produto provisionado usando a versão existente ou uma nova versão. 

## Atualizar versões
<a name="updating-versions"></a>

 Você atribui versões do produto ao criar um produto e também pode atualizar uma versão a qualquer momento. Para obter mais informações sobre como criar um produto, consulte [Criar produtos](productmgmt-cloudresource.md). 

**Como atualizar uma versão do produto**

1.  No AWS Service Catalog console, escolha **Produtos**. 

1.  Na lista de produtos, escolha o produto cuja versão deseja atualizar. 

1.  Na página **Product details (Detalhes do produto)**, escolha a guia **Versions (Versões)** e escolha a versão que deseja atualizar. 

1.  Na página **Version details (Detalhes da versão)**, edite a versão do produto e escolha **Save changes (Salvar alterações)**. 

# Usando AWS Service Catalog restrições
<a name="constraints"></a>

Você aplica restrições para controlar as regras que serão aplicadas a um produto em um portfólio específico quando os usuários finais o iniciarem. Quando os usuários finais iniciarem o produto, verão as regras aplicadas usando as restrições. Você pode aplicar restrições a um produto após ele ser inserido em um portfólio. As restrições são ativadas logo após sua criação e são aplicadas a todas as versões atuais de um produto que ainda não foram lançadas.

**Topics**
+ [Restrições de lançamento](constraints-launch.md)
+ [Restrições de notificação](constraints-notification.md)
+ [Restrições de atualização de tags](constraints-resourceupdate.md)
+ [Restrições do conjunto de pilhas](constraints-stackset.md)
+ [Restrições de modelo](catalogs_constraints_template-constraints.md)

# AWS Service Catalog Restrições de lançamento
<a name="constraints-launch"></a>

Uma restrição de lançamento especifica a função AWS Identity and Access Management (IAM) que AWS Service Catalog assume quando um usuário final lança, atualiza ou encerra um produto. Uma função do IAM é uma coleção de permissões que um usuário ou AWS serviço pode assumir temporariamente para usar AWS os serviços. Como exemplo de apresentação, consulte:
+ CloudFormation tipo de produto: [Etapa 6: Adicionar uma restrição de lançamento para atribuir um perfil do IAM](getstarted-launchconstraint.md)
+ Tipo de produto Terraform Open Source ou Terraform Cloud: [Etapa 5: Criar funções de lançamento](getstarted-launchrole-Terraform.md)

As restrições de lançamento se aplicam aos produtos do portfólio (associação produto-portfólio). As restrições de lançamento não se aplicam ao nível do portfólio ou a um produto em todos os portfólios. Para associar uma restrição de lançamento a todos os produtos em um portfólio, aplique a restrição de lançamento a cada produto individualmente.

Sem uma restrição de lançamento, os usuários finais devem lançar e gerenciar produtos usando suas próprias credenciais do IAM. Para fazer isso, eles devem ter permissões para CloudFormation, AWS serviços que os produtos usam AWS Service Catalog e. Ao usar um perfil de lançamento, você pode limitar as permissões dos usuários finais ao mínimo de que eles precisam para esse produto. Para obter mais informações sobre as permissões dos usuários finais, consulte [Identity and Access Management em AWS Service Catalog](controlling_access.md).

Para criar e atribuir perfis do IAM, você deve ter as seguintes permissões administrativas do IAM:
+ `iam:CreateRole`
+ `iam:PutRolePolicy`
+ `iam:PassRole`
+ `iam:Get*`
+ `iam:List*`

## Configuração de uma função de lançamento
<a name="constraints-launch-role"></a>

O perfil do IAM que você atribui a um produto como restrição de lançamento deve ter permissões para usar o seguinte:

**Para produtos Cloudformation**
+ A política gerenciada `arn:aws:iam::aws:policy/AWSCloudFormationFullAccess` CloudFormation .
+ Serviços no AWS CloudFormation modelo do produto
+ Leia o acesso ao AWS CloudFormation modelo em um bucket Amazon S3 de propriedade do serviço. 

**Para produtos Terraform**
+ Os serviços usados no modelo do Amazon S3 para o produto
+ Leia o acesso ao modelo Amazon S3 em um bucket do Amazon S3 de propriedade do serviço. 
+ `resource-groups:Tag` para marcação em uma instância do Amazon EC2 (assumida pelo mecanismo de provisionamento do Terraform ao realizar operações de provisionamento)
+ `resource-groups:CreateGroup`para marcação de grupos de recursos (assumida por AWS Service Catalog criar grupos de recursos e atribuir tags) 

A política de confiança da função do IAM deve AWS Service Catalog permitir que você assuma a função. No procedimento abaixo, a política de confiança será definida automaticamente quando você selecionar AWS Service Catalog como tipo de função. Se você não estiver usando o console, consulte a seção *Criação de políticas de confiança para AWS serviços que assumem funções* em [Como usar políticas de confiança com funções do IAM](https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/). 

**nota**  
As permissões `servicecatalog:ProvisionProduct`, `servicecatalog:TerminateProvisionedProduct` e `servicecatalog:UpdateProvisionedProduct` não podem ser atribuídas na função de lançamento. Você deve usar perfis do IAM, como mostrado nas etapas da política em linha na seção [Ceder permissões para Usuários finais do AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-iamenduser.html).

**nota**  
Para visualizar os produtos e recursos provisionados do Cloudformation no AWS Service Catalog console, os usuários finais precisam de acesso de leitura. CloudFormation A visualização de produtos e recursos provisionados no console **não** usa o perfil de lançamento.

**Para criar uma função de lançamento**

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

   Os produtos Terraform exigem configurações adicionais de perfil de lançamento. Para obter mais informações, consulte a [Etapa 5: Criar perfis de lançamento](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-launchrole-Terraform) em *Conceitos básicos de um produto Terraform Open Source*. 

1. Escolha **Perfis**.

1. Escolha **Criar nova função**.

1. Insira um nome de função e escolha **Next Step**.

1. Em **Perfis de serviço da AWS ** próximo a **AWS Service Catalog**, escolha **Selecionar**.

1. Na página **Attach Policy (Anexar política)**, escolha **Next Step (Próxima etapa)**.

1. Para criar a função, escolha **Create Role (Criar função)**. 

**Para anexar uma política à nova função**

1. Escolha a função que você criou para visualizar a página de detalhes da função.

1. Escolha a guia **Permissions (Permissões)** e expanda a seção **Inline Policies**. Em seguida, escolha **click here (clique aqui)**.

1. Escolha **Custom Policy** e depois **Select**. 

1. Insira um nome para a política, depois cole o seguinte no editor **Policy Document (Documento da política)**: 

   ```
     
             "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "s3:GetObject"
            ],
            "Resource":"*",
            "Condition":{
               "StringEquals":{
                  "s3:ExistingObjectTag/servicecatalog:provisioning":"true"
               }
            }
      ]
   }
   ```
**nota**  
Ao configurar um perfil de lançamento para uma restrição de lançamento, você deve usar esta string: `"s3:ExistingObjectTag/servicecatalog:provisioning":"true"`. 

1. Adicione uma linha à política para cada serviço adicional que o produto usa. Por exemplo, para adicionar a permissão para o Amazon Relational Database Service (Amazon RDS), digite uma vírgula no final da última linha, na lista `Action` e adicione a seguinte linha: 

   ```
   "rds:*"
   ```

1. Selecione **Aplicar política**.

## Aplicação de uma restrição de lançamento
<a name="constraints-launch-constraint"></a>

Depois de configurar o perfil de lançamento, atribua o perfil ao produto como uma restrição de lançamento. Essa ação diz AWS Service Catalog para assumir a função quando um usuário final lança o produto. 

**Para atribuir a função a um produto**

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Escolha o portfólio que contenha o produto.

1. Escolha a guia **Constraints (Restrições)** e **Create constraint (Criar restrição)**.

1. Escolha o produto em **Product (Produto)** e selecione **Launch (Iniciar)** em **Constraint type (Tipo de restrição)**. Escolha **Continuar**.

1. Na seção **Restrição de lançamento**, é possível selecionar um perfil do IAM em sua conta, inserir um ARN de perfil do IAM ou inserir o nome do perfil.

   Se você especificar o nome do perfil, quando uma conta usar a restrição de lançamento, é esse perfil do IAM que a conta usará. Essa abordagem permite que as restrições de perfil de lançamento sejam independentes da conta para que seja possível criar menos recursos por conta compartilhada. 
**nota**  
O nome do perfil fornecido deve existir na conta que criou a restrição de lançamento e a conta do usuário que executa um produto com essa restrição de lançamento. 

1. Depois de especificar a função do IAM, escolha **Create (Criar)**.

## Adicionar Confused Deputy à restrição de lançamento
<a name="constraint-confused-deputy"></a>

AWS Service Catalog suporta a proteção [Confused Deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) para aqueles APIs que são executados com uma solicitação Assume Role. Ao adicionar uma restrição de lançamento, você pode restringir o acesso ao perfil de lançamento usando as condições `sourceAccount` e `sourceArn` da política de confiança do perfil de lançamento. Isso garante que o perfil de lançamento seja chamado por uma fonte confiável.

No exemplo a seguir, o AWS Service Catalog usuário final pertence à conta 111111111111. Quando o administrador AWS Service Catalog cria um `LaunchConstraint` para um produto, o usuário final pode especificar as seguintes condições na política de confiança do perfil de lançamento para restringir Assumir Perfil à conta 111111111111.

```
"Condition":{
   "ArnLike":{
      "aws:SourceArn":"arn:aws:servicecatalog:us-east-1:111111111111:*"
   },
   "StringEquals":{
      "aws:SourceAccount":"111111111111"
   }
  
}
```

Um usuário que provisiona um produto com o `LaunchConstraint` deve ter o mesmo `AccountId` (111111111111). Caso contrário, a operação falhará com um erro `AccessDenied`, impedindo o uso indevido do perfil de lançamento.

Os itens a seguir AWS Service Catalog APIs estão protegidos para a proteção do Confused Deputy:
+ `LaunchConstraint`
+ `ProvisionProduct`
+ `UpdateProvisionedProduct`
+ `TerminateProvisionedProduct`
+ `ExecuteProvisionedProductServiceAction`
+ `CreateProvisionedProductPlan`
+ `ExecuteProvisionedProductPlan`

A `sourceArn ` proteção AWS Service Catalog somente suporta modelos ARNs, como "`arn:<aws-partition>:servicecatalog:<region>:<accountId>:`" Ela não oferece suporte a recursos ARNs específicos.

## Verificar a restrição de lançamento
<a name="constraints-launch-test"></a>

Para verificar se AWS Service Catalog usa a função para lançar o produto e provisionar o produto com sucesso, inicie o produto a partir do AWS Service Catalog console. Para testar uma restrição antes de liberá-lo aos usuários, crie um portfólio de teste que contenha os mesmos produtos e teste as restrições com esse portfólio.

**Para iniciar um produto**

1. No menu do AWS Service Catalog console, escolha **Service Catalog**, **End user**.

1. Escolha o produto para abrir a página **Detalhes do produto**. Na tabela **Opções de lançamento**, verifique se o nome do recurso da Amazon (ARN) do perfil é exibido.

1. Escolha **Lançar produto**.

1. Siga as etapas de lançamento, preenchendo todas as informações necessárias.

1. Verifique se o produto inicia corretamente.

# AWS Service Catalog Restrições de notificação
<a name="constraints-notification"></a>

**nota**  
AWS Service Catalog não suporta restrições de notificação para produtos Terraform Open Source ou Terraform Cloud. 

A restrição de notificação especifica um tópico do Amazon SNS para receber notificações sobre eventos de pilha. 

Use o procedimento a seguir para criar um tópico do SNS e inscreva-se nele.

**Para criar um tópico do SNS e uma inscrição**

1. [Abra o console do Amazon SNS em https://console.aws.amazon.com/sns/ v3/home.](https://console.aws.amazon.com/sns/v3/home)

1. Escolha **Criar tópico**.

1. Digite o nome de um tópico e escolha **Create topic (Criar tópico)**.

1. Selecione **Criar assinatura**.

1. Em **Protocol (Protocolo)**, selecione **Email**. Em **Endpoint**, digite um endereço de e-mail que você pode usar para receber as notificações. Selecione **Create subscription**.

1. Você receberá um e-mail de confirmação com a linha de assunto `AWS Notification - Subscription Confirmation`. Abra o e-mail e siga as instruções para concluir a sua assinatura.

Use o procedimento a seguir para aplicar uma restrição de notificação usando o tópico do SNS que você criou usando o procedimento anterior.

**Para aplicar uma restrição de notificação a um produto**

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Escolha o portfólio que contenha o produto.

1. Expanda **Constraints (Restrições)** e escolha **Add constraints (Adicionar restrições)**.

1. Escolha o produto em **Produto** e defina **Tipo de restrição** como **Notificação**. Escolha **Continuar**.

1. Escolha **Choose a topic from your account (Escolher um tópico da sua conta)** e selecione o tópico do SNS que você criou em **Topic Name (Nome do tópico)**.

1. Selecione **Enviar**.

# AWS Service Catalog Restrições de atualização de tags
<a name="constraints-resourceupdate"></a>

**nota**  
AWS Service Catalog não suporta restrições de atualização de tags para produtos Terraform Open Source.

Com as restrições de atualização de tags, os AWS Service Catalog administradores podem permitir ou proibir que os usuários finais atualizem tags em recursos associados a um produto provisionado. Se a atualização de tags for permitida, as novas tags associadas ao produto ou portfólio serão aplicadas aos recursos provisionados durante uma atualização de produto provisionado. 

**Para habilitar as atualizações de tags a um produto**

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Escolha o portfólio que contém o produto que deseja atualizar.

1. Escolha a guia **Restrições** e **Adicionar restrições**.

1. Em **Constraint type (Tipo de restrição)** e selecione **Tag Update (Atualização de tag)**.

1. Escolha o produto em **Product (Produto)** e selecione **Continue (Continuar)**.

1. Na **Tag Updates page (Página de atualizações de tag)**, selecione **Enable Tag Updates (Habilitar atualizações de tag)**.

1. Selecione **Enviar**.

# AWS Service Catalog Restrições do conjunto de pilhas
<a name="constraints-stackset"></a>

**nota**  
AWS Service Catalog não suporta restrições de conjunto de pilhas para produtos Terraform Open Source.
AutoTags atualmente não são compatíveis com CloudFormation StackSets. 

Uma restrição de conjunto de pilhas permite que você configure as opções de implantação do produto usando o. CloudFormation StackSets Você pode especificar várias contas e regiões para o lançamento do produto. Os usuários finais podem gerenciar essas contas e determinar onde os produtos são implantados e a ordem de implantação.

**Para aplicar uma restrição do conjunto de pilhas a um produto**

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Escolha o portfólio com o produto que você deseja.

1. Escolha a guia **Restrições** e **Criar restrições**.

1. Em **Produto**, escolha o produto. Em **Tipo de restrição**, escolha **Conjunto de pilhas**. 

1. Configure as contas, regiões e permissões para as restrições do seu conjunto de pilhas.
   + Nas **Configurações da conta**, identifique as contas nas quais você deseja criar produtos.
   + Nas **Configurações de região**, escolha as regiões geográficas para implantar produtos e a ordem em que você deseja que esses produtos sejam implantados nessas regiões.
   + Em **Permissões**, escolha uma função de StackSet administrador do IAM para gerenciar suas contas de destino. Se você não escolher uma função, StackSets usa o ARN padrão. [Saiba mais sobre a configuração de permissões do conjunto de pilhas.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html)

1. Escolha **Criar**.

# AWS Service Catalog Restrições do modelo
<a name="catalogs_constraints_template-constraints"></a>

**nota**  
AWS Service Catalog não oferece suporte a restrições de modelo para produtos Terraform Open Source ou Terraform Cloud. 

Para limitar as opções disponíveis para os usuários finais quando lançam um produto, você aplica restrições de modelo. Aplique restrições de modelo para garantir que os usuários finais possam usar produtos sem violar os requisitos de conformidade da sua organização. Você aplica restrições de modelo a um produto em um AWS Service Catalog portfólio. Um portfólio deve conter um ou mais produtos para que você possa definir restrições de modelo.

Uma restrição de modelo consiste em uma ou mais regras que restringem os valores permitidos para parâmetros definidos no modelo subjacente CloudFormation do produto. Os parâmetros em um modelo do CloudFormation definem o conjunto de valores que os usuários podem especificar ao criar uma pilha. Por exemplo, um parâmetro pode definir os vários tipos de instância que os usuários podem escolher ao iniciar uma pilha que inclui EC2 instâncias.

Se os valores do conjunto de parâmetros em um modelo forem muito amplos para o público-alvo de seu portfólio, você poderá definir restrições de modelo para limitar os valores que os usuários podem escolher ao lançar um produto. Por exemplo, se os parâmetros do modelo incluírem tipos de EC2 instância muito grandes para usuários que devem usar somente tipos de instância pequenos (como `t2.micro` ou`t2.small`), você poderá adicionar uma restrição de modelo para limitar os tipos de instância que os usuários finais podem escolher. Para obter mais informações sobre os parâmetros do CloudFormation modelo, consulte [Parâmetros](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) no *Guia CloudFormation do usuário*.

As restrições de modelo estão vinculadas em um portfólio. Se você aplicar restrições de modelo a um produto em um portfólio e incluir o produto em outro portfólio, as restrições não se aplicarão ao produto no segundo portfólio.

Se você aplicar uma restrição de modelo a um produto que já foi compartilhado com usuários, a restrição ficará ativa imediatamente para todos os lançamentos de produtos subsequentes e para todas as versões do produto no portfólio.

Você define as regras de restrição do modelo usando um editor de regras ou escrevendo as regras como texto JSON no console do AWS Service Catalog administrador. Para obter mais informações sobre regras, incluindo sintaxe e exemplos, consulte [Regras de restrições de modelo](reference-template_constraint_rules.md).

Para testar uma restrição antes de liberá-lo aos usuários, crie um portfólio de teste que contenha os mesmos produtos e teste as restrições com esse portfólio.

**Para aplicar restrições de modelo a um produto**

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Na página **Portfólios**, escolha o portfólio que contém o produto ao qual você deseja aplicar uma restrição de modelo. 

1. Expanda a seção **Restrições** e escolha **Adicionar restrições**.

1. Na janela **Selecionar produto e tipo**, para **Produto** escolha o produto para o qual você deseja definir as restrições de modelo. Em seguida, para **Tipo de restrição**, escolha **Modelo**. Escolha **Continuar**.

1. Na página **Criador de restrição de modelo**, edite as regras de restrição usando o editor JSON ou a interface do criador de regras.
   + Para editar o código JSON da regra, escolha a guia **Editor de texto da restrição**. Nessa guia, são fornecidos vários exemplos para ajudá-lo a começar.

     Para criar as regras usando a interface de um construtor de regras, escolha a guia **Criador de regra**. Nessa guia, você pode escolher qualquer parâmetro especificado no modelo para o produto, e pode especificar os valores permitidos para esse parâmetro. Dependendo do tipo de parâmetro, você especificará os valores permitidos escolhendo itens em uma lista de verificação, especificando um número ou especificando um conjunto de valores em uma lista separada por vírgulas.

     Quando acabar de reorganizar as regras, escolha **Adicionar regra**. A regra aparecerá na tabela na guia **Criador de regra**. Para revisar e editar a saída do JSON, escolha a guia **Editor de texto de restrição**.

1. Quando concluir a edição das regras de sua restrição, escolha **Enviar**. Para ver a restrição, vá para a página de detalhes do portfólio e expanda **Restrições**.

# Regras de restrições de modelo
<a name="reference-template_constraint_rules"></a>

As regras que definem as restrições do modelo em um AWS Service Catalog portfólio descrevem quando os usuários finais podem usar o modelo e quais valores eles podem especificar para os parâmetros declarados no CloudFormation modelo usado para criar o produto que estão tentando usar. As regras são úteis para evitar que os usuários finais especifiquem inadvertidamente um valor incorreto. Por exemplo, você pode adicionar uma regra para verificar se os usuários finais especificaram uma sub-rede válida em uma determinada VPC ou `m1.small` usaram tipos de instância para ambientes de teste. CloudFormation usa regras para validar os valores dos parâmetros antes de criar os recursos para o produto.

Cada regra consiste em duas propriedades: uma condição de regra (opcional) e declarações (obrigatório). A condição da regra determina quando uma regra entra em vigor. As declarações descrevem os valores que os usuários podem especificar para um determinado parâmetro. Se você não definir uma condição de regra, as declarações da regra sempre entram em vigor. Para definir uma condição e declarações de regra, você usa *funções intrínsecas específicas à regra*, que são funções que podem ser usadas apenas na seção `Rules` de um modelo. Você pode aninhar funções, mas o resultado final de uma condição de regra ou declaração deve ser verdadeiro ou falso.

Como exemplo, suponha que você declarou um parâmetro de VPC e de sub-rede na seção `Parameters`. Você pode criar uma regra que valide que uma determinada sub-rede está em uma determinada VPC. Portanto, quando um usuário especifica uma VPC CloudFormation , avalia a afirmação para verificar se o valor do parâmetro da sub-rede está nessa VPC antes de criar ou atualizar a pilha. Se o valor do parâmetro for inválido, falhe CloudFormation imediatamente na criação ou atualização da pilha. Se os usuários não especificarem uma VPC, CloudFormation não verificará o valor do parâmetro da sub-rede.

## Sintaxe
<a name="template-constraint-rules-syntax"></a>

A seção `Rules` de um modelo consiste no nome da chave `Rules`, seguido por dois-pontos. As chaves incluem todas as declarações da regra. Se você declarar várias regras, elas serão separadas por vírgulas. Para cada regra, você declara um nome lógico entre aspas seguido por uma vírgula e chaves que incluem a condição da regra e as declarações.

Uma regra pode incluir uma propriedade `RuleCondition` e deve incluir uma propriedade `Assertions`. Para cada regra, você pode definir apenas uma condição de regra. Você pode definir uma ou mais declarações, dentro da propriedade `Assertions`. Você define uma condição e declarações de regra usando funções intrínsecas específicas, conforme mostrado no seguinte pseudomodelo:

```
"Rules":{
   "Rule01":{
      "RuleCondition":{
         "Rule-specific intrinsic function"
      },
      "Assertions":[
         {
            "Assert":{
               "Rule-specific intrinsic function"
            },
            "AssertDescription":"Information about this assert"
         },
         {
            "Assert":{
               "Rule-specific intrinsic function"
            },
            "AssertDescription":"Information about this assert"
         }
      ]
   },
   "Rule02":{
      "Assertions":[
         {
            "Assert":{
               "Rule-specific intrinsic function"
            },
            "AssertDescription":"Information about this assert"
         }
      ]
   }
}
```

O pseudomodelo mostra uma seção `Rules` que contém duas regras chamadas `Rule01` e `Rule02`. A `Rule01` inclui uma condição de regra e duas declarações. Se a função na condição da regra for verdadeira, as duas funções em cada declaração serão avaliadas e aplicadas. Se a condição da regra for falsa, a regra não entrará em vigor. A `Rule02` sempre entra em vigor porque não é uma condição de regra, o que significa que a declaração é sempre avaliada e aplicada.

Para obter informações sobre funções intrínsecas específicas de regra para definir condições de regra e declarações, consulte [Funções de regra da AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html) no *Guia do usuário AWS CloudFormation *.

## Exemplo: verificar um valor de parâmetro condicionalmente
<a name="template-constraint-rules-example"></a>

As duas regras a seguir verificam o valor do parâmetro `InstanceType`. Dependendo do valor do parâmetro Environment (`test` ou `prod`), o usuário deve especificar `m1.small` ou `m1.large` para o parâmetro `InstanceType`. Os parâmetros `InstanceType` e `Environment` já devem estar declarados na seção `Parameters` do mesmo modelo.

```
"Rules" : {
  "testInstanceType" : {
    "RuleCondition" : {"Fn::Equals":[{"Ref":"Environment"}, "test"]},
    "Assertions" : [
      {
        "Assert" :  { "Fn::Contains" : [ ["m1.small"], {"Ref" : "InstanceType"} ] },
        "AssertDescription" : "For the test environment, the instance type must be m1.small"
      }
    ]
  },
  "prodInstanceType" : {
    "RuleCondition" : {"Fn::Equals":[{"Ref":"Environment"}, "prod"]},
    "Assertions" : [
      {
        "Assert" :  { "Fn::Contains" : [ ["m1.large"], {"Ref" : "InstanceType"} ] },
        "AssertDescription" : "For the prod environment, the instance type must be m1.large"
      }
    ]
  }
}
```

# AWS Service Catalog Ações de serviço
<a name="using-service-actions"></a>

**nota**  
AWS Service Catalog não oferece suporte a ações de serviço para produtos Terraform Open Source ou Terraform Cloud.

AWS Service Catalog permite que você reduza a manutenção administrativa e o treinamento do usuário final e, ao mesmo tempo, adote as medidas de conformidade e segurança. Com as ações de atendimento, o administrador pode permitir que usuários finais realizem tarefas operacionais, resolvam problemas, executem comandos aprovados ou solicitem permissões no AWS Service Catalog. Use [documentos do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html) para definir ações de atendimento. Os [AWS Systems Manager documentos](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html) fornecem acesso a ações predefinidas que implementam as AWS melhores práticas, como parada e reinicialização do Amazon EC2, e você também pode definir ações personalizadas.

Neste tutorial, você vai permitir que os usuários finais reiniciem uma instância do Amazon EC2. Adicione as permissões necessárias, defina a ação de atendimento, associe-a com um produto e teste a experiência do usuário final ao usar a ação com um produto provisionado.

## Pré-requisitos
<a name="service-actions-prerequisites"></a>

Este tutorial pressupõe que você tenha permissões totais de AWS administrador, já esteja AWS Service Catalog familiarizado e que já tenha um conjunto básico de produtos, portfólios e usuários. Se você não estiver familiarizado AWS Service Catalog, conclua a [Configuração](setup.md) e [Conceitos básicos](getstarted.md) as tarefas antes de usar este tutorial.

**Topics**
+ [Pré-requisitos](#service-actions-prerequisites)
+ [Etapa 1: Configurar permissões de usuários finais](#service-actions-configure-end-user-permissions)
+ [Etapa 2: Criar uma ação de atendimento](#service-actions-create-new-service-action)
+ [Etapa 3: Associar a ação de atendimento a uma versão do produto](#service-actions-associate-with-product-version)
+ [Etapa 4: Testar a experiência do usuário final](#service-actions-test-end-user-experience)
+ [Etapa 5: Gerenciando ações de serviço com AWS CloudFormation](#service-actions-cloudformation)
+ [Etapa 6: Solução de problemas](#service-actions-troubleshooting)

## Etapa 1: Configurar permissões de usuários finais
<a name="service-actions-configure-end-user-permissions"></a>

Os usuários finais devem ter as permissões necessárias para visualizar e executar ações de atendimento específicas. Neste exemplo, o usuário final precisa de permissão para acessar o recurso de ações AWS Service Catalog de serviço e realizar uma reinicialização do Amazon EC2.

**Para atualizar as permissões**

1. Abra o console AWS Identity and Access Management (IAM) em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No menu, localize grupos de usuários.

1. Escolha os grupos que os usuários finais usarão para acessar AWS Service Catalog os recursos. Neste exemplo, nós selecionamos o grupo de usuário final. Em sua própria implementação, escolha o grupo que é usado pelos usuários finais relevantes.

1. Na guia **Permissions (Permissões)** da página de detalhes do grupo, crie uma nova política ou edite uma existente. Neste exemplo, adicionamos permissões à política existente selecionando a política personalizada criada para as permissões AWS Service Catalog Provisionar e Encerrar do grupo.

1. Na página **Policy (Política)**, escolha**Edit Policy (Editar política)** para adicionar as permissões necessárias. Você pode usar o editor visual ou o editor JSON para alterar a política. Neste exemplo, usamos o editor JSON para adicionar as permissões. Neste tutorial, adicione as seguintes permissões à política:

------
#### [ JSON ]

****  

   ```
   {
   	"Version":"2012-10-17",		 	 	 
   	"Statement": [
   		{
   			"Sid": "Stmt1536341175150",
   			"Action": [
   				"servicecatalog:ListServiceActionsForProvisioningArtifact",
   				"servicecatalog:ExecuteprovisionedProductServiceAction",
   				"ssm:DescribeDocument",
   				"ssm:GetAutomationExecution",
   				"ssm:StartAutomationExecution",
   				"ssm:StopAutomationExecution",
   				"cloudformation:ListStackResources",
   				"ec2:DescribeInstanceStatus",
   				"ec2:StartInstances",
   				"ec2:StopInstances"
   			],
   			"Effect": "Allow",
   			"Resource": "*"
   		}
   	]
   }
   ```

------

1. Depois de editar a política, revise e aprove a alteração. Os usuários no grupo de usuários finais agora têm as permissões necessárias para reiniciar o Amazon EC2 no AWS Service Catalog.

## Etapa 2: Criar uma ação de atendimento
<a name="service-actions-create-new-service-action"></a>

Em seguida, crie uma ação de atendimento para reiniciar as instâncias do Amazon EC2.

1. Abra o AWS Service Catalog console em [https://console.aws.amazon.com/sc/](https://console.aws.amazon.com/servicecatalog/).

1. No menu, escolha **Service actions (Ações de atendimento)**.

1. Na página **Ações de atendimento**, escolha **Criar ação**.

1. Na página **Criar ação**, escolha um AWS Systems Manager documento para definir a ação do serviço. A ação Reiniciar instância do Amazon EC2 é definida por um documento do AWS Systems Manager . Então, mantemos a opção padrão no menu suspenso, **Documentos da Amazon**.

1. Pesquise e escolha a ação **AWS-Reiniciar EC2 instância**.

1. Forneça um nome e uma descrição para a ação que faça sentido para o ambiente e a equipe. O usuário final verá esta descrição. Portanto, escolha algo que ajude a entender o que ela faz.

1. Em **Configuração de parâmetro e destino**, escolha o parâmetro de documento SSM que será o destino da ação (por exemplo, o **ID da instância**) e escolha o destino do parâmetro. Selecione **Add parameter (Adicionar parâmetro)** para adicionar outros parâmetros. 

1. Em **Permissions (Permissões)**, escolha uma função. Estamos usando permissões padrão para este exemplo. Outras configurações de permissões são possíveis e são definidas nesta página.

1. Após revisar a configuração, escolha **Create action (Criar ação)**.

1. Na próxima página, uma confirmação é exibida quando a ação é criada e está pronta para uso.

## Etapa 3: Associar a ação de atendimento a uma versão do produto
<a name="service-actions-associate-with-product-version"></a>

Depois de definir uma ação, você deve associar um produto a ela.

1. Na página **Ações do serviço**, escolha **AWS-Reiniciar** eEC2instance, em seguida, escolha **Associar ação**. 

1. Na página **Associate action (Associar ação)**, escolha o produto no qual você quer que os usuários finais realizem as ações de atendimento. Neste exemplo, escolhemos o **Linux Desktop**.

1. Selecione a versão do produto. Você pode usar a caixa de seleção superior para selecionar todas as versões.

1. Escolha **Associate action (Associar ação)**.

1. Uma mensagem de confirmação é exibida na próxima página.

Você acabou de criar a ação de atendimento no AWS Service Catalog. A próxima etapa deste tutorial é usar a ação de atendimento como usuário final.

## Etapa 4: Testar a experiência do usuário final
<a name="service-actions-test-end-user-experience"></a>

Os usuários finais podem executar ações de atendimento em produtos provisionados. Para os fins deste tutorial, o usuário final deve ter pelo menos um produto provisionado. O produto provisionado deve ser lançado a partir da versão de produto que você associou à ação de atendimento na etapa anterior.

**Como acessar a ação de atendimento como usuário final**

1. Faça login no AWS Service Catalog console como usuário final. 

1. No AWS Service Catalog painel, no painel de navegação, escolha Lista de produtos **provisionados.** A lista mostra os produtos que são provisionados para a conta do usuário final.

1. Na página **Provisioned products list (Lista de produtos provisionados)**, escolha a instância provisionada.

1. Na página de **detalhes do produto provisionado**, escolha **Ações** no canto superior direito e escolha a ação **AWS EC2instance-Reiniciar**. 

1. Confirme que você quer executar a ação personalizada. Você receberá a confirmação de que a ação foi enviada.

## Etapa 5: Gerenciando ações de serviço com AWS CloudFormation
<a name="service-actions-cloudformation"></a>

 Você pode criar ações de serviço e suas associações com AWS CloudFormation recursos. Para mais informações, consulte o seguinte no *Guia do usuário do AWS CloudFormation *: 
+  [AWS::ServiceCatalog::CloudFormationProduct ProvisioningArtifactProperties](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html) 
+  [AWS::ServiceCatalog::ServiceActionAssociação](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html) 

**nota**  
 Se você gerencia associações de ações de serviço com CloudFormation recursos, não adicione nem remova ações de serviço por meio do AWS Command Line Interface ou Console de gerenciamento da AWS. Quando você executa uma atualização de pilha, todas as alterações nas ações de serviço feitas fora da CloudFormation são substituídas. 

## Etapa 6: Solução de problemas
<a name="service-actions-troubleshooting"></a>

Se a execução da ação de serviço falhar, será possível encontrar a mensagem de erro na seção **Outputs (Saídas)** do evento de execução da ação de serviço na página **Provisioned product (Produto provisionado)**. Veja a seguir as explicações para as mensagens de erro comuns que podem ser encontradas.

**nota**  
O texto exato da mensagem de erro está sujeito a alterações, portanto, você deve evitar usá-los em qualquer tipo de processo automatizado.

 **Internal failure (Falha interna)**

AWS Service Catalog sofreu um erro interno. Tente novamente mais tarde. Se o erro persistir, entre em contato com o suporte ao cliente. 

 **Ocorreu um erro (ThrottlingException) ao chamar a StartAutomationExecution operação**

A execução da ação de serviço foi limitada pelo serviço de back-end, como o SSM. 

 **Access denied while assuming the role (Acesso negado ao assumir a função)**

 AWS Service Catalog não conseguiu assumir a função especificada na definição da ação de serviço. Certifique-se de que a entidade principal *servicecatalog.amazonaws.com* ou uma entidade principal regional, como *servicecatalog.us-east-1.amazonaws.com*, esteja na lista de permissões na política de confiança do perfil. 

 **Ocorreu um erro (AccessDeniedException) ao chamar a StartAutomationExecution operação: O usuário não está autorizado a executar: ssm: StartAutomationExecution no recurso.**

A função especificada na definição da ação de serviço não tem permissões para invocar ssm:. StartAutomationExecution Verifique se o perfil tem as permissões do SSM apropriadas. 

 **Não é possível encontrar nenhum recurso com o tipo *TargetType* no produto provisionado**

O produto provisionado não contém nenhum recurso que corresponda ao tipo de destino especificado no documento SSM, como AWS: :EC2: :Instance. Verifique o produto provisionado para esses recursos ou verifique se o documento está correto. 

 **Document with that name does not exist (Não existe um documento com esse nome)**

O documento especificado na definição da ação de serviço não existe. 

 **Failed to describe SSM Automation document (Falha ao descrever o documento de automação do SSM)**

AWS Service Catalog encontrou uma exceção desconhecida do SSM ao tentar descrever o documento especificado. 

 **Failed to retrieve credentials for role (Falha ao recuperar credenciais para a função)**

AWS Service Catalog encontrou um erro desconhecido ao assumir a função especificada. 

 **O parâmetro tem o valor *InvalidValue* "" não encontrado em *\$1ValidValue1\$1, \$1ValidValue2\$1***

 O valor do parâmetro passado para o SSM não está na lista de valores permitidos para o documento. Verifique se os parâmetros fornecidos são válidos e tente novamente. 

 **Erro de tipo de parâmetro O valor fornecido para não *ParameterName* é uma string válida.**

O valor do parâmetro passado para o SSM não é válido para o tipo no documento. 

 **Parameter is not defined in service action definition (O parâmetro não está definido na definição da ação do serviço)**

Foi passado um parâmetro AWS Service Catalog que não está definido na definição da ação de serviço. É possível usar somente parâmetros definidos na definição da ação de serviço. 

 **A etapa falha quando é executing/canceling ação. *Error message.* Consulte o Guia de Solução de Problemas do Serviço de Automação para obter mais detalhes sobre o diagnóstico.**

 Uma etapa do documento de automação do SSM falhou. Consulte o erro na mensagem para solucionar mais problemas. 

 **Os valores a seguir para o parâmetro não são permitidos porque não estão no produto provisionado: *InvalidResourceId***

O usuário solicitou ação em um recurso que não está no produto provisionado. 

 **TargetType não definido para o documento de automação SSM**

As ações de serviço exigem que os documentos de automação do SSM tenham um TargetType definido. Verifique seu documento de automação do SSM. 

# Adicionando AWS Marketplace produtos ao seu portfólio
<a name="catalogs_marketplace-products"></a>

Você pode adicionar AWS Marketplace produtos aos seus portfólios para disponibilizá-los aos seus usuários AWS Service Catalog finais.

AWS Marketplace é uma loja on-line na qual você pode encontrar, assinar e começar imediatamente a usar uma grande seleção de softwares e serviços. Os tipos de produtos incluídos AWS Marketplace incluem bancos de dados, servidores de aplicativos, ferramentas de teste, ferramentas de monitoramento, ferramentas de gerenciamento de conteúdo e software de business intelligence. AWS Marketplace está disponível em[https://aws.amazon.com/marketplace](https://aws.amazon.com/marketplace). Observe que você não pode adicionar produtos de software como serviço (SaaS) de a. AWS Marketplace AWS Service Catalog

Você distribui um AWS Marketplace produto aos usuários AWS Service Catalog finais copiando o produto com o CloudFormation AWS Service Catalog modelo e adicionando o produto a um portfólio.

**nota**  
AWS Service Catalog não oferece suporte à distribuição de AWS Marketplace produtos para usuários AWS Service Catalog finais usando um modelo de produto Terraform Open Source ou Terraform Cloud. 

AWS Marketplace suporta AWS Service Catalog diretamente ou assine e adicione produtos usando a opção manual. Recomendamos adicionar produtos usando a funcionalidade projetada especificamente para AWS Service Catalog. 

## Gerenciando AWS Marketplace produtos usando AWS Service Catalog
<a name="catalogs_marketplace-sc"></a>

Você pode adicionar seus AWS Marketplace produtos assinados diretamente AWS Service Catalog usando uma interface personalizada. Em [AWS Marketplace](https://aws.amazon.com/marketplace), escolha **Service Catalog**. Para obter mais informações, consulte [Cópia de produtos para AWS Service Catalog](https://aws.amazon.com/marketplace/help/buyer-copy-product-to-SC?ref=help_ln_sibling), na *Ajuda e perguntas frequentes do AWS Marketplace *.

## Gerenciando e adicionando AWS Marketplace produtos manualmente
<a name="catalogs_marketplace-manual"></a>

Conclua as etapas a seguir para assinar um AWS Marketplace produto, definir esse produto em um CloudFormation modelo e adicionar o modelo a um AWS Service Catalog portfólio.

**Para assinar um AWS Marketplace produto**

1. Vá para AWS Marketplace at[https://aws.amazon.com/marketplace](https://aws.amazon.com/marketplace).

1. Procure produtos ou pesquise o produto que você deseja adicionar ao seu portfólio do AWS Service Catalog . Escolha o produto para visualizar a página de detalhes do produto.

1. Escolha **Continuar** para visualizar a página de distribuição e, em seguida, a guia **Lançamento manual**.

   As informações na página de atendimento incluem os tipos de instância compatíveis do Amazon Elastic Compute Cloud (Amazon EC2), os Regiões da AWS compatíveis e o ID da Amazon Machine Image (AMI) que o produto usa para cada região. AWS Observe que algumas opções afetam o custo. Você usará essas informações para personalizar o CloudFormation modelo em etapas posteriores.

1. Escolha **Accept Terms** para se inscrever no produto.

   Depois de assinar um produto, você pode acessar as informações na página de atendimento do produto a qualquer AWS Marketplace momento, escolhendo **Seu software** e, em seguida, escolhendo o produto.

**Para definir seu AWS Marketplace produto em um CloudFormation modelo**

Para concluir as etapas a seguir, você usará um dos modelos de CloudFormation amostra como ponto de partida e personalizará o modelo para que ele represente seu AWS Marketplace produto. Para acessar os modelos de exemplo, consulte [Modelos de exemplo](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-sample-templates.html) no *Guia do usuário do AWS CloudFormation *.

1. Na página Modelos de amostra no *Guia do CloudFormation usuário*, escolha uma AWS região para seu produto. A AWS região deve ser suportada pelo seu AWS Marketplace produto. Você pode visualizar as regiões compatíveis na página de distribuição do produto no AWS Marketplace.

1. Para ver uma lista dos modelos de amostra de serviço que são apropriados para a região, escolha o link **Serviços**. 

1. Você pode usar como ponto de partida qualquer um dos exemplos que são apropriados para as suas necessidades. As etapas neste procedimento usam o modelo **da instância do Amazon EC2 em um grupo de segurança**. Para visualizar o modelo de exemplo, escolha **View** e, em seguida, salve uma cópia do modelo localmente para que você possa editá-lo. Seu arquivo local deve ter a extensão `.template`.

1. Abra o arquivo de modelo em um editor de texto.

1. Personalize a descrição na parte superior do modelo. A descrição ficará parecida com o seguinte:

   `"Description": "Launches a LAMP stack from AWS Marketplace",`

1. Personalize o parâmetro `InstanceType` para que ele inclua apenas os tipos de instância do EC2 compatíveis com o seu produto. Se o seu modelo incluir tipos de instâncias do EC2 incompatíveis, o produto não será lançado para os usuários finais.

   1. Na página de atendimento do produto em AWS Marketplace, veja os tipos de instância EC2 compatíveis na seção **Detalhes de preços**.  
![\[A seção de detalhes de preços na página de atendimento do produto AWS Marketplace mostra os tipos de instância EC2 compatíveis.\]](http://docs.aws.amazon.com/pt_br/servicecatalog/latest/adminguide/images/ec2-ondemand.png)

   1. No seu modelo, altere o tipo de instância padrão para um tipo de instância do EC2 compatível de sua escolha.

   1. Edite a lista `AllowedValues` para que ela inclua apenas os tipos de instâncias do EC2 compatíveis com o seu produto.

   1. Remova os tipos de instância do EC2 que você não deseja que seus usuários finais usem ao lançar o produto pela lista `AllowedValues`.

   Ao finalizar a edição do parâmetro `InstanceType`, ele pode ser semelhante ao exemplo a seguir:

   ```
       "InstanceType" : {
         "Description" : "EC2 instance type",
         "Type" : "String",
         "Default" : "m1.small",
         "AllowedValues" : [ "t1.micro", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "c1.medium", "c1.xlarge", "c3.large", "c3.large", "c3.xlarge", "c3.xlarge", "c3.4xlarge", "c3.8xlarge" ],
         "ConstraintDescription" : "Must be a valid EC2 instance type."
       },
   ```

1. Na seção `Mappings` do seu modelo, edite os mapeamentos `AWSInstanceType2Arch` de modo que apenas os tipos de instâncias do EC2 e arquiteturas compatíveis sejam incluídos.

   1. Para editar a lista de mapeamentos, remova todos os tipos de instâncias do EC2 que não estão incluídos na lista `AllowedValues` referente ao parâmetro `InstanceType`.

   1. Edite o valor `Arch` de cada tipo de instância do EC2 para que seja o tipo de arquitetura compatível com o seu produto. Os valores válidos são `PV64`, `HVM64` e `HVMG2`. Para saber qual arquitetura é compatível com seu produto, consulte a página de detalhes do produto no AWS Marketplace. Para saber quais arquiteturas são compatíveis com as famílias de instâncias do EC2, consulte [Matriz de tipo de instância do Amazon Linux AMI](https://aws.amazon.com/amazon-linux-ami/instance-type-matrix/).

   Depois que você terminar de editar os mapeamentos `AWSInstanceType2Arch`, a aparência poderá ser semelhante ao exemplo a seguir:

   ```
       "AWSInstanceType2Arch" : {
         "t1.micro"    : { "Arch" : "PV64"  },
         "m1.small"    : { "Arch" : "PV64"  },
         "m1.medium"   : { "Arch" : "PV64"  },
         "m1.large"    : { "Arch" : "PV64"  },
         "m1.xlarge"   : { "Arch" : "PV64"  },
         "m2.xlarge"   : { "Arch" : "PV64"  },
         "m2.2xlarge"  : { "Arch" : "PV64"  },
         "m2.4xlarge"  : { "Arch" : "PV64"  },
         "c1.medium"   : { "Arch" : "PV64"  },
         "c1.xlarge"   : { "Arch" : "PV64"  },
         "c3.large"    : { "Arch" : "PV64"  },
         "c3.xlarge"   : { "Arch" : "PV64"  },
         "c3.2xlarge"  : { "Arch" : "PV64"  },
         "c3.4xlarge"  : { "Arch" : "PV64"  },
         "c3.8xlarge"  : { "Arch" : "PV64"  }
       }
   ,
   ```

1. Na `Mappings` seção do seu modelo, edite os `AWSRegionArch2AMI` mapeamentos para associar cada AWS região à arquitetura e à ID da AMI correspondentes ao seu produto.

   1. Na página de atendimento do produto em AWS Marketplace, visualize a ID da AMI que seu produto usa para cada AWS região, como no exemplo a seguir:

         
![\[Uma tabela de regiões e AMI IDs na página de atendimento do produto em AWS Marketplace.\]](http://docs.aws.amazon.com/pt_br/servicecatalog/latest/adminguide/images/sc-marketplace_ami_ids-console.png)

   1. Em seu modelo, remova os mapeamentos de todas as AWS regiões que você não suporta.

   1. Edite o mapeamento de cada região para remover as arquiteturas não suportadas (`PV64``HVM64`, ou`HVMG2`) e a AMI associada. IDs

   1. Para cada mapeamento de AWS região e arquitetura restante, especifique o ID da AMI correspondente na página de detalhes do produto em AWS Marketplace.

   Depois que você terminar de editar os mapeamentos `AWSRegionArch2AMI`, seu código poderá ser semelhante ao exemplo a seguir:

   ```
       "AWSRegionArch2AMI" : {
         "us-east-1"        : {"PV64" : "ami-nnnnnnnn"},
         "us-west-2"        : {"PV64" : "ami-nnnnnnnn"},
         "us-west-1"        : {"PV64" : "ami-nnnnnnnn"},
         "eu-west-1"        : {"PV64" : "ami-nnnnnnnn"},
         "eu-central-1"     : {"PV64" : "ami-nnnnnnnn"},
         "ap-northeast-1"   : {"PV64" : "ami-nnnnnnnn"},
         "ap-southeast-1"   : {"PV64" : "ami-nnnnnnnn"},
         "ap-southeast-2"   : {"PV64" : "ami-nnnnnnnn"},
         "sa-east-1"        : {"PV64" : "ami-nnnnnnnn"}
       }
   ```

   Agora você pode usar o modelo para adicionar o produto a um AWS Service Catalog portfólio. Se você quiser fazer alterações adicionais, consulte [Como trabalhar com modelos do CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html) para saber mais sobre modelos. 

**Para adicionar seu AWS Marketplace produto a um AWS Service Catalog portfólio**

1. Faça login no Console de gerenciamento da AWS e navegue até o console AWS Service Catalog do administrador em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1. Na página **Portfólios**, escolha o portfólio ao qual você deseja adicionar seu produto do AWS Marketplace .

1. Na página de detalhes do portfólio, escolha **Fazer upload de produto novo**.

1. Digite os detalhes do produto e suporte solicitados.

1. Na página **Version details**, escolha **Upload a template file (Atualizar um arquivo de modelo)**, escolha **Browse (Buscar)**, depois selecione seu arquivo de modelo.

1. Digite um título e a descrição da versão.

1. Escolha **Próximo**.

1. Na página **Revisar**, verifique se o resumo está correto e, em seguida, escolha **Confirmar e fazer upload**. O produto é adicionado ao seu portfólio. Ele agora está disponível para usuários finais que têm acesso ao portfólio.

# Usando CloudFormation StackSets
<a name="using-stacksets"></a>

**nota**  
AutoTags atualmente não são compatíveis com CloudFormation StackSets. 

Você pode usar CloudFormation StackSets para lançar AWS Service Catalog produtos em várias Regiões da AWS contas. Você pode especificar a ordem na qual os produtos são implantados sequencialmente em Regiões da AWS. Entre contas, os produtos são implantados em paralelo. Ao lançar, os usuários podem especificar a tolerância a falhas e o número máximo de contas para a implantação em paralelo. Para obter mais informações, consulte [Trabalhando com CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).

## Conjunto de pilhas vs. instâncias da pilha
<a name="stacksets-vs-stack-instances"></a>

Um *conjunto de pilhas* permite criar pilhas em AWS contas em todas AWS as regiões usando um único CloudFormation modelo.

Uma *instância de pilha* se refere a uma pilha em uma conta de destino dentro de uma região da AWS e está associada a apenas um conjunto de pilhas.

Para obter mais informações, consulte [Conceitos do StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html).

## Restrições do conjunto de pilhas
<a name="stackset-constraints"></a>

Em AWS Service Catalog, você pode usar as restrições do conjunto de pilhas para configurar as opções de implantação do produto.

 AWS Service Catalog suporta restrições de conjunto de pilhas em dois produtos AWS GovCloud (US) Regions: AWS GovCloud (Oeste dos EUA) e AWS GovCloud (Leste dos EUA).

Para mais informações, consulte [Restrições do conjunto de pilhas do AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/constraints-stackset.html). 

# Gerenciar orçamentos
<a name="catalogs_budgets"></a>

Você pode usar o AWS Budgets para monitorar seus custos e uso de serviços dentro de. AWS Service Catalog Você pode associar orçamentos a AWS Service Catalog produtos e portfólios.

**nota**  
AWS Service Catalog não oferece suporte a orçamentos para produtos Terraform Open Source. 

AWS Os orçamentos permitem que você defina orçamentos personalizados que alertam você quando seus custos ou uso excedem (ou se prevê que excedam) o valor orçado. Informações sobre AWS orçamentos estão disponíveis em. [https://aws.amazon.com/aws-cost-management/aws-budgets](https://aws.amazon.com/aws-cost-management/aws-budgets)

**Topics**
+ [Pré-requisitos](#budgets-setup)
+ [Como criar um orçamento](#budgets-create)
+ [Associar um orçamento](#budgets-associate)
+ [Visualizar um orçamento](#budgets-view)
+ [Desassociar um orçamento](#budgets-disassociate)

## Pré-requisitos
<a name="budgets-setup"></a>

Antes de usar o AWS Budgets, você precisa ativar as tags de alocação de custos no console. Gerenciamento de Faturamento e Custos da AWS Para obter mais informações, consulte [Ativar tags de alocação de custos definidos pelo usuário](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html) no *Guia do usuário do Gerenciamento de Faturamento e Custos da AWS *. 

**nota**  
As tags levam até 24 horas para serem ativadas.

Você também precisa habilitar o acesso do usuário ao Gerenciamento de Faturamento e Custos da AWS console para qualquer usuário ou grupo que usará o recurso Orçamentos. É possível fazer isso criando uma nova política para seus usuários.

Para permitir que os usuários do criem orçamentos, também é necessário permitir que os usuários visualizem informações de faturamento. Se quiser usar notificações do Amazon SNS, será possível fornecer aos usuários a capacidade de criar notificações do Amazon SNS notifications, conforme mostrado no exemplo de política abaixo.

**Como criar a política de orçamentos**

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Políticas**. 

1. No painel de conteúdo, escolha **Criar política**. 

1. Escolha a guia **JSON** e copie o texto do documento de política JSON a seguir. Cole este texto na caixa de texto do **JSON**. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Stmt1435216493000",
               "Effect": "Allow",
               "Action": [
                   "aws-portal:ViewBilling",
                   "aws-portal:ModifyBilling",
                   "budgets:ViewBudget",
                   "budgets:ModifyBudget"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Sid": "Stmt1435216552000",
               "Effect": "Allow",
               "Action": [
                   "sns:*"
               ],
               "Resource": [
                   "arn:aws:sns:us-east-1:123456789012:*"
               ]
           }
       ]
   }
   ```

------

1. Ao concluir, selecione **Revisar política**. O Validador de política indica se há qualquer erro de sintaxe.

1. Na página **Review (Revisar)**, atribua um nome à sua política. Analise o **Resumo** da política para ver as permissões concedidas pela sua política e, em seguida, escolha **Criar política** para salvar seu trabalho. 

   A nova política é exibida na lista de políticas gerenciadas e está pronta para ser anexada a seus usuários e grupos. Para obter mais informações, consulte [Criar e anexar uma política gerenciada pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_managed-policies.html#step2-attach-policy) no *Guia do usuário do AWS Identity and Access Management *.

## Como criar um orçamento
<a name="budgets-create"></a>

 No console do AWS Service Catalog administrador, as páginas **Lista de produtos** e **Portfólios** listam informações sobre produtos e portfólios existentes e permitem que você execute ações sobre eles. Para criar um orçamento, primeiro decida a qual produto ou portfólio você deseja associar o orçamento. 

**Para criar um orçamento**

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1.  Escolha **Lista de produtos** ou **Portfólios**. 

1.  Selecione o produto ou portfólio ao qual você deseja adicionar um orçamento. 

1.  Abra o menu **Ações** e escolha **Criar orçamento**. 

1.  Na página **Budget creation (Criação de orçamento)**, associe um tipo de tag ao seu orçamento. 

    Existem dois tipos de tags: AutoTags TagOptions e. AutoTags identificar o portfólio, o produto e o usuário que lançou um produto. AWS Service Catalog aplica essas tags automaticamente aos recursos provisionados. A TagOption é um par de valores-chave definido pelo administrador que é gerenciado em. AWS Service Catalog

    Para que os gastos que ocorrem em um portfólio ou produto reflitam no orçamento associado, eles devem ter a mesma tag. Observe que uma chave de tag que está sendo usada pela primeira vez pode levar 24 horas para ser ativada. Para obter mais informações, consulte [Pré-requisitos](#budgets-setup).

1.  Escolha **Criar em AWS Budgets**. Você será direcionado para a página **Defina seu orçamento**. Continue a configuração do orçamento seguindo as etapas em [Criar um orçamento](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-create.html). 

**nota**  
 Depois de criar um orçamento, você deve associá-lo ao produto ou portfólio. 

## Associar um orçamento
<a name="budgets-associate"></a>

 Cada portfólio ou produto pode ter um orçamento associado a ele. Cada orçamento pode ser associado a vários portfólios e produtos. 

 Ao associar um orçamento a um produto ou portfólio, será possível exibir informações sobre o orçamento na página de detalhes desse produto ou portfólio. Para que os gastos que ocorrem no produto ou portfólio sejam refletidos no orçamento, é necessário associar as mesmas tags no orçamento e no produto ou portfólio. 

**nota**  
 Se você excluir um orçamento de AWS Budgets, as associações existentes com AWS Service Catalog produtos e portfólios ainda existirão. AWS Service Catalog não conseguirá exibir nenhuma informação sobre o orçamento excluído. 

**Como associar um orçamento**

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1.  Escolha **Lista de produtos** ou **Portfólios**. 

1.  Selecione o produto ou portfólio ao qual você deseja associar um orçamento. 

1.  Abra o menu **Ações**, e, em seguida, escolha **Associar orçamento**. 

1.  Na página **Associação de orçamento**, selecione um orçamento existente e, em seguida, **Continuar**. 

1.  A tabela **produtos** ou **portfólios** agora incluirá dados para o orçamento que você acabou de adicionar. 

## Visualizar um orçamento
<a name="budgets-view"></a>

 Se um orçamento estiver associado a um produto, será possível visualizar informações sobre o orçamento na página **Detalhes do produto** e **Lista de produtos**. Se um orçamento estiver associado a um portfólio, será possível visualizar informações sobre o orçamento nas páginas **Portfólios** e **Detalhes do portfólio**. 

 As páginas **Portfólios** e **Lista de produtos** exibem informações de orçamento para recursos existentes. É possível ver colunas exibindo **Current vs. budget (Atual versus orçamento)** e **Forecast vs. budget (Previsão versus orçamento)**. 

 Ao escolher um produto ou portfólio, você é direcionado para uma página de detalhes. Essas páginas **Detalhes do portfólio** e **Detalhes do produto** têm uma seção com informações detalhadas sobre o orçamento associado. É possível ver o valor orçado, o gasto atual e o gasto previsto. Você também tem a opção de visualizar detalhes do orçamento e editar o orçamento. 

## Desassociar um orçamento
<a name="budgets-disassociate"></a>

 É possível desassociar um orçamento de um portfólio ou produto. 

**nota**  
 Se você excluir um orçamento dos AWS Orçamentos, as associações existentes com AWS Service Catalog produtos e portfólios ainda existirão. AWS Service Catalog não conseguirá exibir nenhuma informação sobre o orçamento excluído. 

**Como desassociar um orçamento**

1. Abra o console do Service Catalog em [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

1.  Escolha **Lista de produtos** ou **Portfólios**. 

1.  Selecione o produto ou portfólio do qual você deseja desassociar um orçamento. 

1.  Escolha **Ações**. No menu suspenso, escolha **Desassociar orçamento**. Um alerta de confirmação é exibido. 

1.  Depois de confirmar que deseja desassociar o orçamento do produto ou portfólio, escolha **Confirmar**. 