A referência da API mostra a ação na própria página de cada ponto de extremidade, para que você não precise voltar aqui para procurar uma. Ambos vêm do mesmo lugar: a chamada de autorização no serviço, lida no momento da compilação.
As ações
Operações em um segredo específico são autorizadas contra CRN desse segredo, com as tags do segredo disponíveis como contexto de condição. Apenas as duas operações de nível de coleção não são.Descrever um segredo não o lê
secrets:GetSecretValue é uma ação diferente de secrets:DescribeSecret, e a divisão é executada por toda a API: a resposta describe não tem nenhum campo de valor, então não há forma em que metadados e texto simples viajam juntos. Conceda a ação de leitura por conta própria, aos poucos principais que precisam dela, nos poucos segredos que precisam.
A mesma divisão aparece em KMS com kms:Decrypt e em certificates com certificate:GetCertificateMaterial.
Escrever não implica ler
secrets:PutSecretValue adiciona uma versão sem retornar nada da antiga, então um trabalho de rotação pode mantê-la sozinha. Isso vale a pena: um componente que só escreve material novo não tem razão para ser capaz de ler o que já está lá.
A listagem não pode ser restringida
secrets:ListSecrets é autorizado contra a coleção em vez de contra segredos individuais, então restringi-lo por CRN ou tag não tem efeito. Escopo secrets:GetSecretValue — esse é o conceito que importa.
Recursos
As ações de segredos são verificadas em relação a uma forma de recurso:/, e é isso que faz o CRN valer a pena ser analisado. Nomear segredos como prod/payments/stripe-key em vez de prod-payments-stripe-key permite que uma declaração cubra os segredos de um serviço inteiro e nada mais. Os nomes correspondem a ^[a-zA-Z0-9][a-zA-Z0-9._/-]{0,255}$.
Condições
Create carrega as tags da solicitação; cada ação com escopo secreto carrega as tags já no secreto:basalt:RequestTag/<key>— o que um chamador pode rotular um segredo como, em create.basalt:ResourceTag/<key>— quais segredos existentes uma ação pode tocar.
Escrever uma política
Um serviço lendo exatamente os segredos sob seu próprio prefixo de caminho:deny sobrevive a um broad allow.
Como é uma negação
Uma verificação falhada responde403:
Um
404 não é um 403 disfarçado. A propriedade é resolvida antes da autorização: um segredo pertencente a outra conta responde 404 porque não é seu para ver, e um que você possui, mas não tem a ação para respostas 403. Um segredo dentro de sua janela de recuperação é um terceiro caso novamente — ele responde 409 SECRET_DELETED, o que significa que o segredo está lá e a credencial está bem.
