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 Organizations políticas de solução de problemas
Use as informações aqui para ajudar no diagnostico e na correção de erros comuns encontrados nas políticas do AWS Organizations .
Políticas de controle de serviço
As políticas de controle de serviço (SCPs) em AWS Organizations são semelhantes às IAM políticas e compartilham uma sintaxe comum. Essa sintaxe começa com as regras de JavaScript Object Notation
AWS Organizations usa um subconjunto da IAM sintaxe e da gramática. Para obter detalhes, consulte SCPsintaxe.
Erros de política comuns
Mais de um objeto de política
Um SCP deve consistir em um e somente um JSON objeto. Você denota um objeto colocando chaves { } em torno. Embora você possa aninhar outros objetos em um JSON objeto incorporando chaves {} adicionais no par externo, uma política pode conter somente um par externo de {} chaves. O exemplo a seguir está incorreto porque contém dois objetos no nível superior (indicados em red
):
{
"Version": "2012-10-17",
"Statement":
{
"Effect":"Allow",
"Action":"ec2:Describe*",
"Resource":"*"
}
}
{
"Statement": {
"Effect": "Deny",
"Action": "s3:*",
"Resource": "*"
}
}
No entanto, você pode atender a intenção do exemplo anterior com o uso de gramática correta da política. Em vez de incluir dois objetos de política completos, cada um com seu próprio elemento Statement
, você pode combinar dois blocos em um único elemento Statement
. O elemento Statement
tem um conjunto de dois objetos como seu valor, como mostrado no exemplo a seguir:
{ "Version": "2012-10-17",
"Statement": [
{ "Effect": "Allow", "Action": "ec2:Describe*", "Resource":" *" }, { "Effect": "Deny", "Action": "s3:*", "Resource": "*" }] }
Esse exemplo não pode ser mais compactado em um Statement
com um elemento, porque os dois elementos têm diferentes efeitos. Em geral, você pode combinar instruções apenas quando os elementos Effect
e Resource
em cada instrução forem idênticos.
Mais de um elemento de declaração
À primeira vista, esse erro pode parecer uma variação do erro na seção anterior. No entanto, sintaticamente é um tipo diferente de erro. No exemplo a seguir, há somente um objeto de política, como indicado por um único par de { } chaves no nível superior. No entanto, esse objeto contém dois elementos Statement
dentro de si.
Um SCP deve conter apenas um Statement
elemento, consistindo no nome (Statement
) que aparece à esquerda de dois pontos, seguido por seu valor à direita. O valor de um elemento Statement
deve ser um objeto, denotado por chaves { }, contendo um elemento Effect
, um elemento Action
e um elemento Resource
. O exemplo a seguir é incorreto, pois contém dois elementos Statement
no objeto da política:
{
"Version": "2012-10-17",
"Statement
": {
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
"Statement
": {
"Effect": "Deny",
"Action": "s3:*",
"Resource": "*"
}
}
Como um objeto de valor pode ser um conjunto de vários objetos de valor, você pode resolver esse problema combinando os dois elementos Statement
em um único elemento com uma matriz de objetos, como mostrado no exemplo a seguir:
{ "Version": "2012-10-17", "Statement":
[
{ "Effect": "Allow", "Action": "ec2:Describe*", "Resource":"*" },
{ "Effect": "Deny", "Action": "s3:*", "Resource": "*" }]
}
O valor do elemento Statement
é uma matriz de objetos. A matriz no exemplo consiste em dois objetos, sendo que cada um deles é um valor correto para um elemento Statement
. Cada objeto na matriz é separado por vírgulas.
O documento da política excedeu o tamanho máximo
O tamanho máximo de um SCP documento é de 5.120 caracteres. Este tamanho máximo inclui todos os caracteres, também os espaços em branco. Para reduzir o tamanho do seuSCP, você pode remover todos os caracteres de espaço em branco (como espaços e quebras de linha) que estão fora das aspas.
nota
Se você salvar a política usando o AWS Management Console, o espaço em branco extra entre JSON os elementos e fora das aspas será removido e não contado. Se você salvar a política usando uma SDK operação ou a AWS CLI, a política será salva exatamente como você forneceu e nenhuma remoção automática de caracteres ocorrerá.