VPC: configurando endereços IP autorizados para o IBM Cloud Object Storage
Nuvem privada virtual
É possível autorizar os endereços IP de origem do seu VPC Cloud Service Endpoint para acessar o bucket do IBM Cloud Object Storage. Ao configurar endereços IP autorizados, é possível acessar seus dados do depósito somente desses endereços IP; por exemplo, em um pod de app.
- Permissões mínimas necessárias
- Função de acesso ao serviço Gerenciador para o serviço Red Hat OpenShift on IBM Cloud.
- Função de acesso ao serviço Gravador para o serviço IBM Cloud Object Storage.
-
Siga as instruções para instalar o plug-in
ibmcHelm. Certifique-se de instalar oibm-object-storage-plugine definir a opçãobucketAccessPolicycomotrue. -
Crie as credenciais de serviço HMAC
ManagereWriterpara sua instância do IBM Cloud Object Storage. -
Codifique a
apikeyde suas credenciais de Gerenciador do IBM Cloud Object Storage para base64.echo -n "<cos_manager_apikey>" | base64 -
Codifique a
access-keye asecret-keyde suas credenciais de Gravador do IBM Cloud Object Storage para base64.echo -n "<cos_writer_access-key>" | base64 echo -n "<cos_writer_secret-key>" | base64 -
Crie um arquivo de configuração de segredo com os valores codificados. Para a
access-keye asecret-key, insira aaccess-keye asecret-keycodificadas em base64 por meio das credenciais HMAC de Gravador que você criou. Para ares-conf-apikey, insira aapikeycodificada em base64 por meio de suas credenciais HMAC de Gerenciador.apiVersion: v1 kind: Secret metadata: name: <secret_name> type: ibm/ibmc-s3fs data: access-key: # Enter your base64 encoded COS Writer access-key secret-key: # Enter your base64 encoded COS Writer secret-key res-conf-apikey: # Enter your base64 encoded COS Manager api-key -
Crie o segredo em seu cluster.
oc create -f secret.yaml -
Verifique se o segredo foi criado.
oc get secrets -
Crie uma PVC que use o segredo que você criou. Configure as anotações
ibm.io/auto-create-bucket: "true"eibm.io/auto_cache: "true"para criar automaticamente um depósito que armazena seus dados em cache.kind: PersistentVolumeClaim apiVersion: v1 metadata: name: <pvc_name> annotations: ibm.io/auto-create-bucket: "true" ibm.io/auto-delete-bucket: "false" ibm.io/auto_cache: "true" ibm.io/bucket: "<bucket_name>" ibm.io/secret-name: "<secret_name>" ibm.io/secret-namespace: "<secret-namespace>" # By default, the COS plug-in searches for your secret in the same namespace where you create the PVC. If you created your secret in a namespace other than the namespace where you want to create your PVC, enter the namespace where you created your secret. spec: accessModes: - ReadWriteMany resources: requests: storage: 8Gi storageClassName: ibmc-s3fs-standard-regional volumeMode: Filesystem -
Obtenha uma lista dos endereços IP de origem do Terminal em serviço de nuvem de sua VPC.
-
Obtenha uma lista de suas VPCs.
ibmcloud is vpcs -
Obtenha os detalhes de sua VPC e anote os endereços IP de origem do Terminal em serviço de nuvem.
ibmcloud is vpc <vpc_ID>Saída de exemplo
... Cloud Service Endpoint source IP addresses: Zone Address us-south-1 10.249.XXX.XX us-south-2 10.249.XXX.XX us-south-3 10.249.XXX.XX
-
-
Verifique se os endereços IP de origem do Terminal em serviço de nuvem de sua VPC estão autorizados em seu depósito do IBM Cloud Object Storage.
-
Em sua lista de recursos do IBM Cloud Object Storage, selecione a sua instância do IBM Cloud Object Storage e selecione o depósito que você especificou em sua PVC.
-
Selecione Políticas de acesso > IPs autorizados e verifique se os endereços IP de origem do Terminal em serviço de nuvem de sua VPC são exibidos.
Não é possível ler ou gravar no depósito por meio do console. É possível acessar o seu depósito somente de dentro de um pod de app em seu cluster.
-
Crie um YAML de implementação que referencie a PVC que você criou.
-
Crie o app em seu cluster.
oc create -f app.yaml
- Verifique se o seu pod de app é
Running.
oc get pods | grep <app_name>
-
Verifique se o seu volume está montado e se é possível ler e gravar em seu depósito do COS.
-
Efetue login em seu pod de app.
oc exec -it <pod_name> bash -
Verifique se o seu depósito do COS é montado por meio de seu pod de app e se é possível ler e gravar em seu depósito do COS. Execute o comando
dfde disco livre para ver os discos disponíveis em seu sistema. Seu depósito do COS exibe o tipo de sistema de arquivoss3fse o caminho de montagem que você especificou em sua PVC.dfNeste exemplo, o depósito do COS é montado em
/cos-vpc.Filesystem 1K-blocks Used Available Use% Mounted on overlay 102048096 9071556 87786140 10% / tmpfs 65536 0 65536 0% /dev tmpfs 7565792 0 7565792 0% /sys/fs/cgroup shm 65536 0 65536 0% /dev/shm /dev/vda2 102048096 9071556 87786140 10% /etc/hosts s3fs 274877906944 0 274877906944 0% /cos-vpc tmpfs 7565792 44 7565748 1% /run/secrets/kubernetes.io/serviceaccount tmpfs 7565792 0 7565792 0% /proc/acpi tmpfs 7565792 0 7565792 0% /proc/scsi tmpfs 7565792 0 7565792 0% /sys/firmware -
Mude os diretórios para o diretório no qual seu depósito do COS está montado. Neste exemplo, o depósito é montado em
/cos-vpc.cd cos-vpc -
Grave um arquivo
test.txtem seu depósito do COS e liste os arquivos para verificar se o arquivo foi gravado.touch test.txt && ls -
Remova o arquivo e efetue logout de seu pod de app.
rm test.txt && exit