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

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

A menos que seu caso de uso exija que o compartilhamento público seja ativado, recomendamos que ative a configuração de bloqueio de compartilhamento público para seus documentos do Systems Manager na seção Preferences (Preferências) do console do Systems Manager.

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 SSM um usuário pode ver no console do Amazon Elastic Compute Cloud (Amazon EC2) ou chamandoListDocumentsUsar aAWS Command Line Interface(AWS CLI) ouAWS 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 ter 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

A menos que seu caso de uso exija que o compartilhamento público seja ativado, recomendamos que ative a configuração de bloqueio de compartilhamento público para oAWS Systems Managerdocumentos (MUS). 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 cadaRegião da AWS. Conclua as tarefas a seguir para bloquear o compartilhamento público de documentos do SSM.

Bloquear compartilhamento público (console)

Para bloquear o compartilhamento público de seus documentos do SSM
  1. Abra o console 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 aBloquear compartilhamento públicoe, em seguida, selecioneSave (Salvar).

Bloquear compartilhamento público (linha de comando)

Abrir oAWS Command Line Interface(AWS CLI) ouAWS Tools for Windows PowerShellNo 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 criarAWS Identity and Access Management(IAM) que restringem os usuários de modificar a configuração de compartilhamento público de bloco. 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 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. Selecione a opção 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, você pode usar o parâmetro --shared-document-version para especificar uma versão do documento que deseja compartilhar. Se você não especificar a versão, o sistema compartilhará a versão Default do documento. Este exemplo de comando compartilha o documento em particular com uma pessoa específica, com base no ID da conta 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.

    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 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. Selecione a opção 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