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
O mapeamento é um ponto final para uma ação, o que não é verdade para todos os serviços aqui. Três coisas ainda valem a pena dizer, porque nenhuma delas segue dos nomes dos endpoints.
A leitura de um certificado não lhe dá a sua chave privada
certificate:GetCertificate retorna tudo, exceto a chave. A chave vem apenas do endpoint material, atrás de seu próprio certificate:GetCertificateMaterial, então uma credencial que pode ler e listar seus certificados ainda não pode extrair o que os torna úteis.
Essa separação é a única coisa que fica entre uma credencial e a chave. O endpoint aceita as mesmas credenciais que qualquer outra chamada e não se importa com o tipo de principal que você é, então qualquer pessoa que tenha a ação obtém a chave privada. Conceda-o deliberadamente e apenas ao lado de um escopo de recursos que você queira. Consulte Certificate material.
Emissão de autorizações no nome que você pediu
Criar é verificado contra o CRN do certificado about to exist —certificate/<name>, construído a partir do name na solicitação, antes que qualquer linha seja escrita. Uma política com escopo para certificate/prod-*, portanto, bloqueia a emissão da mesma forma que bloqueia as leituras que se seguem, ao invés de ser uma regra que você só pode aplicar após o fato.
Ambos os caminhos de criação usam a mesma ação: emitir através do desafio DNS e fazer upload do material que você já possui são ambos certificate:CreateCertificate. Se você precisar permitir um e não o outro, essa distinção não está disponível na política — o ponto de extremidade é o mesmo.
Anexar a um ouvinte não é uma ação de certificado
Colocar um certificado em um ouvinte HTTPS precisa deloadbalancer:AttachListenerCertificate no CRN do load balancer. Não há nenhuma ação de certificado nesse caminho.
A propriedade é aplicada separadamente e não depende da sua política: o CRN deve nomear um certificado que sua conta possui e seu slot de conta deve corresponder ao seu. Um certificado pertencente a outra conta é recusado mesmo que você possa nomeá-lo exatamente.
Recursos
As ações de certificado são verificadas em relação a uma forma de recurso:crn:certificate::my-account:certificate/prod-* abrange todos os certificados cujo nome começa com prod-, incluindo os emitidos posteriormente.
name é único por conta e corresponde a ^[a-zA-Z0-9][a-zA-Z0-9._-]{0,253}$. Como ele chega no CRN, escolher nomes com um prefixo comum por ambiente é o que faz o curinga acima valer a pena escrever.Condições
Criar carrega as tags da solicitação e todas as outras ações carregam as tags já no certificado, portanto, as condições da política funcionam em ambos os lados da emissão:basalt:RequestTag/<key>— o que um chamador pode rotular um certificado como, em create.basalt:ResourceTag/<key>— quais certificados existentes uma ação pode tocar.
Escrever uma política
Somente leitura em todos os certificados da conta. Observe o que isso deliberadamente deixa de fora:certificate:ListCertificates é verificado contra a conta em vez de um certificado nomeado, então ele não pode ser escopo para um. Conceder isso concede a capacidade de ver que todos os certificados na conta existem, embora não leia o material de qualquer um deles.
Como é uma negação
Uma verificação falhada responde403:
Um
404 não é um 403 disfarçado. Propriedade e autorização são verificações separadas, e a propriedade é resolvida primeiro: um certificado 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. Se você estiver recebendo 404 em um certificado que você acredita que possui, verifique a conta à qual a credencial pertence antes de verificar a política.
