IBM Cloud Docs
Dienste mit Apps verbinden

Dienste mit Apps verbinden

Verbinden Sie Ihre Apps oder Tools von Drittanbietern mit den IBM Cloud-Diensten, indem Sie einen neuen Satz von Dienstanmeldeinformationen generieren. Diese Anmeldedaten fungieren als Brücke zwischen Ihrer App, unabhängig davon, ob sie auf IBM Cloud® oder einer externen Plattform wie AWS gehostet wird, und dem IBM Cloud®-Dienst, den Sie nutzen möchten. Wenn Sie beispielsweise eine von AWS gehostete App in watsonx Assistant integrieren, generieren Sie einen Dienstnachweis, der den erforderlichen Zugriff ermöglicht. Anschließend können Sie es zur Konfiguration Ihrer App hinzufügen, um die Verbindung herzustellen.

Wie Sie Ihren Anwendungen Berechtigungsnachweise hinzufügen können, entnehmen Sie bitte der Dokumentation für den von Ihnen verwendeten Anwendungstyp oder die Compute-Option.

Erstellen eines Dienstausweises

Zugangsdaten, die Sie nach dem 04. August 2025 erstellen, werden standardmäßig nur einmalig angezeigt; achten Sie also darauf, sie sicher zu speichern. Die Eigenschaft der einmaligen Ansicht bei bestehenden Berechtigungsnachweisen ist davon nicht betroffen. Weitere Informationen finden Sie unter Einmalige Berechtigungsnachweise.

Services, die von IBM Cloud Identity and Access Management (IAM) verwaltet werden, können einen Ressourcenschlüssel generieren, der auch als Berechtigungsnachweis bezeichnet wird. Berechtigungsnachweise sind servicespezifisch und variieren abhängig davon, wie der jeweilige Service die Berechtigungsnachweise definiert, die generiert werden müssen. Ein Berechtigungsnachweis kann einen Benutzernamen, ein Passwort, einen Hostnamen, einen Port und eine URL enthalten, wobei der Inhalt jedes Berechtigungsnachweises für den Dienst, der ihn generiert, eindeutig ist.

Einige Services generieren möglicherweise zusätzliche Daten, für die die Angabe von Parametern erforderlich ist. So kann es bei einem Service zum Beispiel erforderlich sein, einen Sprachparameter einzugeben, mit dem die Standardsprache festgelegt wird, die im generierten Ressourcenschlüssel zurückgegeben wird.

So fügen Sie Ihrem Dienst Berechtigungsnachweise hinzu:

Führen Sie die folgenden Schritte aus, um einem Dienst einen Berechtigungsnachweis hinzuzufügen:

  1. Wählen Sie in der Ressourcenliste den Namen des Dienstes aus, um die Detailseite des Dienstes zu öffnen.

  2. Klicken Sie auf Serviceberechtigungsnachweise.

  3. Überprüfen Sie die Einstellung Einmalige Ansicht, die festlegt, ob Sie die Ressourcenschlüsselwerte später abrufen können.

    1. Je nach Anwendungsfall auf Ein oder Aus stellen. Benutzer mit der Administratorrolle auf der Ressourceninstanz können diese Einstellung mit Hilfe der API des Ressourcencontrollers verwalten.

      Einschalten, um die Einhaltung bewährter Sicherheitspraktiken und -vorschriften, wie z. B. PCI DSS, zu gewährleisten, indem der gemeinsame Zugriff auf Anmeldeinformationen verhindert wird.

  4. Klicken Sie auf Berechtigung erstellen.

  5. Geben Sie einen Namen ein.

  6. Weisen Sie eine IAM-Dienstzugriffsrolle zu. Weitere Informationen zu den Rollen finden Sie unter IBM Cloud IAM-Rollen.

    1. Geben Sie None an, um dem neuen Berechtigungsnachweis keine Rolle zuzuweisen, wenn Sie den Zugriff verwalten möchten, indem Sie dem Berechtigungsnachweis für den Dienst eine neue oder vorhandene Dienst-ID zuweisen.
  7. (Optional) Wählen Sie eine vorhandene Service-ID oder eine neue Service-ID aus, die mit der Berechtigung verknüpft werden soll. Auf diese Weise können Sie den Zugriff direkt in IAM verwalten, indem Sie auf "Verwalten" > "Zugriff (IAM)" > "Service-IDs" klicken. Weitere Informationen finden Sie in Service-IDs erstellen und verwenden.

    Für Dienste mit feinerem Ressourcenzugriff können Sie eine Dienst-ID verwenden, um nur Zugriff auf eine Unterressource zu gewähren, z. B. einen Object Storage-Bucket.

  8. Klicken Sie auf Erweiterte Optionen, um weitere Parameter als gültiges JSON-Objekt bereitzustellen, das dienstspezifische Konfigurationsparameter enthält, die entweder inline oder in einer Datei bereitgestellt werden.

    Für die meisten Services sind keine zusätzlichen Parameter erforderlich. Bei den Services, die zusätzliche Parameter erfordern, definiert jeder Service eine eigene Parameterliste. Eine Liste der unterstützten Konfigurationsparameter finden Sie in der Dokumentation für den jeweiligen Dienst.

  9. Klicken Sie auf Erstellen, um die neue Dienstberechtigung zu erstellen.

    Der Dienstnachweis ist schreibgeschützt. Der Benutzer kann die Anmeldedaten entweder kopieren oder herunterladen.

  10. Wenn der Berechtigungsnachweis auf einmalige Anzeige eingestellt ist, kann er nicht erneut angezeigt werden.

  11. Erweitern Sie die Details Ihres neuen Dienstausweises. Kopieren Sie die Eigenschaften der Berechtigung, die Ihre App oder der externe Verbraucher benötigt. Zum Beispiel der API-Schlüssel oder das Passwort und URL.

Erstellen eines Dienstnachweises mit Hilfe der API

Zugangsdaten, die Sie nach dem 04. August 2025 erstellen, werden standardmäßig nur einmalig angezeigt; achten Sie also darauf, sie sicher zu speichern. Die Eigenschaft der einmaligen Ansicht bei bestehenden Berechtigungsnachweisen ist davon nicht betroffen. Weitere Informationen finden Sie unter Einmalige Berechtigungsnachweise.

IBM Cloud dienste können einen Ressourcenschlüssel generieren, der auch als Credential bezeichnet wird. Berechtigungsnachweise sind servicespezifisch und variieren abhängig davon, wie der jeweilige Service die Berechtigungsnachweise definiert, die generiert werden müssen. Ein Berechtigungsnachweis kann einen Benutzernamen, ein Passwort, einen Hostnamen, einen Port und eine URL enthalten, wobei der Inhalt jedes Berechtigungsnachweises für den Dienst, der ihn generiert, eindeutig ist.

Einige Services generieren möglicherweise zusätzliche Daten, für die die Angabe von Parametern erforderlich ist. So kann es bei einem Service zum Beispiel erforderlich sein, einen Sprachparameter einzugeben, mit dem die Standardsprache festgelegt wird, die im generierten Ressourcenschlüssel zurückgegeben wird.

Sie können neuen Anmeldedaten, die Sie für einen IBM Cloud-Dienst generieren, eine IAM-Dienstzugriffsrolle zuweisen. Diese Rolle gewährt Zugriff auf die gesamte Service-Instanz, nicht auf eine bestimmte Ressource. Bei Diensten mit feinerem Ressourcenzugriff möchten Sie möglicherweise nur Zugriff auf eine Teilressource gewähren, z. B. einen Object Storage-Bucket. In diesem Fall weisen Sie dem neuen Berechtigungsnachweis keine Rolle zu. Auf diese Weise können Sie den Zugriff auf feinerer Ebene verwalten, indem Sie den Berechtigungsnachweis mit einer Service-ID verknüpfen und eine IAM-Richtlinie erstellen, die Sie auf eine bestimmte Ressource, wie z. B. einen Bucket, anwenden. Gehen Sie dazu auf "Verwalten" > "Zugriff (IAM)" > "Service-IDs ". Wählen Sie die Service-ID mit dem gleichen Namen wie der Service Credential Key aus und klicken Sie auf "Zugriff zuweisen ".

Sie können einen Ressourcenschlüssel erstellen, indem Sie die API des Ressourcencontrollers aufrufen, wie im folgenden Beispiel dargestellt:

curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_keys -H 'Authorization: Bearer <IAM_TOKEN>' -H 'Content-Type: application/json' -d '{
  "name": "my-instance-key-1",
  "source": "267bf377-7fa2-43f6-94ec-09103a8e89d4",
  "role": "Writer"
}'
ResourceKeyPostParameters parameters = new ResourceKeyPostParameters.Builder()
  .add("exampleParameter", "exampleValue")
  .build();
CreateResourceKeyOptions createResourceKeyOptions = new CreateResourceKeyOptions.Builder()
  .name(keyName)
  .source(instanceGuid)
  .parameters(parameters)
  .build();

Response<ResourceKey> response = service.createResourceKey(createResourceKeyOptions).execute();
ResourceKey resourceKey = response.getResult();

System.out.printf("createResourceKey() response:\n%s\n", resourceKey.toString());
const parameters = {
  'exampleParameter': 'exampleValue'
};

const params = {
  name: keyName,
  source: instanceGuid,
  parameters: parameters,
};

resourceControllerService.createResourceKey(params)
  .then(res => {
    instanceKeyGuid = res.result.guid;
    console.log('createResourceKey() response:\n' + JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
parameters = {
    'exampleParameter': 'exampleValue'
}
resource_key = resource_controller_service.create_resource_key(
    name=key_name,
    source=instance_guid,
    parameters=parameters
).get_result()

print('\ncreate_resource_key() response:\n',
      json.dumps(resource_key, indent=2))
createResourceKeyOptions := resourceControllerService.NewCreateResourceKeyOptions(
  keyName,
  instanceGUID,
)

parameters := &resourcecontrollerv2.ResourceKeyPostParameters{}
parameters.SetProperty("exampleParameter", "exampleValue")
createResourceKeyOptions.SetParameters(parameters)

resourceKey, response, err := resourceControllerService.CreateResourceKey(createResourceKeyOptions)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(resourceKey, "", "  ")
fmt.Printf("\nCreateResourceKey() response:\n%s\n", string(b))

Verwenden Sie den API-Schlüssel oder andere Anmeldeinformationen, um die Service-Instanz mit Ihrer App oder einem anderen externen Verbraucher zu verbinden.

Erstellen eines Dienstausweises mit Terraform

Zugangsdaten, die Sie nach dem 04. August 2025 erstellen, werden standardmäßig nur einmalig angezeigt; achten Sie also darauf, sie sicher zu speichern. Die Eigenschaft der einmaligen Ansicht bei bestehenden Berechtigungsnachweisen ist davon nicht betroffen. Weitere Informationen finden Sie unter Einmalige Berechtigungsnachweise.

Ein Berechtigungsnachweis kann einen Benutzernamen, ein Passwort, einen Hostnamen, einen Port und ein URL enthalten. Der Inhalt jedes Berechtigungsnachweises ist jedoch für den Dienst, der it.Before generiert, einzigartig. Sie können einen Berechtigungsnachweis erstellen, um Ihre Anwendung oder einen externen Verbraucher mit einem IBM Cloud Dienst zu verbinden, indem Sie Terraform verwenden:

  • Installieren Sie die Terraform-CLI und konfigurieren Sie das Provider-Plug-in IBM Cloud für Terraform. Weitere Informationen finden Sie im Lernprogramm zur Einführung in Terraform auf IBM Cloud®. Das Plug-in abstrahiert die IBM Cloud APIs, die zur Erfüllung dieses Tasks verwendet werden.
  • Erstellen Sie eine Terraform-Konfigurationsdatei mit dem Namen main.tf. In dieser Datei definieren Sie Ressourcen mithilfe der Konfigurationssprache HashiCorp. Weitere Informationen finden Sie in der Terraform-Dokumentation.

Führen Sie die folgenden Schritte aus, um einen Berechtigungsnachweis für die Verbindung Ihrer App oder Ihres externen Verbrauchers mit einem IBM Cloud-Dienst zu erstellen:

  1. Erstellen Sie ein Argument in Ihrer Datei main.tf. Im folgenden Beispiel werden Berechtigungsnachweise für eine Ressource ohne Service-ID unter Verwendung der Ressource ibm_resource_instance erstellt, wobei name ein eindeutiger Name zur Kennzeichnung des Berechtigungsnachweises ist.

    data "ibm_resource_instance" "resource_instance" {
     name = "myobjectsotrage"
    }
    
    resource "ibm_resource_key" "resourceKey" {
     name                 = "myobjectkey"
     role                 = "Viewer"
     resource_instance_id = data.ibm_resource_instance.resource_instance.id
    
     //User can increase timeouts
     timeouts {
       create = "15m"
      delete = "15m"
     }
    }
    

    Standardmäßig erstellt die Ressource ibm_resource_key Serviceberechtigungsnachweise, die den öffentlichen Serviceendpunkt eines Services verwenden.

    Sie können tags angeben, die der Ressourcengruppeninstanz zugeordnet sind. Weitere Informationen finden Sie in der Argument-Referenz auf der Terraform Resource Management Seite.

  2. Nachdem Sie Ihre Konfigurationsdatei erstellt haben, initialisieren Sie die Terraform-CLI. Weitere Informationen finden Sie unter Arbeitsverzeichnisse initialisieren.

    terraform init
    
  3. Stellen Sie die Ressourcen aus der Datei main.tf bereit. Weitere Informationen finden Sie unter Infrastruktur mit Terraform bereitstellen.

    1. Führen Sie terraform plan aus, um einen Terraform-Ausführungsplan für die Vorschau der vorgeschlagenen Aktionen zu generieren.

      terraform plan
      
    2. Führen Sie terraform apply aus, um die Ressourcen zu erstellen, die im Plan definiert sind.

      terraform apply
      

Verwenden Sie den API-Schlüssel oder andere Anmeldeinformationen, um die Service-Instanz mit Ihrer App oder einem anderen externen Verbraucher zu verbinden.

Einsicht in einen Berechtigungsnachweis mit Terraform

Sie können einen Berechtigungsnachweis nach der Erstellung nur abrufen, wenn onetime_credentials false für diesen Berechtigungsnachweis lautet. Benutzer mit dem folgenden Zugriff auf die Ressourceninstanz können Serviceschlüsselwerte für Anmeldeinformationen anzeigen, für die onetime_credentials auf false konfiguriert wurde.

  • Benutzer mit Zugriff auf die Dienstinstanz, der gleich oder größer ist als der Zugriff der Dienstberechtigung. Weitere Informationen finden Sie unter Zugriff auf die Berechtigungsstufe.
  • Benutzer mit der Rolle Administrator auf der Serviceinstanz
  • Benutzer mit der IAM-Aktion resource-controller.credential.retrieve_all. Diese Aktion wird mit der Rolle des Administrators durchgeführt.

Führen Sie die folgenden Schritte aus, um einen vorhandenen Serviceberechtigungsnachweis für einen Service anzuzeigen:

  1. Erstellen Sie ein Argument in Ihrer Datei main.tf. Das folgende Beispiel ruft einen vorhandenen Berechtigungsnachweis für eine Ressource ab. Weitere Informationen finden Sie in der ibm_resource_key Terraform-Dokumentation.

    data "ibm_resource_key" "resourceKeydata" {
      name                  = "myobjectKey"
      resource_instance_id  = ibm_resource_instance.resource.id
    }
    
  2. Nachdem Sie Ihre Konfigurationsdatei erstellt haben, initialisieren Sie die Terraform-CLI. Weitere Informationen finden Sie unter Arbeitsverzeichnisse initialisieren.

    terraform init
    
  3. Stellen Sie die Ressourcen aus der Datei main.tf bereit. Weitere Informationen finden Sie unter Infrastruktur mit Terraform bereitstellen.

    1. Führen Sie terraform plan aus, um einen Terraform-Ausführungsplan für die Vorschau der vorgeschlagenen Aktionen zu generieren.

      terraform plan
      
    2. Führen Sie terraform apply aus, um die Ressourcen zu erstellen, die im Plan definiert sind.

      terraform apply
      

Einmalige Berechtigungsnachweise

Eine Ressourceninstanz verfügt über eine onetime_credentials-Eigenschaft, die festlegt, ob die Anmeldeinformationen, die Sie für diese Instanz erstellen, eine einmalige Ansicht sind. Die Instanzeinstellung zum Zeitpunkt der Erstellung legt fest, wie die Eigenschaft für jedes Credential eingestellt wird und kann später nicht mehr geändert werden.

  • Wenn diese Eigenschaft auf false gesetzt ist, kann der Berechtigungsnachweis jederzeit von Benutzern mit Zugriff abgerufen werden. Weitere Informationen zum Abrufen von Anmeldeinformationen finden Sie in der ibm_resource_key Terraform-Dokumentation.

  • Wenn diese Eigenschaft auf true gesetzt ist, können Sie die Anmeldeinformationen nur bei der Erstellung anzeigen

    Speichern Sie die Anmeldedaten für die einmalige Ansicht sicher, indem Sie einen Geheimnis- oder Passwort-Manager oder einen sicheren Speicher wie Object Storage in Ihrer Anwendung verwenden, um einen Verlust zu verhindern.

Aktivieren Sie die einmalige Ansicht auf Dienstinstanzen, um das Modell der geringsten Rechte zu unterstützen und den gemeinsamen Zugriff auf Anmeldeinformationen zu vermeiden. Gemeinsame Schlüssel können es schwierig machen, zu überprüfen, wie Identitäten in Ihrem Konto auf Ressourcen zugreifen.

Verwaltung der Einstellung für die einmalige Ansicht einer Ressourceninstanz

Benutzer mit der Rolle Administrator oder der IAM-Aktion resource-controller.instance.update_onetime_credential_off auf der Dienstinstanz können die Einstellung für die einmalige Ansicht für eine Ressourceninstanz verwalten.

 {
      "displayName": {
        "default": "Resource Instance Update Onetime Credential Off"
      },
      "description": {
        "default": "The ability to change onetime_credential from On to Off for existing instances."
      },
      "id": "resource-controller.instance.update_onetime_credential_off",
      "roles": [
        "crn:v1:bluemix:public:iam::::role:Administrator"
      ],
      "apiTypes": [
        "crn:v1:bluemix:public:context-based-restrictions::::platform-api-type:resource-management"
      ]
    }

Weitere Informationen finden Sie in der ibm_resource_instance Terraform-Dokumentation zur Aktualisierung der Eigenschaft onetime_credentials. Wenn Sie die Einstellung für eine Instanz ändern, behalten die vorhandenen Anmeldedaten die Einstellung, die sie zum Zeitpunkt der Erstellung hatten.

Zugriff auf Berechtigungsnachweisebene

Der Zugriff des Benutzers muss höher als oder identisch mit dem Zugriff des Serviceberechtigungsnachweises sein. Wenn der Berechtigungsnachweis beispielsweise die IAM-Servicerolle Writer hat, muss dem Benutzer, der den Berechtigungsnachweis anzeigen möchte, die IAM-Servicerolle Writer oder Manager für diesen bestimmten Service zugewiesen sein. Wenn ein Benutzer nicht über den korrekten Zugriff verfügt, werden Details wie der Wert des API-Schlüssels maskiert:

    "credentials": {
        "REDACTED": "REDACTED"
    },

Zugriff auf IAM-Ebene

Wenn der Zugriff auf Berechtigungsnachweisebene nicht ermittelt werden kann, indem der Zugriff des Benutzers mit dem des Berechtigungsnachweises verglichen wird, wird der Berechtigungsnachweis maskiert:

    "credentials": {
        "REDACTED": "REDACTED_EXPLICIT"
    },

Berechtigungsnachweis anzeigen

Nachdem ein Berechtigungsnachweis für einen Dienst erstellt wurde, der onetime_credentials auf false konfiguriert ist, kann er jederzeit von Benutzern eingesehen werden, die die Berechtigungswerte benötigen. Alle Benutzer müssen jedoch über die korrekte Zugriffsebene verfügen, um die Details eines Berechtigungsnachweises anzuzeigen. Dazu gehört auch der Wert des API-Schlüssels. Sie können einen Berechtigungsnachweis nach der Erstellung nur abrufen, wenn die einmalige Ansicht für diesen Berechtigungsnachweis deaktiviert ist. Benutzer mit dem folgenden Zugriff auf die Ressourceninstanz können Serviceschlüsselwerte für Anmeldeinformationen mit deaktivierter Einmalansicht anzeigen.

  • Benutzer mit Zugriff auf die Dienstinstanz, der gleich oder größer ist als der Zugriff der Dienstberechtigung. Weitere Informationen finden Sie unter Zugriff auf die Berechtigungsstufe.
  • Benutzer mit der Rolle Administrator auf der Serviceinstanz.
  • Benutzer mit der IAM-Aktion resource-controller.credential.retrieve_all. Diese Aktion wird mit der Rolle des Administrators durchgeführt.

Führen Sie die folgenden Schritte aus, um einen vorhandenen Serviceberechtigungsnachweis für einen Service anzuzeigen:

  1. Wählen Sie auf der Seite mit der Ressourcenliste den Namen des Service aus, um die Seite mit den Servicedetails zu öffnen.
  2. Klicken Sie auf Serviceberechtigungsnachweise.
  3. Erweitern Sie in der Zeile für einen vorhandenen Berechtigungsnachweis die Option Berechtigungsnachweise anzeigen.

Einmalige Berechtigungsnachweise

Der Berechtigungsnachweis hat eine onetime_credentials-Eigenschaft, die festlegt, ob Sie den Berechtigungsnachweis nach seiner ersten Erstellung abrufen und anzeigen können. Wenn die Eigenschaft false ist, können Benutzer mit Zugriff die Anmeldeinformationen jederzeit einsehen. Für eine Ressourceninstanz gibt es die Einstellung "Einmalige Ansicht", die festlegt, ob die Anmeldeinformationen, die Sie für diese Instanz erstellen, einmalig angezeigt werden. Einmalige Berechtigungsnachweise können nur zum Zeitpunkt der Erstellung eingesehen und gespeichert werden. Die Instanzeinstellung zum Zeitpunkt der Erstellung legt fest, wie die Eigenschaft für jedes Credential eingestellt wird und kann später nicht mehr geändert werden.

  • Wenn die einmalige Ansicht "Aus" ist, kann der Berechtigungsnachweis jederzeit von Benutzern mit Zugang abgerufen werden.

  • Wenn die einmalige Ansicht "Ein" ist, können Sie die Berechtigung nur bei der Erstellung einsehen.

    Speichern Sie die Anmeldedaten für die einmalige Ansicht sicher, indem Sie einen Geheimnis- oder Passwort-Manager oder einen sicheren Speicher wie Object Storage in Ihrer Anwendung verwenden, um einen Verlust zu verhindern.

Aktivieren Sie die einmalige Ansicht auf Dienstinstanzen, um das Modell der geringsten Rechte zu unterstützen und den gemeinsamen Zugriff auf Anmeldeinformationen zu vermeiden. Gemeinsame Schlüssel können es schwierig machen, zu überprüfen, wie Identitäten in Ihrem Konto auf Ressourcen zugreifen.

Verwaltung der Einstellung für die einmalige Ansicht einer Ressourceninstanz

Benutzer mit der Rolle Administrator oder der IAM-Aktion resource-controller.instance.update_onetime_credential_off auf einer Dienstinstanz können die Einstellung für die einmalige Ansicht für diese Instanz verwalten.

 {
      "displayName": {
        "default": "Resource Instance Update Onetime Credential Off"
      },
      "description": {
        "default": "The ability to change onetime_credential from On to Off for existing instances."
      },
      "id": "resource-controller.instance.update_onetime_credential_off",
      "roles": [
        "crn:v1:bluemix:public:iam::::role:Administrator"
      ],
      "apiTypes": [
        "crn:v1:bluemix:public:context-based-restrictions::::platform-api-type:resource-management"
      ]
    }

Weitere Informationen finden Sie unter Ressourcen-Controller-API zum Aktualisieren der Eigenschaft onetime_credentials für eine Instanz. Wenn Sie die Einstellung für eine Instanz ändern, behalten die vorhandenen Anmeldedaten die Einstellung, die sie zum Zeitpunkt der Erstellung hatten.

Bestehende Berechtigungsnachweise, die vor dieser Eigenschaftsänderung erstellt wurden, sind davon nicht betroffen.

Zugriff auf Berechtigungsnachweisebene

Der Zugriff des Benutzers muss höher als oder identisch mit dem Zugriff des Serviceberechtigungsnachweises sein. Wenn der Berechtigungsnachweis beispielsweise die IAM-Servicerolle Writer hat, muss dem Benutzer, der den Berechtigungsnachweis anzeigen möchte, die IAM-Servicerolle Writer oder Manager für diesen bestimmten Service zugewiesen sein. Wenn ein Benutzer nicht über den korrekten Zugriff verfügt, werden Details wie der Wert des API-Schlüssels maskiert:

    "credentials": {
        "REDACTED": "REDACTED"
    },

Zugriff auf IAM-Ebene

Wenn der Zugriff auf Berechtigungsnachweisebene nicht ermittelt werden kann, indem der Zugriff des Benutzers mit dem des Berechtigungsnachweises verglichen wird, wird der Berechtigungsnachweis maskiert:

    "credentials": {
        "REDACTED": "REDACTED_EXPLICIT"
    },

Zum Anzeigen des Berechtigungsnachweises muss der Benutzer über die Zugriffsaktion resource-controller.credential.retrieve_all auf IAM-Ebene verfügen. Diese Aktion wird mit der Administratorrolle ausgeführt und überschreibt den Zugriff auf Berechtigungsnachweisebene, was dem Benutzer das Anzeigen des Berechtigungsnachweises ermöglicht.

Berechtigungsnachweis über die Anwendungsprogrammierschnittstelle (API) anzeigen

Nachdem ein Berechtigungsnachweis für einen Dienst erstellt wurde, der onetime_credentials auf false konfiguriert ist, kann er jederzeit von Benutzern eingesehen werden, die die Berechtigungswerte benötigen. Alle Benutzer müssen jedoch über die korrekte Zugriffsebene verfügen, um die Details eines Berechtigungsnachweises anzuzeigen. Dazu gehört auch der Wert des API-Schlüssels. Der Zugriff des Benutzers muss größer-gleich dem des Berechtigungsnachweises für den Service sein. Wenn der Berechtigungsnachweis beispielsweise die IAM-Dienstrolle Writer hat, muss der Benutzer, der versucht, den Berechtigungsnachweis einzusehen, die IAM-Dienstrolle Writer oder Manager für diesen bestimmten Dienst zugewiesen haben. Sie können einen Berechtigungsnachweis nach der Erstellung nur abrufen, wenn onetime_credentials false für diesen Berechtigungsnachweis lautet. Benutzer mit dem folgenden Zugriff auf die Ressourceninstanz können Serviceschlüsselwerte für Anmeldeinformationen anzeigen, für die onetime_credentials auf false konfiguriert wurde.

  • Benutzer mit Zugriff auf die Dienstinstanz, der gleich oder größer ist als der Zugriff der Dienstberechtigung. Weitere Informationen finden Sie unter Zugriff auf die Berechtigungsstufe.
  • Benutzer mit der Rolle Administrator auf der Serviceinstanz.
  • Benutzer mit der IAM-Aktion resource-controller.credential.retrieve_all. Diese Aktion wird mit der Rolle des Administrators durchgeführt.

Sie können eine Liste aller Ressourcenschlüssel abrufen, indem Sie die API des Ressourcencontrollers aufrufen, wie im folgenden Beispiel dargestellt:

curl -X GET https://resource-controller.cloud.ibm.com/v2/resource_keys -H 'Authorization: Bearer <IAM_TOKEN>'
ListResourceKeysOptions listResourceKeysOptions = new ListResourceKeysOptions.Builder()
  .name(keyName)
  .build();

Response<ResourceKeysList> response = service.listResourceKeys(listResourceKeysOptions).execute();
ResourceKeysList resourceKeysList = response.getResult();

System.out.printf("listResourceKeys() response:\n%s\n", resourceKeysList.toString());
const params = {
  name: keyName,
};

resourceControllerService.listResourceKeys(params)
  .then(res => {
    console.log('listResourceKeys() response:\n' + JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
resource_keys_list = resource_controller_service.list_resource_keys(
    name=key_name
).get_result()

print('\nlist_resource_keys() response:\n',
      json.dumps(resource_keys_list, indent=2))
listResourceKeysOptions := resourceControllerService.NewListResourceKeysOptions()
listResourceKeysOptions = listResourceKeysOptions.SetName(keyName)

resourceKeysList, response, err := resourceControllerService.ListResourceKeys(listResourceKeysOptions)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(resourceKeysList, "", "  ")
fmt.Printf("\nListResourceKeys() response:\n%s\n", string(b))

Beispielantwort:

{
  "rows_count": 1,
  "next_url": null,
  "resources": [
    {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-key:23693f48-aaa2-4079-b0c7-334846eff8d0",
      "guid": "23693f48-aaa2-4079-b0c7-334846eff8d0",
      "url": "/v2/resource_keys/23693f48-aaa2-4079-b0c7-334846eff8d0",
      "created_at": "2018-07-02T22:03:43.837979455Z",
      "updated_at": "2018-07-02T22:03:43.837979455Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "source_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "role": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
      "name": "my-instance-key-1",
      "parameters": {
        "role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer"
      },
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-key:23693f48-aaa2-4079-b0c7-334846eff8d0",
      "state": "active",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "onetime_credentials": false,
      "credentials": {
        "apikey": "XXXX-YYYY-ZZZZ\"",
        "endpoints": "https://cos-service-armada-s.us-south.containers.mybluemix.net/endpoints",
        "iam_apikey_description": "Auto generated apikey during resource-key operation for Instance - crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
        "iam_apikey_name": "auto-generated-apikey-23693f48-aaa2-4079-b0c7-334846eff8d0",
        "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
        "iam_serviceid_crn": "crn:v1:bluemix:public:iam-identity::a/4329073d16d2f3663f74bfa955259139::serviceid:ServiceId-64c29e4f-422d-468c-a11b-1a8f671b5c89",
        "resource_instance_id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::"
      },
      "iam_compatible": true,
      "migrated": false,
      "resource_instance_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "resource_alias_url": null
    }
  ]
}

Einmalige Berechtigungsnachweise

Eine Ressourceninstanz verfügt über eine onetime_credentials-Eigenschaft, die festlegt, ob die Anmeldeinformationen, die Sie für diese Instanz erstellen, eine einmalige Ansicht sind. Die Instanzeinstellung zum Zeitpunkt der Erstellung legt fest, wie die Eigenschaft für jedes Credential eingestellt wird und kann später nicht mehr geändert werden.

  • Wenn diese Eigenschaft auf false gesetzt ist, kann der Berechtigungsnachweis jederzeit von Benutzern mit Zugriff abgerufen werden. Weitere Informationen zum Abrufen eines Berechtigungsnachweises finden Sie in der Operation Ressourcenschlüssel abrufen.

  • Wenn diese Eigenschaft auf true gesetzt ist, können Sie den Berechtigungsnachweis nur bei der Erstellung einsehen, stellen Sie also sicher, dass Sie ihn sicher speichern.

    Speichern Sie die Anmeldedaten für die einmalige Ansicht sicher, indem Sie einen Geheimnis- oder Passwort-Manager oder einen sicheren Speicher wie Object Storage in Ihrer Anwendung verwenden, um einen Verlust zu verhindern.

Aktivieren Sie die einmalige Ansicht auf Dienstinstanzen, um das Modell der geringsten Rechte zu unterstützen und den gemeinsamen Zugriff auf Anmeldeinformationen zu vermeiden. Gemeinsame Schlüssel können es schwierig machen, zu überprüfen, wie Identitäten in Ihrem Konto auf Ressourcen zugreifen.

Verwaltung der Einstellung für die einmalige Ansicht einer Ressourceninstanz

Benutzer mit der Rolle Administrator oder der IAM-Aktion resource-controller.instance.update_onetime_credential_off auf einer Dienstinstanz können die Einstellung für die einmalige Ansicht für diese Instanz verwalten.

 {
      "displayName": {
        "default": "Resource Instance Update Onetime Credential Off"
      },
      "description": {
        "default": "The ability to change onetime_credential from On to Off for existing instances."
      },
      "id": "resource-controller.instance.update_onetime_credential_off",
      "roles": [
        "crn:v1:bluemix:public:iam::::role:Administrator"
      ],
      "apiTypes": [
        "crn:v1:bluemix:public:context-based-restrictions::::platform-api-type:resource-management"
      ]
    }

Weitere Informationen finden Sie unter Ressourcen-Controller-API zum Aktualisieren der Eigenschaft onetime_credentials für eine Instanz. Wenn Sie die Einstellung für eine Instanz ändern, behalten die vorhandenen Anmeldedaten die Einstellung, die sie zum Zeitpunkt der Erstellung hatten.

Zugriff auf Berechtigungsnachweisebene

Der Zugriff des Benutzers muss höher als oder identisch mit dem Zugriff des Serviceberechtigungsnachweises sein. Wenn der Berechtigungsnachweis beispielsweise die IAM-Servicerolle Writer hat, muss dem Benutzer, der den Berechtigungsnachweis anzeigen möchte, die IAM-Servicerolle Writer oder Manager für diesen bestimmten Service zugewiesen sein. Wenn ein Benutzer nicht über den korrekten Zugriff verfügt, werden Details wie der Wert des API-Schlüssels maskiert:

    "credentials": {
        "REDACTED": "REDACTED"
    },

Zugriff auf IAM-Ebene

Wenn der Zugriff auf Berechtigungsnachweisebene nicht ermittelt werden kann, indem der Zugriff des Benutzers mit dem des Berechtigungsnachweises verglichen wird, wird der Berechtigungsnachweis maskiert:

    "credentials": {
        "REDACTED": "REDACTED_EXPLICIT"
    },

Zum Anzeigen des Berechtigungsnachweises muss der Benutzer über die Zugriffsaktion resource-controller.credential.retrieve_all auf IAM-Ebene verfügen. Diese Aktion wird mit der Administratorrolle ausgeführt und überschreibt den Zugriff auf Berechtigungsnachweisebene, was dem Benutzer das Anzeigen des Berechtigungsnachweises ermöglicht.