Criação de uma política personalizada
Você pode criar políticas personalizadas para complementar políticas definidas pelo sistema e implementar um controle de acesso mais refinado.
Você pode criar políticas personalizadas de uma das seguintes maneiras:
- Editor visual: selecione serviços de nuvem, ações, recursos e condições de solicitação. Isso não requer conhecimento de sintaxe de política.
- JSON: crie uma política JSON ou edite uma existente.
Esta seção descreve como criar políticas personalizadas na página Permissions > Policies/Roles. Você também pode criar políticas personalizadas durante a autorização (consulte Figura 1).
Criação de uma política personalizada no editor visual
- Faça logon no console do IAM.
- No console do IAM, escolha Permissions > Policies/Roles no painel de navegação e clique em Create Custom Policy no canto superior direito.
Figura 2 Criar uma política personalizada
- Insira um nome de política.
Figura 3 Inserir um nome de política
- Selecione Visual editor para Policy View.
- Defina o conteúdo da política.
- Selecione Allow ou Deny.
- Selecione um serviço de nuvem.
- Apenas um serviço de nuvem pode ser selecionado para cada bloco de permissão. Para configurar permissões para vários serviços de nuvem, clique em Add Permissions ou alterne para a visualização JSON (consulte Criação de uma política personalizada na visualização JSON).
- Uma política personalizada pode conter permissões para serviços globais ou de nível de projeto. Para definir as permissões necessárias para acessar serviços globais e de nível de projeto, coloque as permissões em duas políticas personalizadas separadas para autorização refinada.
- Selecione ações.
- (Opcional) Selecione todos os recursos ou selecione recursos específicos especificando seus caminhos.
Para obter detalhes sobre serviços de nuvem que suportam autorização de nível de recurso, consulte Serviços de nuvem que suportam a autorização em nível de recurso usando o IAM.
Tabela 1 Tipo de recurso Parâmetro
Descrição
Specific
Permissões para recursos específicos. Por exemplo, para definir permissões para buckets cujos nomes começam com TestBucket, especifique o caminho do recurso do bucket como OBS:*:*:bucket:TestBucket*.
NOTA:- Especificar recursos do bucket
Formato: "OBS:*:*:bucket:Bucket name".
Para recursos do bucket, o IAM gera automaticamente o prefixo do caminho do recurso: obs:*:*:bucket:. Para o caminho de um bucket específico, adicione o bucket name ao final. Você também pode usar um caractere curinga (*) para indicar qualquer bucket. Por exemplo, obs:*:*:bucket:* indica qualquer bucket do OBS.
- Especificar recursos de objeto
Formato: "OBS:*:*:object:Bucket name/object name".
Para recursos de objeto, o IAM gera automaticamente o prefixo do caminho do recurso: obs:*:*:object:. Para o caminho de um objeto específico, adicione o bucket name/object name ao final do caminho do recurso. Você também pode usar um caractere curinga (*) para indicar qualquer objeto em um bucket. Por exemplo, obs:*:*:object:my-bucket/my-object/* indica qualquer objeto no diretório my-object do bucket my-bucket.
All
Permissões para todos os recursos.
- (Opcional) Adicione condições de solicitação especificando chaves de condição, operadores e valores.
Tabela 2 Parâmetros de condição Nome
Descrição
Condition Key
Uma chave no elemento Condition de uma instrução. Existem chaves de condição globais e específicas do serviço. As chaves de condição global (começando com g:) estão disponíveis para operações de todos os serviços, enquanto as chaves de condição específicas do serviço (começando com um nome de abreviação de serviço, como obs:) estão disponíveis apenas para operações do serviço correspondente. Para obter detalhes, consulte o guia de usuário do serviço de nuvem correspondente, por exemplo, consulte Condições de solicitação de OBS.
Operator
Usado em conjunto com uma chave de condição e um valor de condição para formar uma instrução de condição completa.
Value
Usado em conjunto com uma chave de condição e um operador que requer uma palavra-chave, para formar uma instrução de condição completa.
Figura 4 Adição de uma condição de solicitação
Tabela 3 Chaves de condição global Chave de condição global
Tipo
Descrição
g:CurrentTime
Time
Hora em que uma solicitação de autenticação é recebida. A hora está no formato ISO 8601, por exemplo, 2012-11-11T23:59:59Z.
g:DomainName
String
Nome da conta.
g:MFAPresent
Boolean
Se deseja obter um token por meio da autenticação MFA.
g:MFAAge
Number
Período de validade de um token obtido por meio da autenticação MFA. Esta condição deve ser usada em conjunto com g:MFAPresent.
g:ProjectName
String
Nome do projeto.
g:ServiceName
String
Nome do serviço.
g:UserId
String
ID do usuário do IAM.
g:UserName
String
Nome de usuário do IAM.
- (Opcional) Alterne para a visualização JSON e modifique o conteúdo da política no formato JSON.
Se o conteúdo da política modificado estiver incorreto, verifique e modifique o conteúdo novamente ou clique em Reset para cancelar as modificações.
- (Opcional) Para adicionar outro bloco de permissão para a política, clique em Add Permissions. Como alternativa, clique no ícone de adição (+) à direita de um bloco de permissões existente para clonar suas permissões.
- (Opcional) Insira uma breve descrição para a política.
- Clique em OK.
- Anexe a política a um grupo de usuários. Os usuários do grupo herdam as permissões definidas nessa política.
Você pode anexar políticas personalizadas a um grupo de usuários da mesma maneira que você anexa políticas definidas pelo sistema. Para mais detalhes, consulte Criação de um grupo de usuários e atribuição de permissões.
Criação de uma política personalizada na visualização JSON
- Faça logon no console do IAM.
- No console do IAM, escolha Permissions > Policies/Roles no painel de navegação e clique em Create Custom Policy no canto superior direito.
Figura 5 Criar uma política personalizada
- Insira um nome de política.
Figura 6 Inserir um nome de política
- Selecione JSON para Policy View.
- (Opcional) Clique em Select Existing Policy/Role e selecione uma política/função para usá-la como modelo, por exemplo, selecione EVS FullAccess.
Se você selecionar várias políticas, todas elas devem ter o mesmo escopo, ou seja, Global services ou Project-level services. Para definir as permissões necessárias para acessar serviços globais e de nível de projeto, coloque as permissões em duas políticas personalizadas separadas para autorização refinada.
- Clique em OK.
- Modifique a instrução no modelo.
- Effect: defina-o como Allow ou Deny.
- Action: insira as ações listadas na tabela de ações da API (consulte Figura 7) do serviço EVS, por exemplo, evs:volumes:create.
- A versão de cada política personalizada é fixada em 1.1.
- Para obter detalhes sobre as ações de API suportadas por cada serviço, consulte Permissões definidas pelo sistema.
- (Opcional) Insira uma breve descrição para a política.
- Clique em OK. Se a lista de políticas for exibida, a política será criada com sucesso. Se uma mensagem indicando o conteúdo incorreto da política for exibida, modifique a política.
- Anexe a política a um grupo de usuários. Os usuários do grupo herdam as permissões definidas nessa política.
Você pode anexar políticas personalizadas a um grupo de usuários da mesma maneira que você anexa políticas definidas pelo sistema. Para mais detalhes, consulte Criação de um grupo de usuários e atribuição de permissões.