Compartilhar documentos do Systems Manager - AWS Systems Manager

Compartilhar documentos do Systems Manager

É possível compartilhar documentos do AWS Systems Manager (SSM) de forma privada ou pública com contas na mesma região da Região da AWS. Para compartilhar um documento específico, modifique as permissões do documento e permita que pessoas específicas acessem o mesmo de acordo com o ID da Conta da AWS. Para compartilhar um documento SSM publicamente, modifique as permissões do documento e especifique All. Não é possível compartilhar os documentos de forma pública e privada simultaneamente.

Atenção

Use documentos SSM compartilhados apenas de fontes confiáveis. Ao usar qualquer documento compartilhado, revise cuidadosamente o conteúdo do documento antes de usá-lo para que você entenda como ele mudará a configuração da sua instância. Para obter mais informações sobre melhores práticas de documentos compartilhados, consulte Práticas recomendadas para documentos compartilhados do SSM.

Limitações

Ao começar a trabalhar com documentos do SSM, lembre-se das seguintes limitações.

  • Somente o proprietário pode compartilhar um documento.

  • É preciso interromper o compartilhamento de um documento antes de excluí-lo. Para obter mais informações, consulte Modificar permissões para um documento compartilhado do .

  • Você pode compartilhar um documento com um máximo de 1000 contas da Contas da AWS. Você pode solicitar um aumento desse limite no AWS Support Center. Em Limit type (Tipo de limite), escolha EC2 Systems Manager e descreva o motivo para a solicitação.

  • Você pode compartilhar publicamente um máximo de cinco documentos do . Você pode solicitar um aumento desse limite no AWS Support Center. Em Limit type (Tipo de limite), escolha EC2 Systems Manager e descreva o motivo para a solicitação.

  • Os documentos podem ser compartilhados somente com outras contas na mesma Região da AWS. O compartilhamento entre regiões não é compatível.

Importante

No Systems Manager, um documento SSM pertencente à Amazon é um documento criado e gerenciado pela própria Amazon Web Services. Os documentos pertencentes à Amazon incluem um prefixo como AWS-* no nome do documento. O proprietário do documento é considerado a Amazon, e não uma conta de usuário específica em AWS. Esses documentos estão disponíveis publicamente para uso de todos.

Para obter mais informações sobre as cotas de serviço do Systems Manager, consulte Service Quotas do AWS Systems Manager.

Práticas recomendadas para documentos compartilhados do SSM

Reveja as seguintes diretrizes antes de compartilhar ou usar um documento compartilhado.

Remover informações confidenciais

Reveja seu documento do AWS Systems Manager cuidadosamente e remova todas as informações confidenciais. Por exemplo, verifique se o documento não inclui suas credenciais da AWS. Se você compartilhar um documento com pessoas específicas, esses usuários poderão visualizar as informações no documento. Se você compartilhar um documento publicamente, qualquer pessoa poderá visualizar as informações no documento.

Bloquear compartilhamento público de documentos

Analise todos os documentos do SSM compartilhados publicamente em sua conta e confirme se você deseja continuar compartilhando-os. Para parar de compartilhar um documento com o público, é necessário modificar a configuração de permissões do documento, conforme descrito na seção Modificar permissões para um documento compartilhado do deste tópico. Ativar a configuração de bloqueio de compartilhamento público não afeta nenhum documento que você esteja compartilhando atualmente com o público. A menos que seu caso de uso exija que você compartilhe documentos com o público, recomendamos ativar a configuração de bloqueio de compartilhamento público para seus documentos do SSM na seção Preferências do console de documentos do Systems Manager. Ativar essa configuração impede o acesso indesejado aos documentos do SSM. A configuração de compartilhamento público de bloco é uma configuração de nível de conta que pode diferir para cada Região da AWS.

Restringir ações do Run Command usando uma política de confiança do IAM

Crie uma política do AWS Identity and Access Management (IAM) restritiva para os usuários que terão acesso ao documento. A política do IAM do determina quais documento do SSM um usuário pode ver no console do Amazon Elastic Compute Cloud (Amazon EC2) ou ao chamar ListDocuments usando a AWS Command Line Interface (AWS CLI) ou o AWS Tools for Windows PowerShell. A política também restringe as ações que o usuário pode realizar com o documento do . Você pode criar uma política restritiva para que um usuário só possa usar documentos específicos. Para obter mais informações, consulte Exemplos de política gerenciada pelo cliente.

Ter cuidado ao usar documentos compartilhados do

Revise o conteúdo de cada documento compartilhado com você, especialmente documentos públicos, para entender os comandos que serão executados em suas instâncias. Um documento pode ter intencionalmente ou involuntariamente repercussões negativas após sua execução. Se o documento fizer referência a uma rede externa, reveja a origem externa antes de usar o documento.

Enviar comandos usando o hash do documento

Quando você compartilha um documento, o sistema cria um hash Sha-256 e o atribui ao documento. O sistema também salva um snapshot do conteúdo do documento. Quando você envia um comando usando um documento compartilhado, pode especificar o hash no seu comando para garantir que as seguintes condições sejam verdadeiras:

  • Você está executando um comando no documento correto do Systems Manager

  • O conteúdo do documento não mudou desde que foi compartilhado com você.

Se o hash não corresponder ao documento especificado ou se o conteúdo do documento compartilhado tiver mudado, o comando retornará uma exceção InvalidDocument. Observação: o hash não pode verificar o conteúdo do documento de locais externos.

Bloquear compartilhamento público para documentos do SSM

Antes de começar, analise todos os documentos do SSM compartilhados publicamente na sua Conta da AWS e confirme se você deseja continuar compartilhando-os. Para parar de compartilhar um documento do SSM com o público, é necessário modificar a configuração de permissões do documento, conforme descrito na seção Modificar permissões para um documento compartilhado do deste tópico. Ativar a configuração de bloqueio de compartilhamento público não afeta nenhum documento do SSM que você esteja compartilhando atualmente com o público. Com a configuração de bloqueio de compartilhamento público ativada, você não poderá compartilhar nenhum documento do SSM adicional com o público.

A menos que seu caso de uso exija que você compartilhe documentos com o público, recomendamos que ative a configuração de bloqueio de compartilhamento público para os seus documentos do SSM. Ativar essa configuração impede o acesso indesejado aos documentos do SSM. A configuração de compartilhamento público de bloco é uma configuração de nível de conta que pode diferir para cada Região da AWS. Conclua as tarefas a seguir para bloquear o compartilhamento público de quaisquer documentos do SSM que você esteja compartilhando no momento.

Bloquear compartilhamento público (console)

Para bloquear o compartilhamento público de seus documentos do SSM
  1. Abra o console do AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, escolha Documents.

  3. Selecione Preferences (Preferências) e, em seguida, escolha Edit (Editar) na seção Block public sharing (Bloquear compartilhamento público).

  4. Selecione Bloquear compartilhamento público e, em seguida, selecione Salvar.

Bloquear compartilhamento público (linha de comando)

Abrir o AWS Command Line Interface (AWS CLI) ou AWS Tools for Windows PowerShell no computador local e execute o comando a seguir para bloquear o compartilhamento público de documentos SSM.

Linux & macOS
aws ssm update-service-setting \ --setting-id /ssm/documents/console/public-sharing-permission \ --setting-value Disable \ --region 'The Região da AWS you want to block public sharing in'
Windows
aws ssm update-service-setting ^ --setting-id /ssm/documents/console/public-sharing-permission ^ --setting-value Disable ^ --region "The Região da AWS you want to block public sharing in"
PowerShell
Update-SSMServiceSetting ` -SettingId /ssm/documents/console/public-sharing-permission ` -SettingValue Disable ` –Region The Região da AWS you want to block public sharing in

Confirme se o valor da configuração foi atualizado usando o comando a seguir.

Linux & macOS
aws ssm get-service-setting \ --setting-id /ssm/documents/console/public-sharing-permission \ --region The Região da AWS you blocked public sharing in
Windows
aws ssm get-service-setting ^ --setting-id /ssm/documents/console/public-sharing-permission ^ --region "The Região da AWS you blocked public sharing in"
PowerShell
Get-SSMServiceSetting ` -SettingId /ssm/documents/console/public-sharing-permission ` -Region The Região da AWS you blocked public sharing in

Restringir o acesso para bloquear o compartilhamento público com o IAM

Você pode criar políticas do AWS Identity and Access Management (IAM) que impedem os usuários de modificar a configuração de compartilhamento público de blocos. Isso impede que os usuários permitam acesso indesejado aos documentos do SSM.

Veja a seguir um exemplo de uma política do IAM que impede que os usuários atualizem a configuração de compartilhamento público de bloco. Para usar este exemplo, você deve substituir o exemplo de ID de conta da Amazon Web Services pelo seu próprio ID de conta.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:UpdateServiceSetting", "Resource": "arn:aws:ssm:*:987654321098:servicesetting/ssm/documents/console/public-sharing-permission" } ] }

Compartilhar um documento do

Você pode compartilhar documentos do AWS Systems Manager (SSM) usando o console do Systems Manager. Ao compartilhar documentos do console, é possível compartilhar somente a versão padrão do documento. Também é possível compartilhar documentos SSM de forma programática chamando a operação da API ModifyDocumentPermission usando a AWS Command Line Interface (AWS CLI), o AWS Tools for Windows PowerShell ou o AWS SDK. Antes de compartilhar um documento, obtenha os IDs das Conta da AWS das pessoas com quem deseja compartilhar. Você especificará esses IDs de conta quando compartilhar o documento.

Compartilhar um documento (console)

  1. Abra o console do AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, escolha Documents.

  3. Na lista de documentos, selecione o documento que você deseja compartilhar e escolha View details (Visualizar detalhes). Na guia Permissions, verifique se você é o proprietário do documento. Somente o proprietário de um documento pode compartilhá-lo.

  4. Escolha Editar.

  5. Para compartilhar o comando publicamente, escolha Public (Público) e depois Save (Salvar). Para compartilhar o comando de forma privada, escolha Private (Privado), insira o ID da Conta da AWS e escolha Add permission (Adicionar permissão) e Save (Salvar).

Compartilhar um documento (linha de comando)

O procedimento a seguir requer que você especifique uma Região da AWS para sua sessão de linha de comando.

  1. Abra a AWS CLI ou o AWS Tools for Windows PowerShell no computador local e execute o comando a seguir para especificar suas credenciais.

    No comando a seguir, substitua region por suas próprias informações. Para ver uma lista dos valores de região com suporte, consulte a coluna Region em Systems Manager service endpoints no Referência geral da Amazon Web Services.

    Linux & macOS
    aws config AWS Access Key ID: [your key] AWS Secret Access Key: [your key] Default region name: region Default output format [None]:
    Windows
    aws config AWS Access Key ID: [your key] AWS Secret Access Key: [your key] Default region name: region Default output format [None]:
    PowerShell
    Set-AWSCredentials –AccessKey your key –SecretKey your key Set-DefaultAWSRegion -Region region
  2. Use o seguinte comando para listar todos os documentos do disponíveis para você. A lista inclui os documentos que você criou e os documentos que foram compartilhados com você.

    Linux & macOS
    aws ssm list-documents
    Windows
    aws ssm list-documents
    PowerShell
    Get-SSMDocumentList
  3. Use o seguinte comando para obter um documento específico.

    Linux & macOS
    aws ssm get-document \ --name document name
    Windows
    aws ssm get-document ^ --name document name
    PowerShell
    Get-SSMDocument ` –Name document name
  4. Use o seguinte comando para obter uma descrição do documento.

    Linux & macOS
    aws ssm describe-document \ --name document name
    Windows
    aws ssm describe-document ^ --name document name
    PowerShell
    Get-SSMDocumentDescription ` –Name document name
  5. Use o seguinte comando para visualizar as permissões do documento.

    Linux & macOS
    aws ssm describe-document-permission \ --name document name \ --permission-type Share
    Windows
    aws ssm describe-document-permission ^ --name document name ^ --permission-type Share
    PowerShell
    Get-SSMDocumentPermission ` –Name document name ` -PermissionType Share
  6. Use o seguinte comando para modificar as permissões do documento e compartilhá-lo. Você deve ser o proprietário do documento para editar as permissões. Opcionalmente, para documentos compartilhados com IDs de Conta da AWS específicos, é possível especificar uma versão do documento que deseja compartilhar usando o parâmetro --shared-document-version. Se você não especificar a versão, o sistema compartilhará a versão Default do documento. Se você compartilhar um documento publicamente (com all), o comportamento padrão é compartilhar todas as versões do documento especificado. O exemplo de comando a seguir compartilha o documento de forma privada com uma pessoa específica com base no ID da Conta da AWS dessa pessoa.

    Linux & macOS
    aws ssm modify-document-permission \ --name document name \ --permission-type Share \ --account-ids-to-add Conta da AWS ID
    Windows
    aws ssm modify-document-permission ^ --name document name ^ --permission-type Share ^ --account-ids-to-add Conta da AWS ID
    PowerShell
    Edit-SSMDocumentPermission ` –Name document name ` -PermissionType Share ` -AccountIdsToAdd Conta da AWS ID
  7. Use o seguinte comando para compartilhar um documento publicamente.

    nota

    Se você compartilhar um documento publicamente (com all), o comportamento padrão é compartilhar todas as versões do documento especificado.

    Linux & macOS
    aws ssm modify-document-permission \ --name document name \ --permission-type Share \ --account-ids-to-add 'all'
    Windows
    aws ssm modify-document-permission ^ --name document name ^ --permission-type Share ^ --account-ids-to-add "all"
    PowerShell
    Edit-SSMDocumentPermission ` -Name document name ` -PermissionType Share ` -AccountIdsToAdd ('all')

Modificar permissões para um documento compartilhado do

Se você compartilhar um comando, os usuários poderão visualizar e usar esse comando até que você remova o acesso ao documento do AWS Systems Manager (SSM) ou exclua esse documento do SSM. No entanto, não é possível excluir um documento que esteja compartilhado. Você deve parar de compartilhá-lo primeiro e depois excluí-lo.

Parar de compartilhar um documento (console)

Parar de compartilhar um documento
  1. Abra o console do AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, escolha Documents.

  3. Na lista de documentos, selecione o documento que deseja parar de compartilhar e escolha Detalhes. Na guia Permissões, verifique se você é o proprietário do documento. Somente o proprietário de um documento pode parar de compartilhá-lo.

  4. Escolha Editar.

  5. Selecione X para excluir o ID da Conta da AWS que não deve mais ter acesso ao comando e escolha Save (Salvar).

Parar de compartilhar um documento (linha de comando)

Abra a AWS CLI ou o AWS Tools for Windows PowerShell no computador local e execute o comando a seguir para parar o compartilhamento de um comando.

Linux & macOS
aws ssm modify-document-permission \ --name document name \ --permission-type Share \ --account-ids-to-remove 'Conta da AWS ID'
Windows
aws ssm modify-document-permission ^ --name document name ^ --permission-type Share ^ --account-ids-to-remove "Conta da AWS ID"
PowerShell
Edit-SSMDocumentPermission ` -Name document name ` -PermissionType Share ` –AccountIdsToRemove Conta da AWS ID

Usar documentos compartilhados do

Quando você compartilha um documento do AWS Systems Manager, o sistema gera um nome do recurso da Amazon (ARN) e o atribui ao comando. Se você selecionar e executar um documento compartilhado do console do Systems Manager, não verá o ARN. Porém, para executar um documento SSM compartilhado usando um outro método, não o console do Systems Manager, você deve especificar o ARN completo do documento para o parâmetro de solicitação DocumentName. Você visualiza o ARN completo de um documento do SSM ao executar o comando para listar documentos.

nota

Não é necessário especificar ARNs para documentos públicos da AWS (documentos que começam com AWS-*) ou comandos de sua propriedade.

Usar um documento compartilhado do (linha de comando)

Para listar todos os documentos públicos do Systems Manager

Linux & macOS
aws ssm list-documents \ --filters Key=Owner,Values=Public
Windows
aws ssm list-documents ^ --filters Key=Owner,Values=Public
PowerShell
$filter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter $filter.Key = "Owner" $filter.Values = "Public" Get-SSMDocumentList ` -Filters @($filter)

Para listar documentos SSM privados que foram compartilhados com você

Linux & macOS
aws ssm list-documents \ --filters Key=Owner,Values=Private
Windows
aws ssm list-documents ^ --filters Key=Owner,Values=Private
PowerShell
$filter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter $filter.Key = "Owner" $filter.Values = "Private" Get-SSMDocumentList ` -Filters @($filter)

Para listar todos os documentos SSM disponíveis para você

Linux & macOS
aws ssm list-documents
Windows
aws ssm list-documents
PowerShell
Get-SSMDocumentList

Para obter informações sobre um documento SSM que foi compartilhado com você

Linux & macOS
aws ssm describe-document \ --name arn:aws:ssm:us-east-2:12345678912:document/documentName
Windows
aws ssm describe-document ^ --name arn:aws:ssm:us-east-2:12345678912:document/documentName
PowerShell
Get-SSMDocumentDescription ` –Name arn:aws:ssm:us-east-2:12345678912:document/documentName

Para executar um documento SSM compartilhado

Linux & macOS
aws ssm send-command \ --document-name arn:aws:ssm:us-east-2:12345678912:document/documentName \ --instance-ids ID
Windows
aws ssm send-command ^ --document-name arn:aws:ssm:us-east-2:12345678912:document/documentName ^ --instance-ids ID
PowerShell
Send-SSMCommand ` –DocumentName arn:aws:ssm:us-east-2:12345678912:document/documentName ` –InstanceIds ID