Vertrauenswürdige Profile für föderierte Benutzer und Arbeitslasten

Zugang gewähren, ohne Anmeldedaten zu verwalten. Verwenden Sie vertrauenswürdige Profile für Verbundbenutzer mit SAML Attributen oder Workload-Identitäten in Rechenressourcen.

Sie können vertrauenswürdige Profile verwenden, um verschiedenen IBM Cloud® Identitäten Zugriff auf Ressourcen in Ihrem Konto zu gewähren. Erteilen Sie föderierten Benutzern automatisch Zugriff auf Ihr Konto unter Bedingungen, die auf SAML-Attributen aus Ihrem Unternehmensverzeichnis basieren. Oder verwenden Sie vertrauenswürdige Profile, um eine fein abgestufte Autorisierung für Anwendungen einzurichten, die in Rechenressourcen ausgeführt werden. So müssen Sie keine Service-IDs oder API-Schlüssel für die Rechenressourcen erstellen. Sie können auch eine Vertrauensstellung mit IBM Cloud Diensten oder Dienst-IDs in einem anderen Konto einrichten, um einen kontoübergreifenden Zugriff zu ermöglichen.

Ein Benutzer muss nicht Mitglied des Kontos sein, um ein vertrauenswürdiges Profil anzunehmen. Ein Benutzer kann das Profil verwenden, wenn der Identitätsanbieter des Benutzers ( IdP ) mit einem in den Vertrauensbedingungen verwendeten IdP übereinstimmt.

Bei der erstmaligen Erstellung eines vertrauenswürdigen Profils können Sie Vertrauensbedingungen für die folgenden Entitätstypen erstellen: Verbundbenutzer, Rechenressourcen, Dienst-IDs oder IBM Cloud Dienste. Nachdem Sie das vertrauenswürdige Profil erstellt haben, können Sie weitere Bedingungen hinzufügen, um mehrere Entitätstypen in demselben Profil zu kombinieren.

Sie können Activity Tracker verwenden, um zu überwachen, welche Verbundbenutzer Rechenressourcen, Dienst-IDs und IBM Cloud Dienste ein vertrauenswürdiges Profil anwenden. Weitere Informationen finden Sie unter Monitoring login sessions for trusted profiles.

Vorbereitende Schritte

Wenn Sie über den folgenden Zugriff verfügen, können Sie vertrauenswürdige Profile erstellen:

  • Kontoeigner
  • Administratorrolle für alle Kontoverwaltungsservices
  • Administratorrolle für IAM Identity Service. Weitere Informationen finden Sie in IAM Identity Service.

Vertrauensbildung mit föderierten Benutzern in der Konsole

Mit den folgenden Schritten können Sie definieren, welche föderierten Benutzer auf bestimmte Ressourcen zugreifen können:

  1. Aktivieren Sie die Authentifizierung von einem externen Identitätsprovider.

  2. Klicken Sie in der IBM Cloud-Konsole auf Verwalten > Zugriff (IAM) und wählen Sie Vertrauenswürdige Profile aus.

  3. Klicken Sie auf Erstellen.

  4. Beschreiben Sie Ihr Profil, indem Sie einen Namen, eine E-Mail-Adresse und eine Beschreibung angeben, und klicken Sie dann auf Weiter.

    In der E-Mail können Sie entweder eine persönliche E-Mail-ID oder eine Verteilerliste hinzufügen.

    Geben Sie in der Beschreibung eine Liste der für dieses vertrauenswürdige Profil verfügbaren Aktionen an.

  5. Sie können das vertrauenswürdige Profil erstellen, bevor Sie Details hinzufügen, indem Sie Später entscheiden wählen. Oder Sie schaffen Vertrauen, indem Sie die folgenden Schritte ausführen:

    1. Wählen Sie Eingebundene Benutzer als vertrauenswürdigen Entitätstyp aus der Liste aus.

    2. Wählen Sie als Authentifizierungsmethode Users federated by IBMid oder **Users federated by IBM Cloud App ID und geben Sie den Standard-Identitätsanbieter (**IdP ) ein, den Sie in Schritt 1 aktiviert haben.

      Wenn die Benutzer, für die Sie ein vertrauenswürdiges Profil erstellen, IBM Cloud App ID verwenden, sollten Sie das vertrauenswürdige Profil als App ID-Benutzer erstellen. Entsprechendes gilt für die IBMid. Auf diese Weise können Sie anhand Ihrer eigenen SAML-Attribute eine Vorstellung davon bekommen, wie die Bedingungen für das vertrauenswürdige Profil strukturiert werden sollen. Andere Benutzer mit demselben IdP können unterschiedliche SAML-Attribute haben. Verwenden Sie Ihre eigenen Attribute nur als Hinweis. Wenn Sie Attribute in einer Anforderung verwenden möchten, die sich von Ihren eigenen unterscheiden, geben Sie sie manuell ein. {: tip}

      1. Wählen Sie als Authentifizierungsmethode Users federated by IBMid, Users federated by IBM Cloud App ID oder **Users federated by IBM Cloud SAML und geben Sie den Standard-Identitätsanbieter (**IdP ) ein, den Sie in Schritt 1 aktiviert haben.
    3. Fügen Sie auf der Grundlage Ihrer IdP-Daten Bedingungen hinzu, um zu definieren, wie und wann eingebundene Benutzer das Profil anwenden können.

      • Wenn Sie auf Bedingung hinzufügen klicken, können Sie mehrere Bedingungen definieren. Eingebundene Benutzer müssen alle Bedingungen erfüllen, um in das vertrauenswürdige Profil eingeschlossen zu werden. Weitere Informationen zu den Feldern, die zum Erstellen von Bedingungen verwendet werden, finden Sie unter Eigenschaften von IAM-Bedingungen.
      • Klicken Sie auf Identitätsprovider (IdP)-Daten anzeigen, um Attributnamen und -werte in Ihren eigenen persönlichen Daten von Ihrem IdP zu durchsuchen. Weitere Informationen finden Sie unter Verwenden von IdP-Daten zur Erstellung vertrauenswürdiger Profile.
    4. Definieren Sie die Sitzungsdauer, wie lange ein Benutzer das Profil anwenden kann, bevor er sich erneut authentifizieren muss.

  6. Klicken Sie auf Weiter.

  7. (Optional) Weisen Sie dem vertrauenswürdigen Profil Zugriff zu.

  8. Oder klicken Sie auf Erstellen, ohne einen Zugang zuzuweisen.

Weitere Informationen zu den Feldern, die zum Erstellen von Bedingungen für vertrauenswürdige Profile verwendet werden, finden Sie unter Eigenschaften von IAM-Bedingungen.

Vertrauensbildung mit Rechenressourcen in der Konsole

Mit den folgenden Schritten können Sie eine größere Kontrolle über die Erteilung des Zugriffs auf Rechenressourcen einrichten.

IBM Cloud Kubernetes Service unterstützt vertrauenswürdige Profile nur ab Version 1.21. Kostenfreie IBM Cloud Kubernetes Service-Cluster wurden nur mit früheren Versionen erstellt. Beim Standardplan haben Sie die Möglichkeit, Cluster mit einer früheren Version zu erstellen; achten Sie daher darauf, Version 1.21 oder höher auszuwählen.

  1. Klicken Sie in der IBM Cloud-Konsole auf Verwalten > Zugriff (IAM) und wählen Sie Vertrauenswürdige Profile aus.

  2. Klicken Sie auf Profil erstellen.

  3. Beschreiben Sie Ihr Profil, indem Sie einen Namen und eine Beschreibung angeben, und klicken Sie auf Weiter.

  4. Sie können das vertrauenswürdige Profil erstellen, bevor Sie Details hinzufügen, indem Sie Später entscheiden wählen. Oder Sie schaffen Vertrauen, indem Sie die folgenden Schritte ausführen:

    1. Wählen Sie Rechenressourcen aus und wählen Sie in der Liste einen Rechenservicetyp aus.

    2. Wenn Sie die Option Alle Serviceressourcen auswählen, können Sie mehrere Bedingungen definieren, um Ressourcen für den ausgewählten Rechenservicetyp zu filtern; klicken Sie hierzu auf Bedingung hinzufügen. Diese Bedingungen basieren auf Attributen (z. B. Ressourcengruppen oder Standort) und gelten für alle vorhandenen und künftigen Ressourcen. Ressourcen müssen alle Bedingungen erfüllen, um in das vertrauenswürdige Profil aufgenommen zu werden.

      Der Kubernetes-Namensbereich und die Servicekontonamen, die Sie eingeben, müssen noch nicht unbedingt vorhanden sein. Alle künftigen Namensbereiche oder Servicekonten mit diesen Namen können eine Vertrauensbeziehung herstellen. Zum Auflisten vorhandener Namensbereiche melden Sie sich bei Ihrem Cluster an und führen Sie den Befehl kubectl get ns aus. Wenn Sie vorhandene Servicekonten auflisten möchten, melden Sie sich bei Ihrem Cluster an und führen Sie kubectl get sa -n <namespace> aus. Sie können auch default für beide eingeben.

    3. Wenn Sie Bestimmte Ressourcen auswählen, können Sie direkt und ohne Bedingungen Vertrauen zu einer oder mehreren vorhandenen Rechenressourceninstanzen aufbauen. beispielsweise zu einem Kubernetes-Cluster.

  5. Klicken Sie auf Weiter.

  6. (Optional) Weisen Sie dem vertrauenswürdigen Profil Zugriff zu.

  7. Oder klicken Sie auf Erstellen, ohne einen Zugang zuzuweisen.

Weitere Informationen zu den Feldern, die zum Erstellen von Bedingungen für vertrauenswürdige Profile verwendet werden, finden Sie unter Eigenschaften von IAM-Bedingungen.

Vertrauensbildung mit IBM Cloud Diensten in der Konsole

Ein IBM Cloud-Dienst in Ihrem oder einem anderen Konto benötigt möglicherweise ein Token, um einen Vorgang in Ihrem Konto auszuführen.

Beispiel 1
Eine Projektdienstinstanz in einem anderen Konto kann ein vertrauenswürdiges Profil annehmen, um eine Architektur in Ihrem Konto sicher einzusetzen, ohne dass eine Schlüsselrotation erforderlich ist. Weitere Informationen finden Sie unter Verwendung vertrauenswürdiger Profile zur Autorisierung eines Projekts für die Bereitstellung einer Architektur.
Beispiel 2
Ein privater Katalog ist eine Instanz des Katalogverwaltungsdienstes, die durch eine CRN identifiziert wird. Möglicherweise möchten Sie Produkte aus Ihrem privaten Katalog in einem anderen Konto validieren als in dem, das Ihren Katalog enthält. Sie können einem privaten Katalog Zugriff auf die Erstellung von Ressourcen für die Validierung in einem Zielkonto geben, indem Sie ein vertrauenswürdiges Profil im Zielkonto erstellen. Anschließend stellen Sie das Vertrauen in den Katalog her, indem Sie die Katalog-CRN verwenden, um die Serviceinstanz mit dem vertrauenswürdigen Profil zu verknüpfen. Weitere Informationen finden Sie unter Onboarding von Software für Ihren privaten Katalog.

Die gemeinsame Nutzung von Ressourcen über Konten hinweg mit Hilfe von vertrauenswürdigen Profilen funktioniert nur für eine begrenzte Anzahl von Diensten und ist keine allgemeine Methode für den kontenübergreifenden Zugriff auf Dienste.

Führen Sie die folgenden Schritte aus, um festzulegen, wie ein IBM Cloud-Dienst auf bestimmte Ressourcen in Ihrem Konto zugreifen kann:

  1. Fragen Sie den Administrator des Dienstes nach dem Cloud Resource Name (CRN), der die Dienstinstanz eindeutig identifiziert. Der CRN wird zur Autorisierung von Operationen verwendet.

    Der Dienstadministrator kann die CRN finden, indem er das Navigationsmenü-Symbol Navigationsmenü-Symbol > Ressourcenliste aufruft und auf den Namen des Dienstes klickt, auf den Sie abzielen. Kopieren Sie im Abschnitt Details die CRN. Für einen privaten Katalog CRN, gehen Sie zu Verwalten > Kataloge > Private Kataloge und wählen Sie den privaten Katalog. Klicken Sie auf Aktionen... > Katalogdetails bearbeiten, um die Katalog-CRN zu finden.

  2. Klicken Sie in der IBM Cloud-Konsole auf Verwalten > Zugriff (IAM) und wählen Sie Vertrauenswürdige Profile aus.

  3. Klicken Sie auf Profil erstellen.

  4. Definieren Sie Ihr Profil, indem Sie einen Namen und eine Beschreibung angeben, und klicken Sie auf Weiter.

    Geben Sie in der Beschreibung eine Liste der Aktionen an, die für das vertrauenswürdige Profil verfügbar sind.

  5. Sie können das vertrauenswürdige Profil erstellen, bevor Sie Details hinzufügen, indem Sie Später entscheiden wählen. Oder Sie schaffen Vertrauen, indem Sie die folgenden Schritte ausführen:

    1. Wählen Sie IBM Cloud® Dienste.
    2. Geben Sie die CRN ein, die Ihnen der Dienstadministrator mitgeteilt hat.

    IBM Cloud dienste sind statische Identitäten, die keine Bedingungen verwenden, um Vertrauen aufzubauen. Stattdessen stellen Sie Vertrauen her, indem Sie die CRN verwenden, um eine direkte Verbindung mit der vertrauenswürdigen Stelle herzustellen.

  6. Klicken Sie auf Weiter.

  7. (Optional) Weisen Sie dem vertrauenswürdigen Profil Zugriff zu.

  8. Oder klicken Sie auf Erstellen, ohne einen Zugang zuzuweisen.

Vertrauensbildung mit Dienst-IDs in der Konsole

Sie können vertrauenswürdige Profile verwenden, um einer Dienst-ID kontoübergreifenden Zugriff und Zugriff auf klassische Infrastrukturdienste zu gewähren. Um einer Dienst-ID in einem Konto Zugriff auf ein Zielkonto zu geben, erstellen Sie das vertrauenswürdige Profil im Zielkonto. Führen Sie die folgenden Schritte aus, um festzulegen, wie eine Service-ID auf bestimmte Ressourcen in Ihrem Konto zugreifen kann:

  1. Fragen Sie einen Administrator des anderen Kontos nach dem Dienst-ID-Wert, der die Dienst-ID identifiziert.

    Ein Administrator kann den Wert der Service-ID finden, indem er zu Verwalten > Zugriff (IAM) > Service-IDs geht und die gewünschte Service-ID auswählt. Klicken Sie auf Details und kopieren Sie die ID, die mit ServiceId beginnt.

  2. Klicken Sie in der IBM Cloud-Konsole auf Verwalten > Zugriff (IAM) und wählen Sie Vertrauenswürdige Profile aus.

  3. Klicken Sie auf Profil erstellen.

  4. Definieren Sie Ihr Profil, indem Sie einen Namen und eine Beschreibung angeben, und klicken Sie auf Weiter.

    Geben Sie in der Beschreibung eine Liste der Aktionen an, die für dieses vertrauenswürdige Profil verfügbar sind.

  5. Sie können das vertrauenswürdige Profil erstellen, bevor Sie Details hinzufügen, indem Sie Später entscheiden wählen. Oder Sie schaffen Vertrauen, indem Sie die folgenden Schritte ausführen:

    1. Service-IDs auswählen
    2. Geben Sie den Wert der Service-ID ein, die Ihnen der Administrator mitgeteilt hat.
  6. Klicken Sie auf Weiter.

  7. (Optional) Weisen Sie dem vertrauenswürdigen Profil Zugriff zu.

  8. Oder klicken Sie auf Erstellen, ohne einen Zugang zuzuweisen.

Service-IDs sind statische Identitäten, die keine Bedingungen zum Aufbau von Vertrauen verwenden. Stattdessen stellen Sie Vertrauen her, indem Sie den ID-Wert aus den Metadaten der Dienst-ID verwenden, um eine direkte Verbindung mit der vertrauenswürdigen Entität herzustellen.

Zuweisung des Zugriffs auf das vertrauenswürdige Profil

Nachdem Sie Vertrauen zu Verbundbenutzern, Rechenressourcen, einem IBM Cloud-Dienst oder einer Dienst-ID aufgebaut haben, können Sie den Zugriff zuweisen.

Sie können den klassischen Infrastrukturzugang nur zuweisen, wenn Ihr Konto mit einem Softlayer-Konto verknüpft ist.

  1. Zugriff zuweisen.
    • Weisen Sie Zugriff auf das vertrauenswürdige Profil zu, indem Sie es einer oder mehreren Zugriffsgruppen hinzufügen. Auf diese Weise können Sie die Richtlinien verwenden, die in den von Ihnen erstellten Zugriffsgruppen vorhanden sind.
      1. Wählen Sie Zugriffsgruppen und wählen Sie alle Gruppen aus, denen Sie das vertrauenswürdige Profil hinzufügen möchten. Sie können Benutzer nur solchen Zugriffsgruppen zuordnen, für die Sie über Verwaltungszugriff verfügen.
      2. Klicken Sie auf Hinzufügen.
    • Zugriff auf das vertrauenswürdige Profil mit einer Zugriffsrichtlinie zuweisen.
      1. Wählen Sie die Option Zugriffsrichtlinie aus. Je nach Zugriffsebene können Sie IAM-Richtlinien und Berechtigungen für die klassische Infrastruktur zuweisen.
      2. Wählen Sie einen einzelnen Dienst oder eine Gruppe von Diensten aus, z. B. Alle identitäts- und zugriffsfähigen Dienste, Alle Account Management-Dienste oder Alle IAM Account Management-Dienste. Klicken Sie anschließend auf Weiter.
      3. Erweitern Sie den Zugriff auf alle Ressourcen oder bestimmte Ressourcen auf der Grundlage ausgewählter Attribute. Klicken Sie anschließend auf Weiter.
      4. Wählen Sie eine beliebige Kombination aus Rollen und Berechtigungen aus, um den Geltungsbereich des Zugriffs zu definieren, und klicken Sie auf Überprüfen.
      5. Klicken Sie auf Hinzufügen, um die Richtlinienkonfiguration zu Ihrer Zusammenfassung hinzuzufügen.
      6. Sie können den Zugriff auf die klassische Infrastruktur zuweisen, indem Sie einen Benutzer, ein Gerät oder einen Service sowie anschließend eine beliebige Kombination aus differenzierten Berechtigungen auswählen.
  2. Klicken Sie auf Erstellen.

Anpassen des Konsolenerlebnisses

Als Administrator eines vertrauenswürdigen Profils können Sie festlegen, welche Navigationselemente im Banner der Konsole IBM Cloud für Benutzer angezeigt werden, die ein vertrauenswürdiges Profil anwenden. Diese Funktion trägt zur Optimierung der Konsolenerfahrung bei, indem sie Navigationselemente ausblendet, auf die die Benutzer keinen Zugriff benötigen, und verhindert, dass die Benutzer Bereiche erkunden, für die sie keine Berechtigung haben.

Um die Konsolennavigation für ein vertrauenswürdiges Profil anzupassen, führen Sie die folgenden Schritte aus:

  1. Klicken Sie in der Konsole IBM Cloud auf Verwalten > Zugriff (IAM) und dann auf Vertrauenswürdige Profile.
  2. Wählen Sie das vertrauenswürdige Profil, das Sie anpassen möchten, und klicken Sie auf Konsolenerfahrung.
  3. Wählen Sie die Landing Page aus, die Sie als Standard-Landing Page verwenden möchten, und klicken Sie auf Speichern.
  4. Wählen Sie die Navigationselemente aus, die Sie in das Konsolenbanner aufnehmen möchten.
  5. Wählen Sie die privaten Kataloge aus, in denen das vertrauenswürdige Profil auf bestimmte Produkte zugreifen kann, und klicken Sie auf Speichern.

Vertrauensbeziehung mit föderierten Benutzern über die Befehlszeilenschnittstelle herstellen

Mit den folgenden Schritten können Sie definieren, welche föderierten Benutzer auf bestimmte Ressourcen zugreifen können:

  1. Aktivieren Sie die Authentifizierung von einem externen Identitätsprovider.

  2. Erstellen Sie mit dem folgenden Befehl ein vertrauenswürdiges Profil:

    ibmcloud iam trusted-profile-create my-profile -d "sample trusted profile"
    

    Weitere Informationen finden Sie in der CLI-Referenz.

  3. Führen Sie zum Erstellen von Bedingungen für Ihr vertrauenswürdiges Profil den Befehl ibmcloud iam trusted-profile-rule-create aus:

    ibmcloud iam trusted-profile-rule-create my-profile --name my-rule --type Profile-SAML --conditions claim:cn,operator:EQUALS,value:my_user --realm-name https://w3id.sso.ibm.com/auth/sps/samlidp2/saml20 --expiration 1200
    

    Weitere Informationen finden Sie in der CLI-Referenz.

  4. Führen Sie den folgenden Befehl aus, um eine Zugriffsrichtlinie mit der Rolle Viewer für alle Ressourcen im Konto zu erstellen:

    ibmcloud iam trusted-profile-policy-create --roles Viewer
    

    Weitere Informationen finden Sie in der CLI-Referenz.

Vertrauensbeziehung mit Rechenressourcen über die Befehlszeilenschnittstelle herstellen

Mit den folgenden Schritten können Sie eine größere Kontrolle über die Erteilung des Zugriffs auf Rechenressourcen einrichten.

IBM Cloud Kubernetes Service unterstützt vertrauenswürdige Profile nur ab Version 1.21. Kostenfreie IBM Cloud Kubernetes Service-Cluster wurden nur mit früheren Versionen erstellt. Beim Standardplan haben Sie die Möglichkeit, Cluster mit einer früheren Version zu erstellen; achten Sie daher darauf, Version 1.21 oder höher auszuwählen.

  1. Erstellen Sie mit dem folgenden Befehl ein vertrauenswürdiges Profil:

    ibmcloud iam trusted-profile-create sample-compute-profile -d "sample trusted profile for compute resources"
    

    Weitere Informationen finden Sie in der CLI-Referenz.

  2. Erstellen Sie mit dem Befehl ibmcloud iam trusted-profile-rule-create Bedingungen für Ihr vertrauenswürdiges Profil:

    ibmcloud iam trusted-profile-rule-create sample-compute-profile --name cr-rule --type Profile-CR --conditions claim:namespace,operator:EQUALS,value:default --conditions claim:crn,operator:EQUALS,value:crn:test:bluemix:public:containers-kubernetes:us-south:a/test:: --cr-type IKS_SA
    

    Weitere Informationen finden Sie in der CLI-Referenz.

    Sie können auch eine direkte Verbindung erstellen:

    ibmcloud iam trusted-profile-link-create sample-compute-profile --name my_link --cr-type IKS_SA --link-name default  --link-namespace default --link-crn my_compute_resource_crn
    

    Weitere Informationen finden Sie in der CLI-Referenz.

  3. Erstellen Sie mit dem folgenden Befehl eine Zugriffsrichtlinie:

    ibmcloud iam trusted-profile-policy-create --roles Viewer
    

    Weitere Informationen finden Sie in der CLI-Referenz.

Vertrauensbildung mit den Diensten von IBM Cloud durch Verwendung der CLI

Ein IBM Cloud-Dienst in einem anderen Konto benötigt möglicherweise ein Token, um einen Vorgang in Ihrem Konto auszuführen. Führen Sie die folgenden Schritte aus, um festzulegen, wie ein IBM Cloud-Dienst auf bestimmte Ressourcen in Ihrem Konto zugreifen kann:

  1. Fragen Sie den Administrator des Dienstes in einem anderen Konto nach der CRN, die die Dienstinstanz eindeutig identifiziert. Der CRN wird zur Autorisierung von Operationen verwendet.

    Der Dienstadministrator kann die CRN finden, indem er das Navigationsmenü-Symbol Navigationsmenü-Symbol > Ressourcenliste aufruft und auf den gewünschten Dienst klickt. Kopieren Sie im Abschnitt Details die CRN.

  2. Schaffen Sie ein Vertrauensverhältnis mit einer direkten Verbindung:

    ibmcloud iam trusted-profile-link-create sample-cloudservice-profile --name my_cloudservice_link --link-crn `crn:version:cname:ctype:service-name:location:scope:service-instance:resource-type:resource`
    

    Weitere Informationen finden Sie in der CLI-Referenz.

  3. Erstellen Sie mit dem folgenden Befehl eine Zugriffsrichtlinie:

    ibmcloud iam trusted-profile-policy-create --roles Viewer
    

    Weitere Informationen finden Sie in der CLI-Referenz.

Vertrauensbildung mit Dienst-IDs durch Verwendung der CLI

Führen Sie die folgenden Schritte aus, um festzulegen, wie eine Service-ID auf bestimmte Ressourcen in Ihrem Konto zugreifen kann:

Sie können vertrauenswürdige Profile verwenden, um einer Dienst-ID kontoübergreifenden Zugriff und Zugriff auf Classic Infrastructure-Dienste zu gewähren.

  1. Fragen Sie einen Administrator des anderen Kontos nach dem Dienst-ID-Wert, der die Dienst-ID identifiziert.

    Ein Administrator kann den Wert der Service-ID finden, indem er zu Verwalten > Zugriff (IAM) > Service-IDs geht und die gewünschte Service-ID auswählt. Klicken Sie auf Details und kopieren Sie die ID, die mit ServiceId beginnt.

  2. Schaffen Sie ein Vertrauensverhältnis mit einer direkten Verbindung:

    ibmcloud iam trusted-profile-link-create sample-serviceid-profile --name my_serviceid_link --link-crn `crn:version:cname:ctype:service-name:location:scope:service-instance:resource-type:resource`
    

    Weitere Informationen finden Sie in der CLI-Referenz.

  3. Erstellen Sie mit dem folgenden Befehl eine Zugriffsrichtlinie:

    ibmcloud iam trusted-profile-policy-create --roles Viewer
    

    Weitere Informationen finden Sie in der CLI-Referenz.

Zuweisung des Zugriffs auf das vertrauenswürdige Profil mit Hilfe der CLI

Nachdem Sie Vertrauen zu Verbundbenutzern, Rechenressourcen, einem IBM Cloud-Dienst oder einer Dienst-ID aufgebaut haben, können Sie den Zugriff zuweisen.

Sie können den klassischen Infrastrukturzugang nur zuweisen, wenn Ihr Konto mit einem Softlayer-Konto verknüpft ist.

Verwenden Sie den Befehl trusted-profile-policy-create um dem vertrauenswürdigen Profil eine Zugriffsrichtlinie zuzuweisen. Im folgenden Beispiel wird eine Richtlinie mit der Rolle Administrator für alle Kontoverwaltungsdienste zugewiesen:

ibmcloud iam trusted-profile-policy-create Profile-36f5c562-1t36-4442-b7f0-2663c85386f1 --roles Administrator --attributes serviceType=service

Erstellen von Vertrauen mit eingebundenen Benutzern mithilfe der API

Mit den folgenden Schritten können Sie definieren, welche föderierten Benutzer auf bestimmte Ressourcen zugreifen können:

  1. Aktivieren Sie die Authentifizierung von einem externen Identitätsprovider.

  2. Erstellen Sie ein vertrauenswürdiges Profil, indem Sie Ihre Account-ID angeben.

    curl -X POST 'https://iam.cloud.ibm.com/v1/profiles' -H 'Authorization: Bearer TOKEN' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{
    "name": "My Nice Profile",
    "description": "My Nice Profile - desc",
    "account_id": "ACCOUNT_ID"
    }'
    

    Geben Sie in der Beschreibung eine Liste der für dieses vertrauenswürdige Profil verfügbaren Aktionen an.

  3. Erstellen Sie Bedingungen für Ihr vertrauenswürdiges Profil. Legen Sie für föderierte Benutzer das Attribut type auf Profile-SAML fest. Der realm-name ist die IdP-URL. Weitere Informationen finden Sie in der Dokumentation zur IAM Identity Services-API.

    curl -X POST 'https://iam.cloud.ibm.com/v1/profiles/PROFILE_ID/rules' -H 'Authorization: Bearer TOKEN' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{
    "type": "Profile-SAML",
    "realm_name": "https://www.example.org/my-nice-idp",
    "expiration": 43200,
    "conditions": [
    {
    "claim": "groups",
    "operator": "EQUALS",
    "value": "\"cloud-docs-dev\""
       }
       ]
    }'
    

    Es gibt eine Begrenzung von 20 Anforderungsregeln pro vertrauenswürdigem Profil.

  4. (Optional) Weisen Sie dem vertrauenswürdigen Profil Zugriff zu.

Vertrauensbildung mit Rechenressourcen über die API

Mit den folgenden Schritten können Sie eine größere Kontrolle über die Erteilung des Zugriffs auf Rechenressourcen einrichten.

IBM Cloud Kubernetes Service unterstützt vertrauenswürdige Profile nur ab Version 1.21. Kostenfreie IBM Cloud Kubernetes Service-Cluster wurden nur mit früheren Versionen erstellt. Beim Standardplan haben Sie die Möglichkeit, Cluster mit einer früheren Version zu erstellen; achten Sie daher darauf, Version 1.21 oder höher auszuwählen.

  1. Erstellen Sie ein vertrauenswürdiges Profil, indem Sie Ihre Account-ID angeben.

    curl -X POST 'https://iam.cloud.ibm.com/v1/profiles' -H 'Authorization: Bearer TOKEN' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{
    "name": "My Nice Profile",
    "description": "My Nice Profile - desc",
    "account_id": "ACCOUNT_ID"
    }'
    

    Geben Sie in der Beschreibung eine Liste der für dieses vertrauenswürdige Profil verfügbaren Aktionen an.

  2. Erstellen Sie eine Anspruchsregel für Ihr vertrauenswürdiges Profil, die dem Prinzip der geringsten Privilegien folgt, indem Sie Bedingungen angeben, die nur die Ressourcen als Ziel festlegen, auf die Zugriff erforderlich ist. Die Bedingungen gelten für alle vorhandenen künftigen Ressourcen. Sie können auch eine direkte Verbindung mit bestimmten, vorhandenen Ressourcen erstellen.

    Bedingungen schaffen
    Für Rechenressourcen setzen Sie das Attribut type auf Profile-CR. Weitere Informationen finden Sie in der Dokumentation zur IAM Identity Services-API.
    curl -X POST 'https://iam.cloud.ibm.com/v1/profiles/PROFILE_ID/rules' -H 'Authorization: Bearer TOKEN' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{
    "type": "Profile-CR",
    "conditions": [
    {
    "claim": "namespace",
    "operator": "EQUALS",
    "value": "\"default123\""
       }
       ]
    }'
    

    Es gibt eine Begrenzung von 20 Anforderungsregeln pro vertrauenswürdigem Profil.

    Direct Link erstellen
    Sie können eine direkte Verbindung zu bestimmten, bereits vorhandenen Ressourcen herstellen.
    curl -X POST 'https://iam.cloud.ibm.com/v1/profiles/PROFILE_ID/links' -H 'Authorization: Bearer TOKEN' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{
    "name": "my link",
    "cr_type": "VSI",
    "is_cross_account": true,
    "link": {
    "crn": "crn:v1:staging:public:iam-identity::a/18e3020749ce4744b0b472466d61fdb4::computeresource:Fake-Compute-Resource",
    "namespace": "default",
    "name": "my compute resource name"
    }
    }'
    
  3. (Optional) Weisen Sie dem vertrauenswürdigen Profil Zugriff zu.

Zuweisung des Zugriffs auf das vertrauenswürdige Profil mit Hilfe der API

Nachdem Sie Vertrauen zu Verbundbenutzern, Rechenressourcen, einem IBM Cloud-Dienst oder einer Dienst-ID aufgebaut haben, können Sie den Zugriff zuweisen.

Sie können den klassischen Infrastrukturzugang nur zuweisen, wenn Ihr Konto mit einem Softlayer-Konto verknüpft ist.

Im folgenden Beispiel wird eine Richtlinie mit der Rolle Administrator für alle Kontoverwaltungsdienste zugewiesen:

curl -X POST \
'https://iam.cloud.ibm.com/v1/policies' \
-H 'Authorization: $TOKEN'\
-H 'Content-Type: application/json'\
-d '{
  "type": "access",
  "subjects": [
    {
      "attributes": [
        {
          "name": "iam_id",
          "value": "Iam-Profile-35f55552-1e36-4442-z7f0-2673c85386f9"
        }
      ]
    }'
  ],
  "roles":[
    {
      "role_id": "crn:v1:bluemix:public:iam::::role:Administrator"
    }
  ],
  "resources":[
    {
      "attributes": [
        {
          "name": "accountId",
          "value": "$ACCOUNT_ID"
        },
        {
          "name": "serviceType",
          "value": "platform-service"
        }
      ]
    }
  ]
}'
SubjectAttribute subjectAttribute = new SubjectAttribute.Builder()
        .name("iam_id")
        .value("Iam-Profile-35f55552-1e36-4442-z7f0-2673c85386f9")
        .build();

PolicySubject policySubjects = new PolicySubject.Builder()
        .addAttributes(subjectAttribute)
        .build();

PolicyRole policyRoles = new PolicyRole.Builder()
        .roleId("crn:v1:bluemix:public:iam::::role:Administrator")
        .build();

ResourceAttribute accountIdResourceAttribute = new ResourceAttribute.Builder()
        .name("accountId")
        .value("exampleAccountId")
        .operator("stringEquals")
        .build();

ResourceAttribute serviceTypeResourceAttribute = new ResourceAttribute.Builder()
        .name("serviceType")
        .value("platform-service")
        .operator("stringEquals")
        .build();

PolicyResource policyResources = new PolicyResource.Builder()
        .addAttributes(accountIdResourceAttribute)
        .addAttributes(serviceTypeResourceAttribute)
        .build();

CreatePolicyOptions options = new CreatePolicyOptions.Builder()
        .type("access")
        .subjects(Arrays.asList(policySubjects))
        .roles(Arrays.asList(policyRoles))
        .resources(Arrays.asList(policyResources))
        .build();

Response<Policy> response = service.createPolicy(options).execute();
Policy policy = response.getResult();

System.out.println(policy);
const policySubjects = [
  {
    attributes: [
      {
        name: 'iam_id',
        value: "Iam-Profile-35f55552-1e36-4442-z7f0-2673c85386f9",
      },
    ],
  },
];
const policyRoles = [
  {
    role_id: 'crn:v1:bluemix:public:iam::::role:Administrator',
  },
];
const accountIdResourceAttribute = {
  name: 'accountId',
  value: 'exampleAccountId',
  operator: 'stringEquals',
};
const serviceTypeResourceAttribute = {
  name: 'serviceType',
  value: 'platform-service',
  operator: 'stringEquals',
};
const policyResources = [
  {
    attributes: [accountIdResourceAttribute, serviceTypeResourceAttribute]
  },
];
const params = {
  type: 'access',
  subjects: policySubjects,
  roles: policyRoles,
  resources: policyResources,
};

iamPolicyManagementService.createPolicy(params)
  .then(res => {
    examplePolicyId = res.result.id;
    console.log(JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
policy_subjects = PolicySubject(
  attributes=[SubjectAttribute(name='iam_id', value='Iam-Profile-35f55552-1e36-4442-z7f0-2673c85386f9')])
policy_roles = PolicyRole(
  role_id='crn:v1:bluemix:public:iam::::role:Administrator')
account_id_resource_attribute = ResourceAttribute(
  name='accountId', value=example_account_id)
service_name_resource_attribute = ResourceAttribute(
  name='serviceType', value='platform-service')
policy_resources = PolicyResource(
  attributes=[account_id_resource_attribute,
        service_type_resource_attribute])

policy = iam_policy_management_service.create_policy(
  type='access',
  subjects=[policy_subjects],
  roles=[policy_roles],
  resources=[policy_resources]
).get_result()

print(json.dumps(policy, indent=2))
subjectAttribute := &iampolicymanagementv1.SubjectAttribute{
  Name:  core.StringPtr("iam_id"),
  Value: core.StringPtr("Iam-Profile-35f55552-1e36-4442-z7f0-2673c85386f9"),
}
policySubjects := &iampolicymanagementv1.PolicySubject{
  Attributes: []iampolicymanagementv1.SubjectAttribute{*subjectAttribute},
}
policyRoles := &iampolicymanagementv1.PolicyRole{
  RoleID: core.StringPtr("crn:v1:bluemix:public:iam::::role:Administrator"),
}
accountIDResourceAttribute := &iampolicymanagementv1.ResourceAttribute{
  Name:     core.StringPtr("accountId"),
  Value:    core.StringPtr("ACCOUNT_ID"),
  Operator: core.StringPtr("stringEquals"),
}
serviceTypeResourceAttribute := &iampolicymanagementv1.ResourceAttribute{
  Name:     core.StringPtr("serviceType"),
  Value:    core.StringPtr("platform-service"),
  Operator: core.StringPtr("stringEquals"),
}
policyResources := &iampolicymanagementv1.PolicyResource{
  Attributes: []iampolicymanagementv1.ResourceAttribute{
    *accountIDResourceAttribute, *serviceTypeResourceAttribute},
}

options := iamPolicyManagementService.NewCreatePolicyOptions(
  "access",
  []iampolicymanagementv1.PolicySubject{*policySubjects},
  []iampolicymanagementv1.PolicyRole{*policyRoles},
  []iampolicymanagementv1.PolicyResource{*policyResources},
)

policy, response, err := iamPolicyManagementService.CreatePolicy(options)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(policy, "", "  ")
fmt.Println(string(b))