

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

# AWS Cloud Map namespaces
<a name="working-with-namespaces"></a>

Um namespace é uma entidade lógica usada para agrupar AWS Cloud Map os serviços de um aplicativo sob um nome comum e um nível de descoberta. Ao criar um namespace, você especifica o seguinte:
+ Um nome que você deseja que seu aplicativo use para descobrir instâncias.
+ O método pelo qual as instâncias de serviço nas quais você se registra AWS Cloud Map podem ser descobertas. Você pode decidir se seus recursos precisam ser descobertos publicamente pela Internet, de forma privada em uma nuvem privada virtual (VPC) específica ou somente por chamadas de API.

A seguir estão os conceitos gerais sobre namespaces.
+ Os namespaces são específicos do local em Região da AWS que foram criados. Para usar AWS Cloud Map em várias regiões, você precisará criar namespaces em cada região.
+ Se você criar um namespace para permitir, por exemplo, a descoberta por consultas de DNS em uma VPC, cria AWS Cloud Map automaticamente uma zona hospedada privada do Route 53. Essa zona hospedada pode ser associada a várias VPCs. Para obter mais informações, consulte [Associate VPCWith HostedZone](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html) in the *Amazon Route 53 API Reference*.

**Topics**
+ [Criação de um AWS Cloud Map namespace para agrupar serviços de aplicativos](creating-namespaces.md)
+ [Listando AWS Cloud Map namespaces](listing-namespaces.md)
+ [Excluindo um namespace AWS Cloud Map](deleting-namespaces.md)
+ [AWS Cloud Map Namespaces compartilhados](sharing-namespaces.md)

# Criação de um AWS Cloud Map namespace para agrupar serviços de aplicativos
<a name="creating-namespaces"></a>

Você pode criar um namespace para agrupar serviços para seu aplicativo com um nome amigável que permita a descoberta de recursos do aplicativo por meio de chamadas de API ou consultas de DNS.

## Opções de descoberta de instâncias
<a name="working-with-namespaces-instance-discovery"></a>

A tabela a seguir resume as diferentes opções de descoberta de instâncias AWS Cloud Map e o tipo de namespace correspondente que você pode criar, dependendo dos serviços e da configuração do seu aplicativo.


| Tipo de namespace | Método de descoberta de instâncias | Como funciona | Mais informações | 
| --- | --- | --- | --- | 
| HTTP  | Chamadas de API  | Os recursos em seu aplicativo podem descobrir outros recursos chamando somente a DiscoverInstances API. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloud-map/latest/dg/creating-namespaces.html)  | 
| DNS privado | Chamadas de API e consultas de DNS em uma VPC | Quando você cria um namespace DNS privado, AWS Cloud Map cria uma zona hospedada privada correspondente do Amazon Route 53. Os recursos em seu aplicativo podem descobrir outros recursos chamando a `DiscoverInstances` API e consultando os servidores de nomes na zona hospedada privada do Route 53 que é criada automaticamente. AWS Cloud Map  A zona hospedada criada por AWS Cloud Map tem o mesmo nome do namespace e contém registros DNS com nomes no formato. *service-name* *namespace-name*.  O resolvedor do Route 53 resolve consultas ao DNS originadas na VPC usando registros na zona hospedada privada. Se a zona hospedada privada não incluir um registro que corresponda ao nome do domínio em uma consulta ao DNS, o Route 53 responderá à consulta com `NXDOMAIN` (domínio inexistente).   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloud-map/latest/dg/creating-namespaces.html)  | 
| DNS público | API calls and public DNS queries (Chamadas à API e consultas DNS públicas) | Quando você cria um namespace DNS público, AWS Cloud Map cria uma zona hospedada pública correspondente do Amazon Route 53. Os recursos em seu aplicativo podem descobrir outros recursos chamando a `DiscoverInstances` API e consultando os servidores de nomes na zona hospedada pública do Route 53 que é criada automaticamente. AWS Cloud Map  A zona hospedada pública tem o mesmo nome do namespace e contém registros DNS com nomes no formato. *service-name* *namespace-name*.  O nome do namespace, nesse caso, deve ser um nome de domínio que você registrou.   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloud-map/latest/dg/creating-namespaces.html)  | 

## Procedimento
<a name="create-namespace-steps"></a>

Você pode seguir essas etapas para criar um namespace usando o AWS CLI, Console de gerenciamento da AWS, ou o SDK para Python.

------
#### [ Console de gerenciamento da AWS ]

1. Faça login no Console de gerenciamento da AWS e abra o AWS Cloud Map console em [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. Escolha **Create namespace (Criar namespace)**.

1. Em **Nome do namespace**, insira um nome que será usado para descobrir instâncias.
**nota**  
Os namespaces configurados para consultas públicas de DNS devem terminar com um domínio de nível superior. Por exemplo, .`.com`
É possível especificar um internationalized domain name (IDN - nome de domínio internacionalizado) se você converter o nome em Punycode primeiro. Para obter informações sobre conversores online, pesquise “conversor punycode” na Internet.  
Você também pode converter um nome de domínio internacionalizado em Punycode ao criar namespaces de forma programática. Por exemplo, se você estiver usando Java, poderá converter um valor Unicode em Punycode usando o método `toASCII` da biblioteca java.net.IDN.

1. **(Opcional) Em **Descrição do namespace**, insira as informações sobre o namespace que estarão visíveis na página **Namespaces e em Namespace** information.** Você pode usar essas informações para identificar facilmente um namespace.

1. Para a **descoberta de instâncias**, você pode escolher entre **chamadas de API**, **chamadas de API e consultas de DNS em VPCs**, e **chamadas de API e consultas de DNS público** para criar um namespace HTTP, DNS privado ou DNS público, respectivamente. Para obter mais informações, consulte [Opções de descoberta de instâncias](#working-with-namespaces-instance-discovery).

   Com base na sua seleção, siga estas etapas.
   + Se você escolher **chamadas de API e consultas de DNS em VPCs**, para **VPC**, escolha uma nuvem privada virtual (VPC) à qual você deseja associar o namespace.
   + Se você escolher **chamadas de API e consultas de DNS em VPCs ou chamadas de API e consultas** **públicas de DNS**, para **TTL**, especifique um valor numérico em segundos. O valor de vida útil (TTL) determina por quanto tempo os resolvedores de DNS armazenam em cache as informações do registro DNS de início de autoridade (SOA) da zona hospedada do Route 53 criada com seu namespace. Para obter mais informações sobre TTL, consulte [TTL (segundos) no Guia](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-shared.html#rrsets-values-common-ttl) do *desenvolvedor do Amazon Route 53*.

1. (Opcional) Em **Tags**, escolha **Adicionar tags** e especifique uma chave e um valor para marcar seu namespace. É possível especificar uma ou mais tags para adicionar ao seu namespace . As tags permitem que você categorize seus AWS recursos para que você possa gerenciá-los com mais facilidade. Para obter mais informações, consulte [Marcando seus recursos AWS Cloud Map](using-tags.md).

1. Escolha **Create namespace (Criar namespace)**. Você pode visualizar o status da operação usando [ListOperations](https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html). Para obter mais informações, consulte [ListOperations](https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html)a *Referência AWS Cloud Map da API* 

------
#### [ AWS CLI ]
+ 

  Crie um namespace com o comando para o tipo de descoberta de instância que você preferir (substitua os *red* valores pelos seus).
  + Criar um namespace HTTP usando `[create-http-namespace](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-http-namespace.html)`. As instâncias de serviço que você registra usando um namespace HTTP podem ser descobertas usando uma solicitação `DiscoverInstances`, mas não podem ser detectadas usando DNS.

    ```
    aws servicediscovery create-http-namespace --name name-of-namespace
    ```
  + Cria um namespace privado com base no DNS, que será visível apenas dentro de uma Amazon VPC especificada usando `[create-private-dns-namespace](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-private-dns-namespace.html)`. É possível descobrir instâncias que foram registradas com um namespace de DNS público utilizando uma solicitação `DiscoverInstances` ou usando o DNS

    ```
    aws servicediscovery create-private-dns-namespace --name name-of-namespace --vpc vpc-xxxxxxxxx
    ```
  + Cria um namespace público baseado em DNS, que é visível na Internet usando `[create-public-dns-namespace](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-public-dns-namespace.html)`. É possível descobrir instâncias que foram registradas com um namespace de DNS público utilizando uma solicitação `DiscoverInstances` ou usando o DNS.

    ```
    aws servicediscovery create-public-dns-namespace --name name-of-namespace
    ```

------
#### [ AWS SDK for Python (Boto3) ]

1. Caso ainda não tenha instalado `Boto3`, é possível encontrar instruções para instalação, configuração e uso do `Boto3` [aqui](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#installation).

1. Importe `Boto3` e use `servicediscovery` como seu serviço.

   ```
   import boto3
   client = boto3.client('servicediscovery')
   ```

1. 

   Crie um namespace com o comando para o tipo de descoberta de instância que você preferir (substitua os *red* valores pelos seus):
   + Criar um namespace HTTP usando `create_http_namespace()`. As instâncias de serviço que você registra usando um namespace HTTP podem ser descobertas usando uma solicitação `discover_instances()`, mas não podem ser detectadas usando DNS.

     ```
     response = client.create_http_namespace(
         Name='name-of-namespace',
     )
     # If you want to see the response
     print(response)
     ```
   + Cria um namespace privado com base no DNS, que será visível apenas dentro de uma Amazon VPC especificada usando `create_private_dns_namespace()`. É possível descobrir instâncias que foram registradas com um namespace de DNS público utilizando uma solicitação `discover_instances()` ou usando o DNS

     ```
     response = client.create_private_dns_namespace(
         Name='name-of-namespace',
         Vpc='vpc-1c56417b',
     )
     # If you want to see the response
     print(response)
     ```
   + Cria um namespace público baseado em DNS, que é visível na Internet usando `create_public_dns_namespace()`. É possível descobrir instâncias que foram registradas com um namespace de DNS público utilizando uma solicitação `discover_instances()` ou usando o DNS.

     ```
     response = client.create_public_dns_namespace(
         Name='name-of-namespace',
     )
     # If you want to see the response
     print(response)
     ```
   + Exemplo de objeto de resposta

     ```
     {
         'OperationId': 'gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd',
         'ResponseMetadata': {
             '...': '...',
         },
     }
     ```

------

## Próximas etapas
<a name="create-namespace-next-steps"></a>

Depois de criar um namespace, você pode criar serviços no namespace para agrupar recursos do aplicativo que, coletivamente, servem a uma finalidade específica em seu aplicativo. Um serviço atua como um modelo para registrar recursos do aplicativo como instâncias. Para obter mais informações sobre a criação AWS Cloud Map de serviços, consulte[Criação de um AWS Cloud Map serviço para um componente do aplicativo](creating-services.md).

# Listando AWS Cloud Map namespaces
<a name="listing-namespaces"></a>

Depois de criar namespaces, você pode ver uma lista dos namespaces que você criou seguindo estas etapas.

------
#### [ Console de gerenciamento da AWS ]

1. Faça login no Console de gerenciamento da AWS e abra o AWS Cloud Map console em [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. No painel de navegação, escolha **Namespaces para ver uma lista de namespaces**. Você pode ordenar namespaces por nome, descrição, modo de descoberta da instância, proprietário ou ID do namespace. Você também pode inserir um nome ou ID de namespace no campo de pesquisa para localizar e visualizar um namespace específico.

------
#### [ AWS CLI ]
+ Liste os namespaces com o comando `[list-namespaces](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/list-namespaces.html)`.

  ```
  aws servicediscovery list-namespaces
  ```

------
#### [ AWS SDK for Python (Boto3) ]

1. Caso ainda não tenha instalado `Boto3`, é possível encontrar instruções para instalação, configuração e uso do `Boto3` [aqui](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#installation).

1. Importe `Boto3` e use `servicediscovery` como seu serviço.

   ```
   import boto3
   client = boto3.client('servicediscovery')
   ```

1. Liste os namespaces com `list_namespaces()`.

   ```
   response = client.list_namespaces()
   # If you want to see the response
   print(response)
   ```

   Exemplo de objeto de resposta

   ```
   {
       'Namespaces': [
           {
               'Arn': 'arn:aws::servicediscovery:us-west-2:123456789012:namespace/ns-xxxxxxxxxxxxxxx',
               'CreateDate': 1585354387.357,
               'Id': 'ns-xxxxxxxxxxxxxxx',
               'Name': 'myFirstNamespace',
               'Properties': {
                   'DnsProperties': {
                       'HostedZoneId': 'Z06752353VBUDTC32S84S',
                   },
                   'HttpProperties': {
                       'HttpName': 'myFirstNamespace',
                   },
               },
               'Type': 'DNS_PRIVATE',
           },
           {
               'Arn': 'arn:aws::servicediscovery:us-west-2:123456789012:namespace/ns-xxxxxxxxxxxxxxx',
               'CreateDate': 1586468974.698,
               'Description': 'My second namespace',
               'Id': 'ns-xxxxxxxxxxxxxxx',
               'Name': 'mySecondNamespace.com',
               'Properties': {
                   'DnsProperties': {
                   },
                   'HttpProperties': {
                       'HttpName': 'mySecondNamespace.com',
                   },
               },
               'Type': 'HTTP',
           },
           {
               'Arn': 'arn:aws::servicediscovery:us-west-2:123456789012:namespace/ns-xxxxxxxxxxxxxxx',
               'CreateDate': 1587055896.798,
               'Id': 'ns-xxxxxxxxxxxxxxx',
               'Name': 'myThirdNamespace.com',
               'Properties': {
                   'DnsProperties': {
                       'HostedZoneId': 'Z09983722P0QME1B3KC8I',
                   },
                   'HttpProperties': {
                       'HttpName': 'myThirdNamespace.com',
                   },
               },
               'Type': 'DNS_PRIVATE',
           },
       ],
       'ResponseMetadata': {
           '...': '...',
       },
   }
   ```

------

# Excluindo um namespace AWS Cloud Map
<a name="deleting-namespaces"></a>

Depois de terminar de usar um namespace, você pode excluí-lo. Ao excluir um namespace, você não poderá mais usá-lo para registrar ou descobrir instâncias de serviço.

**nota**  
 Quando você exclui um namespace DNS, AWS Cloud Map exclui a zona hospedada correspondente do Amazon Route 53 criada durante a criação do namespace.

Antes de excluir um namespace, você deve cancelar o registro de todas as instâncias de serviço e, em seguida, excluir todos os serviços que foram criados no namespace. Para obter mais informações, consulte [Cancelando o registro de uma instância de serviço AWS Cloud Map](deregistering-instances.md) e [Excluindo um serviço AWS Cloud Map](deleting-services.md).

Depois de cancelar o registro de instâncias e excluir serviços que foram criados em um namespace, siga estas etapas para excluir o namespace.

------
#### [ Console de gerenciamento da AWS ]

1. Faça login no Console de gerenciamento da AWS e abra o AWS Cloud Map console em [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. No painel de navegação, escolha **Namespaces**.

1. **Selecione o namespace que você deseja excluir e escolha Excluir.**

1. Confirme que você deseja excluir o serviço escolhendo **Excluir** novamente.

------
#### [ AWS CLI ]
+ Exclua um namespace com o `[delete-namespace](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/delete-namespace.html)` comando (substitua o *red* valor pelo seu). Se o namespace ainda contiver um ou mais serviços, a solicitação falhará.

  ```
  aws servicediscovery delete-namespace --id ns-xxxxxxxxxxx
  ```

------
#### [ AWS SDK for Python (Boto3) ]

1. Caso ainda não tenha instalado `Boto3`, é possível encontrar instruções para instalação, configuração e uso do `Boto3` [aqui](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#installation).

1. Importe `Boto3` e use `servicediscovery` como seu serviço.

   ```
   import boto3
   client = boto3.client('servicediscovery')
   ```

1. Exclua um namespace com `delete_namespace()` (substitua o *red* valor pelo seu). Se o namespace ainda contiver um ou mais serviços, a solicitação falhará.

   ```
   response = client.delete_namespace(
       Id='ns-xxxxxxxxxxx',
   )
   # If you want to see the response
   print(response)
   ```

   Exemplo de objeto de resposta

   ```
   {
       'OperationId': 'gv4g5meo7ndmeh4fqskygvk23d2fijwa-k98y6drk',
       'ResponseMetadata': {
           '...': '...',
       },
   }
   ```

------

# AWS Cloud Map Namespaces compartilhados
<a name="sharing-namespaces"></a>

AWS Cloud Map permite que os proprietários de namespaces compartilhem seus namespaces com outras pessoas Contas da AWS ou dentro de uma organização AWS Organizations para simplificar a descoberta de serviços entre contas e o registro de serviços. Isso facilita o uso de namespaces gerenciados por outras pessoas Contas da AWS ou por equipes dentro de uma AWS organização.

AWS Cloud Map integra-se com AWS Resource Access Manager (AWS RAM) para permitir o compartilhamento de recursos. AWS RAM é um serviço que permite que você compartilhe alguns AWS Cloud Map recursos com outras pessoas Contas da AWS ou por meio de AWS Organizations. Com AWS RAM, você compartilha recursos de sua propriedade criando um *compartilhamento de recursos*. Um compartilhamento de atributos especifica os atributos a serem compartilhados, e os consumidores com os quais compartilhá-los. Os consumidores podem incluir:
+ Específico Contas da AWS dentro de sua organização em AWS Organizations
+ Uma unidade organizacional dentro de sua organização em AWS Organizations
+ Toda a sua organização em AWS Organizations

Para obter mais informações sobre AWS RAM, consulte o *[Guia AWS RAM do usuário](https://docs.aws.amazon.com/ram/latest/userguide/)*.

Este tópico explica como compartilhar recursos que você possui e como usar os recursos que são compartilhados com você.

**Topics**
+ [Considerações sobre o compartilhamento de namespaces](#sharing-considerations)
+ [Compartilhando um AWS Cloud Map namespace](sharing-share.md)
+ [Pare de compartilhar um AWS Cloud Map namespace](sharing-unshare.md)
+ [Identificação de um AWS Cloud Map namespace compartilhado](sharing-identify.md)
+ [Conceder permissões para compartilhar um namespace](#granting-perms-to-share)
+ [Responsabilidades e permissões para namespaces compartilhados](#sharing-perms)
+ [Faturamento e medição](#sharing-billing)
+ [Cotas](#sharing-quotas)

## Considerações sobre o compartilhamento de namespaces
<a name="sharing-considerations"></a>
+ Para compartilhar um namespace, você deve possuí-lo em seu. Conta da AWS Isso significa que o recurso deve ser alocado ou provisionado em sua conta. Você não pode compartilhar um namespace que tenha sido compartilhado com você.
+ Para compartilhar um namespace com sua organização ou unidade organizacional em AWS Organizations, você deve habilitar o compartilhamento com. AWS Organizations Para obter mais informações, consulte [Habilitar o compartilhamento com o AWS Organizations](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs) no *Guia do usuário do AWS RAM *.
+ Para a descoberta de serviços usando consultas de DNS em um namespace DNS privado compartilhado, o proprietário do namespace precisará ligar `create-vpc-association-authorization` com o ID da zona hospedada privada associada ao namespace e à VPC do consumidor.

  ```
  aws route53 create-vpc-association-authorization --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
  ```

  O consumidor do namespace precisará chamar `associate-vpc-with-hosted-zone` com o ID da zona hospedada privada.

  ```
  aws route53 associate-vpc-with-hosted-zone --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
  ```

  Para obter mais informações, consulte [Associando uma Amazon VPC e uma zona hospedada privada que você criou com Contas da AWS](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-associate-vpcs-different-accounts.html) diferentes no Guia do desenvolvedor do *Amazon Route 53*.
+ Depois de descobrir os locais de up-to-date rede dos serviços associados a um namespace DNS compartilhado, talvez seja necessário configurar a conectividade entre VPCs para se comunicar com os serviços, caso estejam em locais diferentes. VPCs Isso pode ser feito usando uma conexão de emparelhamento da VPC. Para obter mais informações, consulte [Criar ou excluir uma conexão de emparelhamento da VPC](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html) no *Guia de emparelhamento da Amazon Virtual Private Cloud (VPC)*.
+ Você não pode usar `ListOperations` para listar operações em namespaces compartilhados que são executadas por outras contas.
+ A marcação não é compatível com namespaces compartilhados.

# Compartilhando um AWS Cloud Map namespace
<a name="sharing-share"></a>

 Ao compartilhar um AWS Cloud Map namespace que você possui com outros Contas da AWS (consumidores), você permite que essas contas descubram os locais de up-to-date rede dos serviços no namespace sem a necessidade de credenciais temporárias.

Para compartilhar um namespace, você deve adicioná-lo a um compartilhamento de recursos. Um compartilhamento de recursos é um recurso do AWS RAM que permite que você compartilhe seus recursos entre Contas da AWS. Um compartilhamento de recursos especifica os recursos a serem compartilhados, e os clientes com os quais compartilhá-los. [Para adicionar o namespace a um novo compartilhamento de recursos, primeiro você deve criar o compartilhamento de recursos usando o AWS RAM console.](https://console.aws.amazon.com/ram)

Se você faz parte de uma organização AWS Organizations e o compartilhamento dentro de sua organização está ativado, os consumidores em sua organização recebem automaticamente acesso ao namespace compartilhado. Caso contrário, os consumidores receberão um convite para participar do compartilhamento de recursos e terão acesso ao namespace compartilhado após aceitarem o convite.

Você pode compartilhar um namespace de sua propriedade usando o AWS RAM console ou o. AWS CLI

------
#### [ AWS RAM console ]

**Para compartilhar um namespace que você possui usando o console AWS RAM**  
Consulte [Criar um compartilhamento de recursos no AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html) no *Guia do usuário do AWS RAM *.

------
#### [ AWS CLI ]

**Para compartilhar um namespace que você possui usando o AWS CLI**  
Use o comando   AWS RAM [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html).

------

# Pare de compartilhar um AWS Cloud Map namespace
<a name="sharing-unshare"></a>

Quando um namespace não é mais compartilhado, o namespace e quaisquer serviços e instâncias associados a ele não podem mais ser acessados pelo consumidor. Contas da AWS Isso inclui recursos criados no namespace pelos consumidores quando eles tiveram acesso ao namespace.

Para parar de compartilhar um namespace de sua propriedade, você deve removê-lo do compartilhamento de recursos. Você pode fazer isso usando o AWS RAM console ou AWS CLI o.

------
#### [ AWS RAM console ]

**Para parar de compartilhar um namespace que você possui usando o console AWS RAM**  
Consulte [Atualização de um compartilhamento de atributos](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html) no *Guia do usuário do AWS RAM *.

------
#### [ AWS CLI ]

**Para parar de compartilhar um namespace que você possui usando o AWS CLI**  
Use o comando [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html).

------

# Identificação de um AWS Cloud Map namespace compartilhado
<a name="sharing-identify"></a>

Proprietários e consumidores podem identificar namespaces compartilhados usando o AWS Cloud Map console e. AWS CLI O proprietário do namespace pode ser identificado usando a `ResourceOwner` propriedade. O Conta da AWS que cria um serviço ou registra uma instância no namespace compartilhado pode ser identificado usando a propriedade. `CreatedByAccount`

------
#### [ AWS Cloud Map console ]

**Para identificar um namespace compartilhado usando o console AWS Cloud Map**

1. Faça login no Console de gerenciamento da AWS e abra o AWS Cloud Map console em [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. Na página **Namespaces**, em **Resource Owner, você pode encontrar o ID do proprietário** do Conta da AWS namespace.

1. Escolha o **nome de domínio** do namespace que você deseja identificar.

1. Na *namespace-name* página **Namespace:**, na seção **Informações do namespace**, em Proprietário do **recurso, você pode encontrar o ID do proprietário** do Conta da AWS namespace.

------
#### [ AWS CLI ]

Para identificar um namespace compartilhado usando o AWS CLI, use o comando [list-namespaces](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/list-namespaces.html). O comando retorna os namespaces que você possui e os namespaces que são compartilhados com você. O `ResourceOwner` campo mostra o ID da AWS conta do proprietário do namespace.

A `list-namespaces` chamada a seguir é feita por conta`111122223333`.

```
aws servicediscovery list-namespaces
```

Saída:

```
{
    "Namespaces": [
        {
            "Arn": "arn:aws:servicediscovery:us-west-2:111122223333:namespace/ns-abcdef01234567890",
            "CreateDate": 1585354387.357,
            "Id": "ns-abcdef01234567890",
            "Name": "local",
            "Properties": {
                "DnsProperties": {
                    "HostedZoneId": "Z06752353VBUDTC32S84S"
                },
                "HttpProperties": {
                    "HttpName": "local"
                 }
            },
            "Type": "DNS_PRIVATE",
            "ServiceCount": 2,
           "ResourceOwner": "111122223333"
        },
        {
            "Arn": "arn:aws:servicediscovery:us-west-2:444455556666:namespace/ns-021345abcdef6789",
            "CreateDate": 1586468974.698,
            "Description": "Shared second namespace",
            "Id": "ns-021345abcdef6789",
            "Name": "My-second-namespace",
            "Properties": {
                "DnsProperties": {},
                "HttpProperties": {
                    "HttpName": "Shared-second-namespace"
                }
            },
            "Type": "HTTP",
            "ServiceCount": 0,
            "ResourceOwner": "444455556666"
        }
    ]
}
```

Nesse cenário, o namespace `ns-abcdef01234567890` é criado e de propriedade de e o namespace `ns-021345abcdef6789` é criado `111122223333` e de propriedade de. `444455556666` O namespace `ns-021345abcdef6789` é compartilhado com conta `111122223333` por conta. `444455556666`

------

## Conceder permissões para compartilhar um namespace
<a name="granting-perms-to-share"></a>

É necessário um conjunto mínimo de permissões para que um diretor do IAM compartilhe um namespace. Recomendamos usar as políticas `AWSCloudMapFullAccess` `AWSResourceAccessManagerFullAccess` gerenciadas para garantir que seus diretores do IAM tenham as permissões necessárias para compartilhar e usar namespaces compartilhados.

Se você usa uma política personalizada do IAM, as `servicediscovery:DeleteResourcePolicy` ações `servicediscovery:PutResourcePolicy``servicediscovery:GetResourcePolicy`, e são necessárias para compartilhar namespaces. Essas são ações do IAM realizadas somente com permissão. Se um diretor do IAM não tiver essas permissões concedidas, ocorrerá um erro ao tentar compartilhar o namespace usando. AWS RAM

Para obter mais informações sobre como AWS RAM usa o IAM, consulte [Como AWS RAM usa o IAM](https://docs.aws.amazon.com/ram/latest/userguide/security-iam-policies.html) no *Guia AWS RAM do usuário*.

## Responsabilidades e permissões para namespaces compartilhados
<a name="sharing-perms"></a>

O proprietário e o consumidor do namespace podem realizar ações diferentes em um namespace compartilhado.

### Permissões para proprietários
<a name="perms-owner"></a>

O proprietário de um namespace pode realizar as seguintes ações em um namespace compartilhado:
+ Acesse serviços associados ao namespace, incluindo serviços criados por contas de consumidores e instâncias registradas nesses serviços.
+ Revogue o acesso ao namespace, incluindo o acesso a serviços criados por contas de consumidores e instâncias registradas nesses serviços.
+ Configure permissões para que outras contas registrem e cancelem o registro de instâncias em serviços criados no namespace compartilhado pelos consumidores ou pelo proprietário do namespace.
+ Exclua serviços e cancele o registro de instâncias, incluindo serviços criados e instâncias registradas por contas de consumidores.
+ Atualize ou exclua um namespace compartilhado.

### Permissões para clientes
<a name="perms-consumer"></a>

Um consumidor de namespace pode realizar as seguintes ações em um namespace compartilhado:
+ Crie e exclua serviços no namespace.
+ Registre e cancele o registro de instâncias em serviços criados no namespace.
+ Descubra instâncias registradas em serviços criados no namespace.

Um consumidor não pode atualizar ou excluir um namespace compartilhado. Depois de perder o acesso ao namespace compartilhado, as contas do consumidor também perderão o acesso aos serviços que criaram no namespace.

## Faturamento e medição
<a name="sharing-billing"></a>

Os proprietários são cobrados por todas as instâncias registradas no namespace compartilhado e por todas as verificações de saúde do Route 53 criadas quando eles registram essas instâncias. Os consumidores são cobrados por todas as instâncias registradas no namespace e por todas as verificações de saúde do Route 53 criadas ao registrar essas instâncias. Se o namespace compartilhado for um namespace DNS, o proprietário do namespace será cobrado pelos registros DNS do Route 53 que são criados quando os serviços são criados no namespace. Os proprietários são cobrados por todas `DiscoverInstances` as `DiscoverInstancesRevision` chamadas que fizerem. Os consumidores são cobrados por todas `DiscoverInstances` as `DiscoverInstancesRevision` chamadas que fizerem.

## Cotas
<a name="sharing-quotas"></a>

Os namespaces compartilhados contam somente para a cota de namespaces do proprietário do namespace por região. As instâncias registradas por um consumidor no namespace compartilhado contam para a cota de instâncias por namespace do proprietário. Se um consumidor criar um serviço em um namespace compartilhado, todas as instâncias registradas no serviço contam para as instâncias do consumidor por cota de serviço. Se um proprietário criar um serviço em um namespace compartilhado, todas as instâncias registradas no serviço contam para as instâncias do proprietário por cota de serviço.