VPC: Autorisierte IP-Adressen für IBM Cloud Object Storage konfigurieren
Virtuelle private Cloud
Sie können Ihre IP-Quellenadressen für VPC-Cloud-Serviceendpunkte für den Zugriff auf Ihr IBM Cloud Object Storage-Bucket autorisieren. Wenn Sie autorisierte IP-Adressen einrichten, können Sie nur von diesen IP-Adressen aus auf Ihre Bucketdaten zugreifen (z. B. in einem App-Pod).
- Erforderliche Mindestberechtigungen
- Servicezugriffsrolle Manager für den Red Hat OpenShift on IBM Cloud-Service.
- Servicezugriffsrolle Writer für den IBM Cloud Object Storage-Service.
-
Folgen Sie den Anweisungen zur Installation des
ibmcHelm-Plug-ins.. Stellen Sie sicher, dass Sieibm-object-storage-plugininstallieren und die OptionbucketAccessPolicyauftruesetzen. -
Erstellen Sie einen HMAC-Serviceberechtigungsnachweis
Managerund einen HMAC-ServiceberechtigungsnachweisWriterfür Ihre IBM Cloud Object Storage-Instanz. -
Codieren Sie
apikeyvon Ihren IBM Cloud Object Storage Manager-Berechtigungsnachweisen in Base64.echo -n "<cos_manager_apikey>" | base64 -
Codieren Sie
access-keyundsecret-keyvon Ihren IBM Cloud Object Storage-Writer-Berechtigungsnachweisen in Base64.echo -n "<cos_writer_access-key>" | base64 echo -n "<cos_writer_secret-key>" | base64 -
Erstellen Sie eine Konfigurationsdatei für den geheimen Schlüssel mit den Werten, die Sie codiert haben. Geben Sie für
access-keyundsecret-keyden Base64-codiertenaccess-keyundsecret-keyvon den HMAC-Writer-Berechtigungsnachweisen ein, die Sie erstellt haben. Geben Sie fürres-conf-apikeyden Base64-codierten Wert fürapikeyvon Ihren HMAC-Manager-Berechtigungsnachweisen ein.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 -
Erstellen Sie den geheimen Schlüssel in Ihrem Cluster.
oc create -f secret.yaml -
Überprüfen Sie, ob der geheime Schlüssel erstellt wurde.
oc get secrets -
Erstellen Sie eine PVC, die den von Ihnen erstellten geheimen Schlüssel verwendet. Stellen Sie die Annotationen
ibm.io/auto-create-bucket: "true"undibm.io/auto_cache: "true"ein, um automatisch ein Bucket zu erstellen, das Ihre Daten zwischenspeichert.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 -
Rufen Sie eine Liste der Quellen-IP-Adressen des Cloud-Serviceendpunkts Ihrer VPC ab.
-
Rufen Sie eine Liste Ihrer VPCs ab.
ibmcloud is vpcs -
Rufen Sie die Details Ihrer VPC ab und notieren Sie sich die Quellen-IP-Adressen des Cloud-Serviceendpunkts.
ibmcloud is vpc <vpc_ID>Beispielausgabe
... 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
-
-
Stellen Sie sicher, dass die Quellen-IP-Adressen des Cloud-Serviceendpunkts Ihrer VPC in Ihrem IBM Cloud Object Storage-Bucket autorisiert sind.
-
Wählen Sie aus Ihrer IBM Cloud Object Storage-Ressourcenliste Ihre IBM Cloud Object Storage-Instanz aus und wählen Sie das Bucket aus, das Sie in Ihrer PVC angegeben haben.
-
Wählen Sie Zugriffsrichtlinien > Autorisierte IPs aus und stellen Sie sicher, dass die Quellen-IP-Adressen des Cloud-Serviceendpunkts Ihrer VPC angezeigt werden.
Sie können Ihr Bucket nicht über die Konsole lesen oder in das Bucket schreiben. Sie können nur von einem App-Pod in Ihrem Cluster aus auf das Bucket zugreifen.
-
Erstellen Sie eine YAML-Bereitstellungsdatei, die auf die von Ihnen erstellte PVC verweist.
-
Erstellen Sie die App in Ihrem Cluster.
oc create -f app.yaml
- Überprüfen Sie, ob sich Ihr App-Pod im Status
Runningbefindet.
oc get pods | grep <app_name>
-
Überprüfen Sie, ob Ihr Datenträger angehängt ist und ob Sie Ihr COS-Bucket lesen und darin schreiben können.
-
Melden Sie sich bei Ihrem App-Pod an.
oc exec -it <pod_name> bash -
Stellen Sie sicher, dass Ihr COS-Bucket von Ihrem App-Pod angehängt ist und dass Sie in Ihrem COS-Bucket lesen und schreiben können. Führen Sie den Befehl
dfaus, um die verfügbaren Platten in Ihrem System anzuzeigen. Ihr COS-Bucket zeigt den Dateisystemtyps3fsund den Mountpfad an, den Sie in Ihrer PVC angegeben haben.dfIn diesem Beispiel wird das COS-Bucket unter
/cos-vpcangehängt.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 -
Wechseln Sie in das Verzeichnis, bei dem Ihr COS-Bucket angehängt ist. In diesem Beispiel wird das Bucket an der Position
/cos-vpcangehängt.cd cos-vpc -
Schreiben Sie eine Datei
test.txtin Ihr COS-Bucket und listen Sie die Dateien auf, um zu überprüfen, ob die Datei geschrieben wurde.touch test.txt && ls -
Entfernen Sie die Datei und melden Sie sich bei Ihrem App-Pod ab.
rm test.txt && exit