Criar, atualizar e excluir de políticas de controle de serviço
Quando faz login na conta de gerenciamento da sua organização, você pode criar e atualizar políticas de controle de serviço (SCPs). Você cria SCPs gerando instruções que negam ou permitem o acesso a serviços e ações especificados.
A configuração padrão para trabalhar com SCPs é usar uma estratégia de "lista de bloqueios" em que todas as ações são implicitamente permitidas, exceto as ações que você deseja bloquear criando instruções que negam acesso. Com instruções de negação, você também pode especificar recursos e condições para a instrução e usar o elemento NotAction. Para instruções de permissão, você pode especificar apenas serviços e ações. Para obter mais informações sobre instruções que negam e permitem o acesso, consulte Avaliação do SCP.
Criar de uma SCP
Para criar as SCPs, você precisa de permissão para executar a seguinte ação:
- AWS Management Console
-
Para criar uma política de controle de serviço
-
Faça login no console do AWS Organizations. Você deve fazer login como um usuário do IAM, assumir uma função do IAM ou fazer login como usuário-raiz (não recomendado) na conta de gerenciamento da organização.
-
Na página Service control policies (Políticas de controle de serviço), escolha Create policy (Criar política).
-
Na página Create new service control policy (Criar nova política de controle de serviço), insira um nome de política e uma descrição da política opcional.
-
(Opcional) Adicione uma ou mais tags escolhendo Add tag (Adicionar tag) e inserindo uma chave e um valor opcional. Se deixar o valor em branco, ele é definido como uma sequência vazia, não null
. É possível anexar até 50 tags a uma política. Para obter mais informações, consulte Marcar recursos do AWS Organizations.
Na maioria das etapas a seguir, discutimos o uso dos controles no lado direito do editor JSON para construir a política, elemento por elemento. Como alternativa, você pode, a qualquer momento, simplesmente inserir texto no editor JSON no lado esquerdo da janela. Você pode digitar diretamente, ou usar copiar e colar.
-
Para criar a política, suas próximas etapas variam, dependendo de se você deseja adicionar uma instrução que nega ou permite o acesso. Para obter mais informações, consulte Avaliação do SCP. Se você usar instruções Deny
, você tem mais controle, pois pode restringir o acesso a recursos específicos, definir condições para quando as SCPs estão em vigor e usar o elemento NotAction. Para obter detalhes sobre sintaxe de, consulte Sintaxe de SCP.
Para adicionar uma instrução que nega acesso:
-
No painel direito Edit statement (Editar instrução) do editor, em Add actions (Adicionar ações), escolha um serviço da AWS.
À medida que você escolher opções à direita, o editor JSON é atualizado para mostrar a política JSON correspondente à esquerda.
-
Depois de selecionar um serviço, será aberta uma lista que contém as ações disponíveis para esse serviço. Você pode escolher All actions (Todas as ações) ou escolher uma ou mais ações individuais que você deseja negar.
O JSON à esquerda é atualizado para incluir as ações selecionadas.
Se você selecionar uma ação individual e, em seguida, voltar e também selecionar All actions (Todas as ações), a entrada esperada para servicename
/*
é adicionada ao JSON, mas as ações individuais selecionadas anteriormente são deixadas no JSON e não são removidas.
-
Se desejar adicionar ações de serviços adicionais, você pode escolher All services (Todos os serviços) na parte superior da caixa Statement (Instrução) e repetir as duas etapas anteriores, conforme necessário.
-
Especifique os recursos a serem incluídos na instrução.
-
Ao lado de Add a resource (Adicionar um recurso), escolha Add (Adicionar).
-
No diálogo Add resource (Adicionar recurso), escolha o serviço cujos recursos você deseja controlar na lista. Você pode selecionar apenas entre os serviços selecionados na etapa anterior.
-
Em Resource type (Tipo de recurso), escolha o tipo de recurso que você deseja controlar.
-
Finalmente, preencha o nome do recurso da Amazon (ARN) emResource ARN (ARN do recurso) para identificar o recurso específico ao qual você deseja controlar o acesso. Você deve substituir todos os espaços reservados que estão rodeados por chaves {}
. Você pode especificar curingas (*
) onde a sintaxe ARN desse tipo de recurso permitir. Consulte a documentação de um tipo de recurso específico para obter informações sobre onde você pode usar curingas.
-
Salve sua adição à política escolhendo Add resource (Adicionar recurso). O elemento Resource
no JSON reflete suas adições ou alterações. O elemento do recurso é necessário.
Se você desejar especificar todos os recursos para o serviço selecionado, escolha a opção All resources (Todos os recursos) na lista ou edite a instrução Resource
diretamente no JSON para ler "Resource":"*"
.
-
(Opcional) Para especificar condições que limitam quando uma instrução de política está em vigor, ao lado de Add condition (Adicionar condição), escolha Add (Adicionar).
-
Condition key (Chave de condição) – a partir da lista, você pode escolher qualquer chave de condição disponível para todos os serviços AWS (por exemplo, aws:SourceIp
) ou uma chave específica do serviço para apenas um dos serviços selecionados para esta instrução.
-
Qualifier (Qualificador) – (opcional) se você inserir vários valores para a condição (dependendo da chave de condição especificada), poderá especificar um qualificador para testar solicitações para os valores.
-
Default (Padrão) – testa um único valor na solicitação em relação ao valor da chave de condição na política. A condição retornará true se o valor da chave na solicitação corresponder ao valor na política. Se a política especificar mais de um valor, eles serão tratados como um teste "ou" e a condição retornará true se os valores da solicitação corresponderem a qualquer um dos valores de diretiva.
-
For any value in a request (Para qualquer valor de uma solicitação) – quando a solicitação pode ter vários valores, esta opção testa se pelo menos um dos valores da solicitação corresponde a pelo menos um dos valores da chave de condição na política. A condição retorna verdadeiro se qualquer um dos valores de chave na solicitação corresponder a algum dos valores da condição na política. A condição retornará "falso" se nenhuma chave corresponder ou se houver um conjunto de dados nulo.
-
For all values in a request (Para todos os valores em uma solicitação) – quando a solicitação pode ter vários valores, esta opção testa se todos os valores da solicitação correspondem ao valor da chave de condição na política. A condição retornará "verdadeiro" se cada valor de chave na solicitação corresponder a pelo menos um valor na política. Ela também retornará "verdadeiro" se não houver chaves na solicitação, ou se os valores de chave forem resolvidos para um conjunto de dados nulo, como uma string vazia.
-
Operator (Operador) – o operador especifica o tipo de comparação a ser feita. As opções apresentadas dependem do tipo de dados da chave de condição. Por exemplo, a chave de condição global aws:CurrentTime
permite que você escolha entre qualquer um dos operadores de comparação de datas, ou Null
, que você pode usar para testar se o valor está presente na solicitação.
Para qualquer operador de condição, exceto o teste Null
, é possível escolher a opção IfExists.
-
Value (Valor) – (opcional) especifique um ou mais valores para os quais você deseja testar a solicitação.
Escolha Add condition (Adicionar condição).
Para obter mais informações sobre o uso de chaves de condição, consulte Elementos de política JSON do IAM: condição no Guia do usuário do IAM.
-
(Opcional) para usar o elemento NotAction
para negar acesso a todas as ações, exceto as especificadas, substitua Action
por NotAction
no painel à esquerda, logo após o elemento "Effect":
"Deny",
. Para obter mais informações, consulte Elementos da política JSON do IAM: ação no Guia do usuário do IAM.
-
Para adicionar uma instrução que permite acesso:
-
No editor JSON à esquerda, altere a linha "Effect": "Deny"
para "Effect":
"Allow"
.
À medida que você escolher opções à direita, o editor JSON é atualizado para mostrar a política JSON correspondente à esquerda.
-
Depois de selecionar um serviço, será aberta uma lista que contém as ações disponíveis para esse serviço. Você pode escolher All actions (Todas as ações) ou escolher uma ou mais ações individuais que você deseja permitir.
O JSON à esquerda é atualizado para incluir as ações selecionadas.
Se você selecionar uma ação individual e, em seguida, voltar e também selecionar All actions (Todas as ações), a entrada esperada para servicename
/*
é adicionada ao JSON, mas as ações individuais selecionadas anteriormente são deixadas no JSON e não são removidas.
-
Se desejar adicionar ações de serviços adicionais, você pode escolher All services (Todos os serviços) na parte superior da caixa Statement (Instrução) e repetir as duas etapas anteriores, conforme necessário.
-
(Opcional) Para adicionar outra instrução à política, escolha Add Statement (Adicionar instrução) e use o editor visual para criar a próxima instrução.
-
Ao concluir a adição de instruções, escolha Create policy (Criar política) para salvar a SCP concluída.
A nova SCP aparece na lista das políticas da organização. Agora você pode anexar a SCP à raiz, a UOs ou às contas.
- AWS CLI & AWS SDKs
-
Para criar uma política de controle de serviço
Você pode usar um dos seguintes comandos para criar uma SCP:
-
AWS CLI: create-policy
O exemplo a seguir pressupõe que você tenha um arquivo chamado Deny-IAM.json
com o texto da política JSON nele. Ele usa esse arquivo para criar uma nova política de controle de serviço.
$
aws organizations create-policy \
--content file://Deny-IAM.json \
--description "Deny all IAM actions" \
--name DenyIAMSCP \
--type SERVICE_CONTROL_POLICY
{
"Policy": {
"PolicySummary": {
"Id": "p-i9j8k7l6m5",
"Arn": "arn:aws:organizations::123456789012:policy/o-aa111bb222/service_control_policy/p-i9j8k7l6m5",
"Name": "DenyIAMSCP",
"Description": "Deny all IAM actions",
"Type": "SERVICE_CONTROL_POLICY",
"AwsManaged": false
},
"Content": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Statement1\",\"Effect\":\"Deny\",\"Action\":[\"iam:*\"],\"Resource\":[\"*\"]}]}"
}
}
-
AWS SDKs: CreatePolicy
Como atualizar uma SCP
Quando faz login na conta de gerenciamento da sua organização, você pode renomear ou alterar o conteúdo de uma política. A alteração do conteúdo de uma SCP afeta imediatamente todos os usuários, grupos e funções em todas as contas anexadas.
Para atualizar uma SCP, você precisa de permissão para executar as seguintes ações:
-
organizations:UpdatePolicy
com um elemento Resource
na mesma declaração de política que inclui o ARN da política especificada (ou "*")
-
organizations:DescribePolicy
com um elemento Resource
na mesma declaração de política que inclui o ARN da política especificada (ou "*")
- AWS Management Console
-
Para atualizar uma política
-
Faça login no console do AWS Organizations. Você deve fazer login como um usuário do IAM, assumir uma função do IAM ou fazer login como usuário-raiz (não recomendado) na conta de gerenciamento da organização.
-
Na página Service control policies (Políticas de controle de serviço), escolha o nome da política que deseja atualizar.
-
Na página de detalhes da política, escolha Edit policy (Editar política).
-
Faça uma ou todas as alterações a seguir:
-
Você pode renomear a política inserindo um novo nome em Policy name (Nome da política).
-
Você pode alterar a descrição inserindo o novo texto em Policy description (Descrição da política).
-
Você pode editar o texto da política editando a política no formato JSON no painel esquerdo. Como alternativa, você pode escolher uma instrução no editor à direita e também alterar seus elementos usando os controles. Para obter mais detalhes sobre cada controle, consulte Criar um procedimento de SCP anteriormente neste tópico.
-
Ao concluir, escolha Save changes (Salvar alterações).
- AWS CLI & AWS SDKs
-
Para atualizar uma política
Você pode usar um dos seguintes comandos para atualizar uma política:
-
AWS CLI: update-policy
O exemplo a seguir renomeia uma política.
$
aws organizations update-policy \
--policy-id p-i9j8k7l6m5 \
--name "MyRenamedPolicy"
{
"Policy": {
"PolicySummary": {
"Id": "p-i9j8k7l6m5",
"Arn": "arn:aws:organizations::123456789012:policy/o-aa111bb222/service_control_policy/p-i9j8k7l6m5",
"Name": "MyRenamedPolicy",
"Description": "Blocks all IAM actions",
"Type": "SERVICE_CONTROL_POLICY",
"AwsManaged": false
},
"Content": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Statement1\",\"Effect\":\"Deny\",\"Action\":[\"iam:*\"],\"Resource\":[\"*\"]}]}"
}
}
O exemplo a seguir adiciona ou muda a descrição de uma política de controle de serviço.
$
aws organizations update-policy \
--policy-id p-i9j8k7l6m5 \
--description "My new policy description"
{
"Policy": {
"PolicySummary": {
"Id": "p-i9j8k7l6m5",
"Arn": "arn:aws:organizations::123456789012:policy/o-aa111bb222/service_control_policy/p-i9j8k7l6m5",
"Name": "MyRenamedPolicy",
"Description": "My new policy description",
"Type": "SERVICE_CONTROL_POLICY",
"AwsManaged": false
},
"Content": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Statement1\",\"Effect\":\"Deny\",\"Action\":[\"iam:*\"],\"Resource\":[\"*\"]}]}"
}
}
O exemplo a seguir altera o documento de política da SCP especificando um arquivo que contém o novo texto de política JSON.
$
aws organizations update-policy \
--policy-id p-zlfw1r64
--content file://MyNewPolicyText.json
{
"Policy": {
"PolicySummary": {
"Id": "p-i9j8k7l6m5",
"Arn": "arn:aws:organizations::123456789012:policy/o-aa111bb222/service_control_policy/p-i9j8k7l6m5",
"Name": "MyRenamedPolicy",
"Description": "My new policy description",
"Type": "SERVICE_CONTROL_POLICY",
"AwsManaged": false
},
"Content": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"AModifiedPolicy\",\"Effect\":\"Deny\",\"Action\":[\"iam:*\"],\"Resource\":[\"*\"]}]}"
}
}
-
AWS SDKs: UpdatePolicy
Para obter mais informações
Para obter mais informações sobre a criação de SCPs, consulte os seguintes tópicos:
Edição de tags anexadas a uma SCP
Quando faz login na conta de gerenciamento da sua organização, você pode adicionar ou remover as tags anexadas a uma SCP. Para obter mais informações sobre marcação, consulte Marcar recursos do AWS Organizations.
Para editar as tags anexadas a uma SCP na sua organização da AWS, você deve ter as seguintes permissões:
-
organizations:DescribeOrganization
– necessária somente ao usar o console do Organizations
-
organizations:DescribePolicy
– necessária somente ao usar o console do Organizations
-
organizations:TagResource
-
organizations:UntagResource
- AWS Management Console
-
Para editar de tags anexadas a uma SCP
-
Faça login no console do AWS Organizations. Você deve fazer login como um usuário do IAM, assumir uma função do IAM ou fazer login como usuário-raiz (não recomendado) na conta de gerenciamento da organização.
-
Na página Service control policies (Políticas controle de serviços), escolha o nome da política com as etiquetas que você deseja editar.
-
Na página de detalhes da poítica, escolha a guia Tags (Etiquetas), depois escolha Manage tags (Gerenciar etiquetas).
-
Faça uma ou todas as alterações a seguir:
-
Edite o valor de uma etiqueta inserindo um novo valor sobre o antigo. Você não pode modificar diretamente a chave da etiqueta. Para alterar uma chave, você deve excluir a etiqueta com a chave antiga e adicionar uma tag com a nova chave.
-
Remova uma tag existente escolhendo Remove (Remover).
-
Adicione um novo par de chave e valor de tag. Escolha Add tag (Adicionar tag) e insira o novo nome da chave e o valor opcional nas caixas fornecidas. Se você deixar a caixa Value (Valor) vazia, o valor é uma sequência vazia, não é null
.
-
Ao concluir, escolha Save changes (Salvar alterações).
- AWS CLI & AWS SDKs
-
Para editar de tags anexadas a uma SCP
Você pode usar um dos seguintes comandos para alterar as tags anexadas a uma SCP:
Excluir uma SCP
Quando faz login na conta de gerenciamento da sua organização, você pode excluir uma política que não seja mais necessária em sua organização.
-
Antes de excluir uma política, você deve primeiro desvinculá-la de todas as entidades anexadas.
-
Você não pode excluir nenhuma SCP gerenciada pela AWS, como a SCP denominada FullAWSAccess
.
Para excluir uma SCP, você precisa de permissão para executar a seguinte ação:
- AWS Management Console
-
Para excluir uma SCP
-
Faça login no console do AWS Organizations. Você deve fazer login como um usuário do IAM, assumir uma função do IAM ou fazer login como usuário-raiz (não recomendado) na conta de gerenciamento da organização.
-
Na página Service control policies (Políticas de controle de serviço), escolha o nome da SCP que você deseja excluir.
-
Você primeiro deve desvincular a política que deseja excluir de todas as raízes, UOs e contas. Escolha a guia Targets (Alvos), escolha o botão de opção ao lado de cada raiz, UO ou conta que é mostrada na lista Targets (Alvos) e escolha Detach (Desvincular). Na caixa de diálogo de confirmação, escolha Detach (Desvincular). Repita até remover todos os alvos.
-
Escolha Delete (Excluir), no alto da página.
-
Na caixa de diálogo de confirmação, insira o nome da política e escolha Delete (Excluir).
- AWS CLI & AWS SDKs
-
Para excluir uma SCP
Você pode usar um dos seguintes comandos para excluir uma política:
-
AWS CLI: delete-policy
O exemplo a seguir exclui a SCP especificada.
$
aws organizations delete-policy \
--policy-id p-i9j8k7l6m5
Esse comando não gera nenhuma saída quando é bem-sucedido.
-
AWS SDKs: DeletePolicy