Configuração de um perfil confiável para componentes do cluster
Você pode usar perfis confiáveis para controlar o acesso aos seus recursos, incluindo componentes como Block Storage, File Storage ou Cloud Object Storage.
Sobre perfis confiáveis
Ao usar perfis confiáveis, você pode estabelecer uma maneira flexível e segura para que os usuários federados acessem os recursos IBM Cloud na sua conta. Todos os usuários federados que compartilham determinados atributos definidos no diretório corporativo de usuários são mapeados para um perfil comum e podem compartilhar o acesso aos recursos d IBM Cloud. Esta identidade comum possibilita conceder aos membros que compartilham requisitos de acesso em sua organização, acesso automático aos recursos uma vez, em vez de ter que incluir cada usuário em uma conta e, em seguida, conceder a ele acesso diretamente ou usando grupos de acesso.
Os benefícios dos perfis confiáveis incluem:
- Eliminação da necessidade de chaves de API de longa duração
- Conceda acesso aos seus recursos com base em um relacionamento confiável que você estabelece ao criar o perfil confiável, em vez de chaves de API incorporadas. Isso reduz o risco de comprometimento ou vazamento de credenciais.
- Controle de acesso centralizado
- Gerencie as permissões por meio de um único perfil confiável para simplificar o processo de concessão, revogação ou auditoria de acesso.
- Permissões com escopo
- Aderir ao princípio do menor privilégio, criando perfis com as permissões mínimas necessárias para concluir uma tarefa específica.
Requisitos mínimos de acesso para todos os componentes de armazenamento
É necessário um conjunto mínimo de políticas de acesso para que um perfil confiável seja usado em seus componentes de armazenamento. As políticas desta seção são necessárias para configurar perfis confiáveis para todos os componentes de armazenamento.
Crie uma relação de confiança com a seguinte configuração. Essas permissões são necessárias para clusters de VPC.
- Tipo de serviço de computação (encontrado na guia Recurso de computação na interface do usuário):
KubernetesRed Hat OpenShift
- Espaço de nome confiável:
kube-system.
Crie políticas de acesso com as permissões da tabela a seguir.
| Nome do serviço | Permissão Necessária | Descrição |
|---|---|---|
| faturamento | Editor | Permite visualizar e gerenciar dados de faturamento, como uso, custo e relatórios. Útil para o rastreamento automatizado de custos ou para operações com consciência orçamentária. |
| Serviço do Kubernetes | Administrador | Permite que os clusters Kubernetes interajam com os recursos de armazenamento. |
| Serviço de infraestrutura de VPC | Escritor, editor, restaurador de contas remotas de instantâneos | Permite o provisionamento e o gerenciamento de recursos de armazenamento. |
| Grupo de recursos | Visualizador | Especifique o grupo de recursos ao qual o perfil confiável é aplicado. Para operações em vários grupos de recursos, você deve especificar todos os grupos de recursos relevantes. Observe que, se estiver criando uma classe de armazenamento personalizada com o grupo de recursos, você também deverá atribuir acesso de Viewer ao perfil confiável do grupo de recursos. |
Além disso, se você planeja usar a infraestrutura Classic, deve ativar as permissões Add/Upgrade Storage (Storage Layer) e Storage Manage. Para ativar essas permissões, navegue até o painel de perfis confiáveis na interface do usuário e selecione o perfil confiável relevante. Clique em Infraestrutura clássica e, em seguida, expanda as opções em Vendas e dispositivos para encontrar as permissões.
Requisitos mínimos de acesso para componentes individuais
É necessário um conjunto mínimo de políticas de acesso para que um perfil confiável possa ser utilizado nos componentes a seguir.
Gerenciamento Avançado de Clusters (ACM)
Crie uma relação de confiança com a seguinte configuração.
- Tipo de serviço de computação (encontrado na guia Recurso de computação na interface do usuário):
Red Hat OpenShift
- Selecione todos os recursos de serviço.
- Espaço de nome confiável:
kube-system.
Crie políticas de acesso com as permissões da tabela a seguir.
| Nome do serviço | Permissão Necessária | Descrição |
|---|---|---|
| Serviço do Kubernetes | Leitor, Espectador, Operador, Editor | Permite que o cluster do hub interaja com clusters gerenciados. |
Classic Block Storage
Crie uma relação de confiança com a seguinte configuração.
- Tipo de serviço de computação (encontrado na guia Recurso de computação na interface do usuário):
KubernetesRed Hat OpenShift
- Espaço de nome confiável:
kube-system.
Adicione as permissões da tabela a seguir. Para ativar essas permissões, você deve usar a interface do usuário. Navegue até o painel de perfis confiáveis na interface do usuário e selecione o perfil confiável relevante. Clique em Infraestrutura clássica e, em seguida, expanda as opções para encontrar as permissões.
| Nome do serviço | Permissão Necessária | Descrição |
|---|---|---|
Devices |
Gerenciar de armazenamento | Permite anexar, desanexar e configurar o armazenamento em bloco Classic nos dispositivos. |
Sales |
Adicionar/atualizar o armazenamento (camada de armazenamento) | Concede permissão para solicitar, atualizar ou modificar as ofertas de armazenamento Classic por meio das APIs de vendas. |
Classic File Storage
Crie uma relação de confiança com a seguinte configuração.
- Tipo de serviço de computação (encontrado na guia Recurso de computação na interface do usuário):
KubernetesRed Hat OpenShift
- Espaço de nome confiável:
kube-system.
Adicione as permissões da tabela a seguir. Para ativar essas permissões, você deve usar a interface do usuário. Navegue até o painel de perfis confiáveis na interface do usuário e selecione o perfil confiável relevante. Clique em Infraestrutura clássica e, em seguida, expanda as opções para encontrar as permissões.
| Nome do serviço | Permissão Necessária | Descrição |
|---|---|---|
Devices |
Gerenciar de armazenamento | Permite anexar, desanexar e configurar o armazenamento em bloco Classic nos dispositivos. |
Sales |
Adicionar/atualizar o armazenamento (camada de armazenamento) | Concede permissão para solicitar, atualizar ou modificar as ofertas de armazenamento Classic por meio das APIs de vendas. |
Escalador automático de cluster
Crie uma relação de confiança com a seguinte configuração.
- Tipo de serviço de computação (encontrado na guia Recurso de computação na interface do usuário):
KubernetesRed Hat OpenShift
- Espaço de nome confiável:
kube-system.
Crie políticas de acesso com as permissões da tabela a seguir.
| Nome do serviço | Permissão Necessária | Descrição |
|---|---|---|
| Serviço do Kubernetes | Administrador | Permite que os clusters do Kubernetes interajam com os componentes do auto-scaler. |
Object Storage
Crie uma relação de confiança com a seguinte configuração.
- Tipo de serviço de computação (encontrado na guia Recurso de computação na interface do usuário):
KubernetesRed Hat OpenShift
- Espaço de nome confiável:
kube-system.
Crie políticas de acesso com as permissões da tabela a seguir.
| Nome do serviço | Permissão Necessária | Descrição |
|---|---|---|
| Serviço do Kubernetes | Leitor, Visualizador | Permite que os clusters Kubernetes interajam com o plug-in COS. |
| Serviço de infraestrutura de VPC | Leitor, Visualizador | Permite a comunicação com o VPC para obter chamadas de API. |
| Grupo de recursos | Visualizador | Especifique o grupo de recursos ao qual o perfil confiável é aplicado. Para operações em vários grupos de recursos, você deve especificar todos os grupos de recursos relevantes. |
Agente de cobrança ODF
Crie uma relação de confiança com a seguinte configuração.
- Tipo de serviço de computação (encontrado na guia Recurso de computação na interface do usuário):
KubernetesRed Hat OpenShift
- Espaço de nome confiável:
kube-system.
Crie políticas de acesso com as permissões da tabela a seguir.
| Nome do serviço | Permissão Necessária | Descrição |
|---|---|---|
| faturamento | Editor | Permite visualizar e gerenciar dados de faturamento, como uso, custo e relatórios. Útil para o rastreamento automatizado de custos ou para operações com consciência orçamentária. |
| Serviço do Kubernetes | Editor | Permite que os clusters Kubernetes interajam com o armazenamento em bloco. |
| Serviço de infraestrutura de VPC | Editor, escritor | Permite o provisionamento e o gerenciamento de recursos de armazenamento. |
| Grupo de recursos | Visualizador | Especifique o grupo de recursos ao qual o perfil confiável é aplicado. Para operações em vários grupos de recursos, você deve especificar todos os grupos de recursos relevantes. |
Block Storage de VPC
Crie uma relação de confiança com a seguinte configuração.
- Tipo de serviço de computação (encontrado na guia Recurso de computação na interface do usuário):
KubernetesRed Hat OpenShift
- Espaço de nome confiável:
kube-system.
Crie políticas de acesso com as permissões da tabela a seguir.
| Nome do serviço | Permissão Necessária | Descrição |
|---|---|---|
| Serviço do Kubernetes | Operador | Permite que os clusters Kubernetes interajam com os recursos de armazenamento em bloco. |
| Serviço de infraestrutura de VPC | Escritor, editor, restaurador de contas remotas de instantâneos | Permite o provisionamento, o gerenciamento e as operações de cross snapshot para recursos de armazenamento em bloco. |
| Grupo de recursos | Visualizador | Especifique o grupo de recursos ao qual o perfil confiável é aplicado. Para operações em vários grupos de recursos, você deve especificar todos os grupos de recursos relevantes. Observe que, se estiver criando uma classe de armazenamento personalizada com o grupo de recursos, você também deverá atribuir acesso de Viewer ao perfil confiável do grupo de recursos. |
Armazenamento de arquivos VPC
Crie uma relação de confiança com a seguinte configuração.
- Tipo de serviço de computação (encontrado na guia Recurso de computação na interface do usuário):
KubernetesRed Hat OpenShift
- Espaço de nome confiável:
kube-system.
Crie políticas de acesso com as permissões da tabela a seguir.
| Nome do serviço | Permissão Necessária | Descrição |
|---|---|---|
| Serviço do Kubernetes | Operador | Permite que os clusters Kubernetes interajam com os recursos de armazenamento de arquivos. |
| Serviço de infraestrutura de VPC | Escritor, editor | Permite o provisionamento e o gerenciamento de recursos de armazenamento de arquivos. |
| Grupo de recursos | Visualizador | Especifique o grupo de recursos ao qual o perfil confiável é aplicado. Para operações em vários grupos de recursos, você deve especificar todos os grupos de recursos relevantes. Observe que, se estiver criando uma classe de armazenamento personalizada com o grupo de recursos, você também deverá atribuir acesso de Viewer ao perfil confiável do grupo de recursos. |
Configurar um perfil confiável na CLI
Siga as etapas para criar e configurar um perfil confiável na CLI.
Depois que você adiciona um perfil confiável a um cluster, ele não pode ser removido e você não pode retomar o uso de uma chave de API para seus recursos. Siga estas etapas cuidadosamente para garantir que seu perfil confiável esteja configurado corretamente.
-
Efetue login na CLI do IBM Cloud.
ibmcloud login --apikey API_KEY -g RESOURCE_GROUP -
Execute o comando para criar um perfil confiável. Para obter uma lista completa das opções de comando, consulte a documentação da CLI do IAM.
ibmcloud iam trusted-profile-create NAME --description "Identity for storage" -
Anexar uma regra para o uso do escopo ao namespace
kube‑system. Para obter uma lista completa das opções de comando, consulte a documentação da CLI do IAM.ibmcloud iam trusted-profile-rule-create --name NAME --type Profile-CR --cr-type ROKS_SA --conditions claim:namespace,operator:EQUALS,value:kube-system -
Para clusters de VPC: Crie e atribua políticas de acesso ao perfil confiável. Este exemplo atribui as permissões mínimas necessárias para todos os componentes de armazenamento. Para obter uma lista das permissões necessárias apenas para componentes individuais, consulte Requisitos mínimos para componentes de armazenamento individuais. Especifique o nome ou ID do perfil confiável ao qual você deseja atribuir a política. Para obter uma lista completa das opções de comando, consulte a documentação da CLI do IAM. Esta etapa não se aplica a clusters clássicos. Adicione políticas para o serviço de infraestrutura VPC.
ibmcloud iam trusted-profile-policy-create NAME|ID --roles Editor,Writer --service-name isAdicione políticas para o serviço de faturamento.
ibmcloud iam trusted-profile-policy-create NAME|ID --roles Editor --service-name billingAdicione políticas para o serviço Kubernetes.
ibmcloud iam trusted-profile-policy-create NAME|ID --roles Administrator --service-name containers-kubernetesAdicione políticas para o grupo de recursos relevante ao qual o perfil confiável é aplicado. Especifique o grupo de recursos ao qual o perfil confiável é aplicado.
ibmcloud iam trusted-profile-policy-create NAME|ID --roles Operator --resource-type "resource-group" --resource "my-resource-group" -
Para clusters clássicos: Execute o comando para adicionar as permissões mínimas necessárias ao perfil confiável. Especifique o ID de usuário criado para o perfil confiável.
ibmcloud oc sl user permission-edit TRUSTED_PROFILE_ID --permission NAS_MANAGE,ADD_SERVICE_STORAGE -
Depois de criar o perfil confiável e atribuir as políticas de acesso necessárias, defina o perfil confiável para o cluster ou para o grupo de recursos em que os clusters estão. A configuração do perfil confiável o aplica aos componentes de armazenamento.
Configurar um perfil confiável com a interface do usuário
Siga as etapas para criar e configurar um perfil confiável na interface do usuário.
Depois que você adiciona um perfil confiável a um cluster, ele não pode ser removido e você não pode retomar o uso de uma chave de API para seus recursos. Siga estas etapas cuidadosamente para garantir que seu perfil confiável esteja configurado corretamente.
-
Faça login na sua conta IBM Cloud e navegue até a página Trusted Profiles (Perfis confiáveis).
-
Crie um perfil confiável.
-
Crie um relacionamento de confiança com o serviço Red Hat OpenShift on IBM Cloud.
- Na seção Selecionar tipo de entidade confiável, clique em Recursos de computação.
- Em Criar relação de confiança, selecione Red Hat OpenShift.
- Selecione todos os recursos de serviço. Em seguida, adicione uma condição para permitir o acesso quando Namespace for igual a
kube-system.- Em vez disso, você pode escolher recursos específicos existentes em sua conta.
-
Clique em Criar.
-
Somente VPC. Adicione políticas de acesso ao perfil confiável.
- Na página Perfis confiáveis, clique no perfil confiável que você acabou de criar.
- Na guia “Acesso ”, clique em “Atribuir acesso ”.
- Na seção Como deseja atribuir acesso?, clique em Política de acesso.
- Adicione os serviços e as funções para atender aos requisitos mínimos dos componentes relevantes. Aplique a política a todos os recursos.
-
Apenas clássico. Adicione permissões ao perfil confiável.
- Na página Perfis confiáveis, clique no perfil confiável que você acabou de criar.
- Acesse a guia “Infraestrutura Clássica ”.
- No menu suspenso de permissões, selecione as permissões necessárias para atender aos requisitos mínimos dos componentes relevantes.
Configurar um perfil confiável com a API
-
Crie um perfil confiável.
curl --request POST \ --url https://iam.cloud.ibm.com/v1/profiles \ --header 'Content-Type: application/json' \ --data '{ "name":"<PROFILE_NAME>", "account_id":"<ACCOUNT_ID>" }' -
Anexar uma regra para o uso do escopo ao namespace
kube‑system.curl --request POST \ --url https://iam.cloud.ibm.com/v1/profiles/<PROFILE_NAME>/rules \ --header 'Content-Type: application/json' \ --data '{ "type": "Profile-CR", "cr_type":"ROKS_SA", "conditions": [ { "claim": "namespace", "operator": "EQUALS", "value": "\"kube-system\"" } ] }' -
Para clusters de VPC: Anexar políticas de acesso aos componentes da VPC. Esses exemplos atribuem as permissões mínimas necessárias para todos os componentes de armazenamento.
curl --request POST \ --url https://iam.cloud.ibm.com/v1/policies \ --header 'Content-Type: application/json' \ --data '{ "type": "access", "description": "Writer, Operator role for VPC infrastructure services", "subjects": [ { "attributes": [ { "name": "iam_id", "value": "<IAM_PROFILE>" } ] } ], "roles": [ { "role_id": "crn:v1:bluemix:public:iam::::serviceRole:Writer" }, { "role_id": "crn:v1:bluemix:public:iam::::role:Editor" } ], "resources": [ { "attributes": [ { "name": "accountId", "value": "<ACCOUNT_ID>" }, { "name": "serviceName", "value": "is" } ] } ] }'curl --request POST \ --url https://iam.cloud.ibm.com/v1/policies \ --header 'Content-Type: application/json' \ --data '{ "type": "access", "description": "Editor role for billing services", "subjects": [ { "attributes": [ { "name": "iam_id", "value": "<IAM_PROFILE>" } ] } ], "roles": [ { "role_id": "crn:v1:bluemix:public:iam::::role:Editor" } ], "resources": [ { "attributes": [ { "name": "accountId", "value": "<ACCOUNT_ID>" }, { "name": "serviceName", "value": "billing" } ] } ] }'curl --request POST \ --url https://iam.cloud.ibm.com/v1/policies \ --header 'Content-Type: application/json' \ --data '{ "type": "access", "description": "Administrator role for containers-kubernetes services", "subjects": [ { "attributes": [ { "name": "iam_id", "value": "<IAM_PROFILE>" } ] } ], "roles": [ { "role_id": "crn:v1:bluemix:public:iam::::role:Administrator" } ], "resources": [ { "attributes": [ { "name": "accountId", "value": "<ACCOUNT_ID>" }, { "name": "serviceName", "value": "containers-kubernetes" } ] } ] }'curl --request POST \ --url https://iam.cloud.ibm.com/v1/policies \ --header 'Content-Type: application/json' \ --data '{ "type": "access", "subjects": [ { "attributes": [ { "name": "iam_id", "value": "<IAM_PROFILE>" } ] } ], "roles": [ { "role_id": "crn:v1:bluemix:public:iam::::role:Operator" } ], "resources": [ { "attributes": [ { "name": "accountId", "value": "<ACCOUNT_ID>" }, { "name": "resource", "value": "<RESOURCE_GROUP_ID>" }, { "name": "resourceType", "value": "resource-group" }, ] } ] } -
Para clusters clássicos: Adicione permissões ao perfil confiável usando a interface do usuário.
- Faça login na sua conta IBM Cloud e navegue até a página Trusted Profiles (Perfis confiáveis).
- Clique no perfil confiável que você acabou de criar.
- Acesse a guia “Infraestrutura Clássica ”.
- No menu suspenso de permissões, selecione as permissões necessárias para atender aos requisitos mínimos dos componentes relevantes.
Definição do perfil confiável para um cluster ou grupo de recursos
Quando você define um perfil confiável para seu cluster, ele se aplica aos componentes de armazenamento. Você pode definir um perfil confiável para um cluster individual ou para um grupo de recursos.
Depois que você adiciona um perfil confiável a um cluster, ele não pode ser removido e você não pode retomar o uso de uma chave de API para seus recursos. Siga estas etapas cuidadosamente para garantir que seu perfil confiável esteja configurado corretamente.
-
Certifique-se de que você tenha criado um perfil confiável que atenda aos requisitos mínimos dos componentes de armazenamento.
-
Atribua o perfil confiável ao seu cluster ou ao grupo de recursos do qual o cluster faz parte. Se você atribuir um perfil confiável a um grupo de recursos, ele se aplicará a todos os clusters do grupo de recursos.
Para atribuir um perfil confiável a um cluster.
ibmcloud oc experimental trusted-profile set --trusted-profile PROFILE --cluster CLUSTER [--output OUTPUT] [-q]--cluster CLUSTER- A ID do cluster para definir o perfil confiável. Para obter o ID do cluster, execute o comando
ibmcloud oc cluster get``. --trusted-profile PROFILE- A ID do perfil confiável. Para obter o ID do perfil confiável, execute
ibmcloud iam trusted-profiles. --output OUTPUT- Imprime a saída de comando no formato fornecido. Valores aceitos: json
-q- Não mostrar a mensagem do dia ou os lembretes de atualização.
Para atribuir um perfil confiável a um grupo de recursos.
ibmcloud oc experimental trusted-profile default set --region REGION --resource-group GROUP --trusted-profile PROFILE [--output OUTPUT] [-q]--region REGION- A região onde o grupo de recursos está localizado. Para obter os detalhes de um grupo de recursos, execute
ibmcloud resource group. --resource-group GROUP- A ID do grupo de recursos para definir o perfil confiável. Para listar seus grupos de recursos, execute o comando
ibmcloud resource groups``. --trusted-profile PROFILE- A ID do perfil confiável. Para obter o ID do perfil confiável, execute
ibmcloud iam trusted-profiles. --output OUTPUT- Imprime a saída de comando no formato fornecido. Valores aceitos:
json. -q- Não mostrar a mensagem do dia ou os lembretes de atualização.
-
Verifique se o perfil confiável foi adicionado ao cluster.
ibmcloud oc experimental trusted-profile get --cluster CLUSTERExemplo de saída.
Fetching trusted-profile for the cluster... OK Cluster a1bc2de45fgh6ijklmn7op is configured with trusted-profile Profile-a12bc34-1111-1111-1234-a123bc456
Limitações e considerações
Analise as seguintes limitações e considerações antes de usar perfis confiáveis.
- Transição irreversível para o perfil confiável
- Depois que um perfil confiável é configurado no nível do cluster ou do grupo de recursos, não há suporte para a reversão do uso de uma chave de API. Siga as etapas cuidadosamente para garantir que o perfil confiável esteja configurado corretamente.
- O escopo da verificação é limitado ao namespace
kube-system - No momento, a validação de confiança do perfil confiável está limitada ao namespace
kube-systempara os clusters Kubernetes e Red Hat OpenShift. Os usuários que experimentam outros recursos ou configurações de perfil confiável fora desse escopo podem encontrar problemas. - Tags de usuário para volumes VPC Block Storage
- Devido a um problema conhecido, as atualizações das tags de usuário nos volumes do VPC Block Storage podem não ser exibidas quando um perfil confiável é implementado.