Zugriff für IBM Cloudant verwalten
IBM Cloud® Identity and Access Management (IAM) bietet einen einheitlichen Ansatz zur Verwaltung von Benutzeridentitäten, Services und der Zugriffssteuerung.
Im folgenden Text wird die Integration von IBM® Cloudant® for IBM Cloud® mit IBM Cloud Identity and Access Managementbeschrieben. Dabei werden die folgenden Themen behandelt:
- Unterschiede zwischen traditionellen IBM Cloudant-Zugriffssteuerungsmechanismen und den IBM Cloud IAM-Zugriffssteuerungsmechanismen.
- Vor- und Nachteile der verschiedenen Konzepte.
- Vorgehensweise zur Verwendung von IAM in den IBM Cloudant-Clientbibliotheken über HTTP-Aufrufe.
- Beschreibung der IAM-Aktionen und -Rollen, die in IBM Cloudant verfügbar sind.
Weitere Informationen finden Sie in einer Übersicht über IAM, die die folgenden Themen enthält:
- Verwaltung von Benutzer- und Service-IDs.
- Verwaltung der verfügbaren Berechtigungsnachweise.
- Verwendung der IAM-Zugriffsrichtlinien, mit denen der Zugriff auf die IBM Cloudant-Serviceinstanzen erteilt und entzogen werden kann.
Unterschiede zwischen traditionellen IBM Cloudant-Zugriffssteuerungsmechanismen und den IAM-Zugriffssteuerungsmechanismen
Im folgenden Abschnitt finden Sie eine kurze Übersicht zu den Unterschieden zwischen den traditionellen IBM Cloudant-Zugriffssteuerungsmechanismen und den IBM Cloud IAM-Zugriffssteuerungsmechanismen.
IBM Cloud Identity and Access Management
- Zentral verwaltetes Zugriffsmanagement für IBM Cloud.
- Zugriffsmöglichkeit für Benutzer oder Services auf zahlreiche unterschiedliche Ressourcen mithilfe der gleichen Gruppe von Berechtigungsnachweisen (z. B. Benutzername und Kennwort oder IAM-API-Schlüssel).
- IAM-API-Schlüsseln kann der Zugriff auf die Kontomanagementfunktionen (z. B. zum Erstellen neuer Datenbanken) erteilt werden.
Traditionelle IBM Cloudant-Zugriffssteuerungsmechanismen
- Nur für IBM Cloudant.
- Für den Zugriff auf die verschiedenen Serviceinstanzen sind eigene Berechtigungsnachweisgruppen erforderlich.
- Verwendung der HTTP-Basisauthentifizierung mit Berechtigungsnachweisen, die nicht an einen bestimmten Benutzer oder Service gebunden sind.
- IBM Cloudant-API-Schlüsseln können Berechtigungen nur auf Datenbankebene erteilt werden.
Hinweise zu API-Schlüsseln
Im vorliegenden Dokument bezieht sich die Verwendung des Begriffs 'API-Schlüssel' auf die IAM-API-Schlüssel. Für die Zugriffssteuerelemente der traditionellen Version von IBM Cloudant gibt es ebenfalls ein Konzept für API-Schlüssel. Alle Erläuterungen zu 'traditionellen IBM Cloudant-Berechtigungsnachweisen' oder 'Kombinationen aus Benutzername und Kennwort' beziehen sich auch auf IBM Cloudant-API-Schlüssel.
IAM mit IBM Cloudant aktivieren
Alle IBM Cloudant-Serviceinstanzen, die im Juli 2018 oder später bereitgestellt wurden, werden in Ressourcengruppen bereitgestellt und sind mit IBM Cloud IAM aktiviert. Optional können Sie auswählen, dass auch der traditionelle IBM Cloudant-Authentifizierungsmechanismus aktiviert werden soll. Wenn Sie eine neue IBM Cloudant-Instanz aus dem IBM Cloud-Katalog bereitstellen, wählen Sie eine der folgenden Authentifizierungsmethoden aus.
- Traditionelle Berechtigungsnachweise und IAM verwenden
- Dieser Modus bedeutet, dass sowohl IAM-Berechtigungsnachweise als auch traditionelle Berechtigungsnachweise für den Zugriff auf das Konto verwendet werden können. Sowohl IAM-Berechtigungsnachweisgruppen als auch traditionelle Berechtigungsnachweisgruppen werden für alle Anwendungen bereitgestellt, die über eine Bindung zum Konto und den generierten Serviceberechtigungsnachweisen verfügen.
- Nur IAM verwenden
- In diesem Modus werden ausschließlich IAM-Anmeldeinformationen bereitgestellt, und zwar mithilfe der Dienstbindung und der Generierung von Anmeldeinformationen.
Wenn Sie IAM-Rollen verwenden, bei denen es sich nicht um die Rolle Manager handelt, also z. B. die Rollen Reader, Writer, Monitor oder Checkpointer, müssen Sie
Nur IAM verwenden verwenden, um zu vermeiden, dass Benutzer traditionelle Berechtigungsnachweise mit umfassenderen Zugriffsberechtigungen erhalten.
Richtliniendurchsetzung
IAM-Richtlinien werden hierarchisch von der höchsten Zugriffsebene bis zu den meisten Einschränkungen durchgesetzt, wobei freizügigere Richtlinien weniger freizügige Richtlinien außer Kraft setzen. Wenn ein Benutzer beispielsweise sowohl die
Zugriffsrolle „ Writer “ als auch die Rolle „ Reader “ für eine Datenbank besitzt, wird die Richtlinie, die die Rolle „ Reader “ gewährt, ignoriert.
Dies gilt auch für Richtlinien auf Service-Instanz- und Datenbankebene.
- Wenn ein Benutzer über eine Richtlinie verfügt, die ihm die Rolle „
Writer“ für eine Dienstinstanz und die Rolle „Reader“ für eine einzelne Datenbank gewährt, wird die Richtlinie auf Datenbankebene ignoriert. - Wenn ein Benutzer über eine Richtlinie verfügt, die ihm die Rolle „
Reader“ für eine Dienstinstanz und die Rolle „Writer“ für eine einzelne Datenbank gewährt, werden beide Richtlinien durchgesetzt, wobei die weitreichendere Rolle „Writer“ für die jeweilige Datenbank Vorrang hat.
Falls es erforderlich ist, den Zugriff auf eine einzelne Datenbank (oder eine Gruppe von Datenbanken) einzuschränken, stellen Sie sicher, dass für den Benutzer oder die Service-ID keine weiteren Richtlinien auf Instanzebene gelten, indem Sie entweder die Konsole oder die Befehlszeilenschnittstelle (CLI) verwenden.
Weitere Informationen finden Sie unter Best Practices für die Organisation von Ressourcen und die Zuweisung von Zugriffsrechten.
IBM Cloudant-API-Schlüssel und Nur IAM verwenden
Die Verwendung von IBM Cloudant-API-Schlüsseln zusammen mit IAM ist zwar möglich, wird jedoch nicht empfohlen. Diese Empfehlung wird deshalb ausgesprochen, weil IBM Cloudant-API-Schlüssel und die entsprechenden Berechtigungen nicht in der IAM-Richtlinienschnittstelle angezeigt werden können und auch nicht über diese Schnittstelle verwaltet werden können, wodurch ein ganzheitliches Zugriffsmanagement nicht möglich ist.
Die Auswahl des Modus Nur IAM verwenden oder Traditionelle Berechtigungsnachweise und IAM-Berechtigungsnachweise verwenden wirkt sich auf folgende Faktoren aus:
- Auf die Verfügbarkeit traditioneller IBM Cloudant-Berechtigungsnachweise auf Kontoebene, mit denen Aktionen für Datenbanken und weitere Aktionen auf Kontoebene verwaltet werden können.
- Auf den Stil der Berechtigungsnachweise, die während der Generierung der Serviceberechtigungsnachweise bereitgestellt werden.
Insbesondere ist festzuhalten, dass IBM Cloudant-API-Schlüssel weiterhin zum Verwalten des Datenbankzugriffs eingesetzt werden können. Diese Berechtigungsnachweise müssen über die HTTP-API generiert und konfiguriert werden.
Bereitstellung über die Befehlszeile
Wenn Sie eine neue IBM Cloudant-Instanz über die Befehlszeile bereitstellen, dann müssen Sie eine Option für das Tool ibmcloud angeben. Hierzu wird der Parameter -p verwendet, mit dem die traditionellen Berechtigungsnachweise
für ein Konto aktiviert oder inaktiviert werden können. Die Option wird im JSON-Format übergeben und trägt die Bezeichnung legacyCredentials.
Führen Sie den folgenden Befehl aus, um eine Instanz unter Verwendung des Modus Nur IAM verwenden (empfohlen) bereitzustellen:
ibmcloud resource service-instance-create "Instance Name" \
cloudantnosqldb Standard us-south \
-p {"legacyCredentials": false}
Wenn Sie IAM-Rollen verwenden, bei denen es sich nicht um die Rolle Manager handelt, also z. B. die Rollen Reader, Writer, Monitor oder Checkpointer, müssen Sie Nur IAM verwenden verwenden, um zu vermeiden, dass Benutzer traditionelle Berechtigungsnachweise mit umfassenderen Zugriffsberechtigungen erhalten.
Führen Sie den folgenden Befehl aus, um eine Instanz unter Verwendung des Modus Traditionelle Berechtigungsnachweise und IAM-Berechtigungsnachweise verwenden bereitzustellen:
ibmcloud resource service-instance-create "Instance Name" \
cloudantnosqldb Standard us-south \
-p {"legacyCredentials": true}
JSON-Beispiele für Serviceberechtigungsnachweise für beide Optionen
Die Entscheidung für den Zugriffssteuerungsmodus Nur IAM verwenden oder Traditionelle Berechtigungsnachweise und IAM verwenden wirkt sich darauf aus, wie Berechtigungsnachweise an Ihre Anwendung übergeben werden, wenn Sie Serviceberechtigungsnachweise binden und generieren. Werden die Berechtigungsnachweise in der primären IBM Cloud IAM-Schnittstelle generiert, dann werden die API-Schlüssel während der Generierung in dieser Schnittstelle angezeigt.
Sie können Berechtigungsnachweise auch über den Abschnitt 'Serviceberechtigungsnachweise' einer Serviceinstanz generieren. Durch die Verwendung dieser Methode bei der Generierung von Serviceberechtigungsnachweisen wird ein JSON-BLOB für Serviceberechtigungsnachweise erstellt, das mit allen Details, die für den Zugriff auf die Serviceinstanz erforderlich sind, in Anwendungen eingefügt werden kann.
Als nächstes wird gezeigt, wie das JSON-Element für die Serviceberechtigungsnachweise dargestellt wird und welche Bedeutung die einzelnen Werte haben.
Wenn Sie Nur IAM verwenden auswählen, dann enthalten die generierten Serviceberechtigungsnachweise nur IAM-Werte und werden wie folgt dargestellt.
{
"apikey": "MxVp86XHkU82Wc97tdvDF8qM8B0Xdit2RqR1mGfVXPWz",
"iam_apikey_description": "Auto generated apikey during resource-key [...]",
"iam_apikey_name": "auto-generated-apikey-050d21b5-5f[...]",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
"iam_serviceid_crn": "crn:v1:staging:public:iam-identity::[...]",
"url": "https://76838001-b883-444d-90d0-46f89e942a15-bluemix.cloudant.com",
"username": "76838001-b883-444d-90d0-46f89e942a15-bluemix"
}
Die einzelnen Werte im vorherigen JSON-Beispiel müssen unter Verwendung der folgenden Definitionen interpretiert werden:
apikey- IAM-API-Schlüssel.
iam_apikey_description- Beschreibung des IAM-API-Schlüssels.
iam_apikey_name- ID des IAM-API-Schlüssels.
iam_role_crn- Die IAM-Rolle, die dem IAM-API-Schlüssel zugeordnet wurde.
iam_serviceid_crn- Die CRN der Service-ID.
url- IBM Cloudant-Service-URL.
username- Der interne IBM Cloudant-Kontoname.
Wenn Sie Traditionelle Berechtigungsnachweise und IAM verwenden auswählen, enthalten die generierten Serviceberechtigungsnachweise sowohl IAM-Berechtigungsnachweise als auch traditionelle Berechtigungsnachweise, was der Darstellung der Werte im folgenden Beispiel entspricht.
{
"apikey": "MxVp86XHkU82Wc97tdvDF8qM8B0Xdit2RqR1mGfVXPWz",
"host": "76838001-b883-444d-90d0-46f89e942a15-bluemix.cloudant.com",
"iam_apikey_description": "Auto generated apikey during resource-key [...]",
"iam_apikey_name": "auto-generated-apikey-050d21b5-5f[...]",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
"iam_serviceid_crn": "crn:v1:staging:public:iam-identity::[...]",
"password": "8fb6a16b48903e87b769e7f4968521e85c2394ed8f0e69b2769e56dcb27d2e76",
"port": 443,
"url": "https://<username>:<password>@76838001-b883-444d-90d0-46f89e942a15-bluemix.cloudant.com",
"username": "apikey-v2-58B528DF5397465BB6673E1B79482A8C"
}
Die einzelnen Werte im vorherigen JSON-Beispiel müssen unter Verwendung der folgenden Definitionen interpretiert werden:
apikey- IAM-API-Schlüssel.
host- IBM Cloudant-Service-Hostname.
iam_apikey_description- Beschreibung des IAM-API-Schlüssels.
iam_apikey_name- ID des IAM-API-Schlüssels.
iam_role_crn- Die IAM-Rolle, die dem IAM-API-Schlüssel zugeordnet wurde.
iam_serviceid_crn- Die CRN der Service-ID.
password- Das Kennwort des traditionellen Berechtigungsnachweises von IBM Cloudant.
port- IBM Cloudant-Service-Port.
url- IBM Cloudant-Service-URL, einschließlich der eingebetteten traditionellen Berechtigungsnachweise von IBM Cloudant.
username- Der Benutzername des traditionellen Berechtigungsnachweises von IBM Cloudant.
Beachten Sie, dass die enthaltenen Werte für username und password immer den IAM-Managerberechtigungsnachweisen entsprechen. Daher ist die Verwendung von Traditionelle Berechtigungsnachweise und IAM verwenden unsicher, wenn diese Option gemeinsam mit den IAM-Rollen Reader, Writer, Monitor oder Checkpointer verwendet wird.
Muss ich Nur IAM verwenden oder Traditionelle Berechtigungsnachweise und IAM-Berechtigungsnachweise verwenden benutzen?
Sofern möglich, sollten Sie Nur IAM verwenden benutzen. Die wichtigsten Vorteile der Verwendung von IBM Cloud IAM sind in der folgenden Liste aufgeführt:
- Management des Zugriffs auf IBM Cloudant mithilfe der IBM Cloud-Standardtools anstatt mit einer Kombination aus IBM Cloud-spezifischen und IBM Cloudant-spezifischen Tools für das Berechtigungsnachweismanagement.
- Berechtigungsnachweise können auf einfache Weise widerrufen oder turnusmäßig gewechselt werden, wenn Sie mit IBM Cloud IAM arbeiten.
Im Folgenden werden weitere Vor- und Nachteile der beiden Ansätze erläutert.
Wenn Sie IAM-Rollen verwenden, bei denen es sich nicht um die Rolle Manager handelt, also z. B. die Rollen Reader, Writer, Monitor oder Checkpointer, müssen Sie
Nur IAM verwenden verwenden, um zu vermeiden, dass Benutzer traditionelle Berechtigungsnachweise mit umfassenderen Zugriffsberechtigungen erhalten.
Vor- und Nachteile der beiden Zugriffssteuerungsmechanismen
Insgesamt lässt sich festhalten, dass IBM Cloud IAM das empfohlene Authentifizierungsmodell darstellt. Allerdings birgt dieser Ansatz auch Nachteile, besonders dann, wenn bereits eine Anwendung vorhanden ist oder wenn Sie keine von IBM Cloudant unterstützte Clientbibliothek verwenden können.
Vorteile des IAM-Modus
- Zugriffsmanagement für zahlreiche Services über eine Schnittstelle.
- Möglichkeit zum globalen Entziehen des Zugriffs für einen Benutzer.
- API-Schlüssel auf Kontoebene unter Verwendung von Service-IDs.
- Einfacher turnusmäßiger Wechsel der Berechtigungsnachweise.
- Activity Tracker-Protokolle zur Erfassung einzelner Personen und Services.
- Föderation von IAM mit anderen Identitätssystemen wie z. B. den LDAP-Repositorys von Unternehmen.
- Differenzierte Berechtigungen (z. B.
Reader,Writer,MonitoroderCheckpointer).
Nachteile des IAM-Modus
- Wenn Sie nicht die von IBM Cloudant unterstützten Bibliotheken verwenden, müssen voraussichtlich Anwendungsänderungen durchgeführt werden, um die API-Schlüssel und Zugriffstokens von IAM verwenden zu können.
- Einige Endpunkte sind nicht verfügbar. Weitere Informationen finden Sie unter Nicht verfügbare Endpunkte.
- Keine Möglichkeit zur Angabe einer Datenbank als 'öffentlich', sodass für den Zugriff kein autorisierter Benutzer erforderlich ist.
Vorteile des traditionellen Modus
- Keine Notwendigkeit zum Ändern vorhandener Anwendungen oder Clientbibliotheksabhängigkeiten.
Nachteile des traditionellen Modus
- Separates Management von IBM Cloudant-Berechtigungsnachweisen, sodass kein vollständiger Überblick über den gesamten Zugriff in einer zentralen Schnittstelle besteht.
IAM-Richtlinien auf Datenbankebene
IAM-Richtlinien können definiert werden, um den Zugriff auf einzelne Datenbanken oder auf Datenbanken, die einem Platzhaltermuster entsprechen, zu beschränken.
Um eine Datenbank anzusteuern, setzen Sie das Attribut Resource Type auf " database. Es stehen zwei Operatoren zur Verfügung:
| Operator | Beschreibung |
|---|---|
string equals |
stimmt mit einem URL Datenbanknamen genau überein. |
string matches |
Suche mithilfe eines Mehrzeichen-Platzhalters (*), der auf eine beliebige Folge von null oder mehr Zeichen passt, eines Einzeichen-Platzhalters (?), der auf ein beliebiges einzelnes Zeichen passt, oder beider. |
Datenbanknamen sollten im Feld "Ressourcen-ID" der Richtlinie URL werden, mit Ausnahme von Schrägstrichen /. Dies gilt nicht für Platzhalterzeichen in der Richtlinie.
Beachten Sie, dass eine Richtlinie auf Instanzebene erstellt wird, wenn Sie die Felder „Ressourcentyp“ oder „Ressourcen-ID“ leer lassen.
Beispiele
| Beschreibung | Attribut | Operator | Wert |
|---|---|---|---|
datenbanken mit dem Namen ' movies |
Resource Type | string equals |
database |
| Resource ID | string equals |
movies |
|
datenbanken, die mit " movies beginnen |
Resource Type | string equals |
database |
| Resource ID | string matches |
movies* |
|
datenbanken mit dem Namen ' movies+new |
Resource Type | string equals |
database |
| Resource ID | string equals |
movies%2Bnew |
|
datenbanken, die mit " movies+* beginnen |
Resource Type | string equals |
database |
| Resource ID | string matches |
movies%2B* |
|
datenbanken mit dem Namen ' movies/new |
Resource Type | string equals |
database |
| Resource ID | string equals |
movies/new |
Replikationsjob ausschließlich mit IAM-Berechtigungsnachweisen erstellen
Befolgen Sie diese Anweisungen, um IAM-API-Schlüssel zu generieren, das Trägertoken zu generieren, die Datenbank _replicator zu erstellen und den Replikationsjob zu erstellen.
IAM-API-Schlüssel für Quelle und Ziel und einen für IBM Cloudant-API-Zugriff generieren
In dieser Übung werden die ersten beiden API-Schlüssel erstellt, sodass die beiden Instanzen während des Replikationsprozesses miteinander kommunizieren können. Den dritten API-Schlüssel benötigt der Benutzer für den Zugriff auf die IBM Cloudant-API,
zum Erstellen der Datenbank _replicator und anschließenden Hinzufügen des Replikationsdokuments.
Führen Sie die folgenden Schritte aus, um IAM-API-Schlüssel und den API-Zugriff für IBM Cloudant zu generieren. Sie müssen die Berechtigungsnachweise, die in den folgenden Schritten angefordert werden, aufschreiben, um mit dem Beispiel fortfahren zu können.
Stellen Sie sicher, dass Sie die angegebene Instanz auswählen, entweder die Quelle oder das Ziel.
-
Melden Sie sich bei
cloud.ibm.coman. -
Wählen Sie in der Ressourcenliste die Option Services und Ihre Quelleninstanz aus.
-
Klicken Sie auf Serviceberechtigungsnachweise und dann auf Neuer Berechtigungsnachweis.
-
Benennen Sie den neuen Berechtigungsnachweis
replicator-sourceund wählen Sie die Rolle 'Manager' aus. -
Klicken Sie auf Hinzufügen und notieren Sie den API-Schlüssel (
apikey), der unter 'Berechtigungsnachweise anzeigen' in der Spalte 'Aktionen' angegeben ist.
-
-
Wiederholen Sie die Schritte 2 bis 2.c für die Zielinstanz.
-
Erstellen Sie einen Berechtigungsnachweis mit dem Namen
replicator-targetmit der Rolle 'Manager'. -
Notieren Sie sich den IAM-API-Schlüssel, der unter 'Berechtigungsnachweise anzeigen' in der Spalte 'Aktionen' angegeben ist.
-
-
Wählen Sie die Quelleninstanz aus und klicken Sie auf Serviceberechtigungsnachweise und Neuer Berechtigungsnachweis.
-
Benennen Sie den neuen Berechtigungsnachweis
apiaccessund wählen Sie die Rolle 'Manager' aus. -
Notieren Sie sich den tatsächlichen IAM-API-Schlüssel, der unter 'Berechtigungsnachweise anzeigen' in der Spalte 'Aktionen' angegeben ist.
-
-
Notieren Sie die URLs der Quellen- und Zielinstanz.
Je nach Ihrem Arbeitsablauf können Sie anstelle der Erstellung von Anmeldedaten auf Service-Ebene (Schritt 4) einen persönlichen IAM-API-Schlüssel verwenden, wie unter „API-Schlüssel erstellen“ beschrieben.
Sie können diese Schritte auch über die Befehlszeile ausführen, indem Sie die CLI-Toolkette „ IBM Cloud “ verwenden.
Trägertoken für die Authentifizierung bei der IBM Cloudant-API generieren
In Schritt 4.bhaben Sie den Schlüssel apiaccess notiert. Verwenden Sie diesen Schlüssel jetzt:
curl -k -X POST \
--header "Content-Type: application/x-www-form-urlencoded" \
--header "Accept: application/json" \
--data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
--data-urlencode "apikey=aSCsx4...2lN97h_2Ts" \
"https://iam.cloud.ibm.com/identity/token"
Der Schlüssel apiaccess gibt die folgenden Informationen zurück (verkürzt):
{
"access_token": "eyJraWQiOiIyMDE5MD...tIwkCO9A",
"refresh_token": "ReVbNrHo3UA38...mq67g",
"token_type": "Bearer",
"expires_in": 3600,
"expiration": 1566313064,
"scope": "ibm openid"
}
Erstellen Sie eine Umgebungsvariable, um sich Eingabe zu ersparen, indem Sie den Wert unter dem Schlüssel access_token in den Antwortdaten verwenden:
export TOK="Bearer eyJraWQiOiIyMDE5MD...tIwkCO9A"
Datenbank _replicator auf der Quellenseite erstellen
'URL' ist die Quelleninstanz-URL, die Sie zuvor in Schritt 4.b notiert haben.
curl -k -X PUT \
-H"Content-type: application/json" \
-H'Authorization: '"$TOK"'' \
'https://d43caf1b-e2c8-4d3e-9b85-1d04839fa68f-bluemix.cloudant.com/_replicator'
Beispielergebnis:
{"ok": "true"}
Replikationsjob erstellen
Erstellen Sie eine Datei mit dem Namen data.json, die die folgenden Informationen enthält. Die beiden Schlüssel sind der Quellen- und der Ziel-API-Schlüssel, die zu Anfang erstellt wurden, sowie die Quellen- und die Zielinstanz-URL
mit hinzugefügten Datenbanknamen.
{
"source": {
"url": "https://d43caf1b-e2c8-4d3e-9b85-1d04839fa68f-bluemix.cloudant.com/source",
"auth": {
"iam": {
"api_key": "xju1...TxuS"
}
}
},
"target": {
"url": "https://dbc68dd8-f69f-4083-97dd-bf0a3e1a467a-bluemix.cloudant.com/target",
"auth": {
"iam": {
"api_key": "UElc7...QIaL01Bjn"
}
}
},
"create_target": true,
"continuous": true
}
Schreiben Sie jetzt ein Replikationsdokument mit dem Namen source_dest in die Datenbank _replicator der Quelleninstanz.
curl -k -X PUT \
-H"Content-type: application/json" \
-H'Authorization: '"$TOK"'' \
'https://d43caf1b-e2c8-4d3e-9b85-1d04839fa68f-bluemix.cloudant.com/_replicator/source_dest' -d@data.json
Beispielergebnis:
{"ok":true,"id":"source_dest","rev":"1-89b01e42968acd5944ed657b87c49f0c"}
Traditionelle IBM Cloudant-Berechtigungsnachweise von einer Instanz entfernen
IBM Cloud IAM ist das empfohlene Authentifizierungsmodell. Aus Sicherheitsgründen können Sie anfordern, dass die traditionellen IBM Cloudant-Berechtigungsnachweise entfernt werden, sodass nur die IAM-Authentifizierung für die Instanz verwendet werden kann. Der korrekte Prozess zum Entfernen von traditionellen Berechtigungsnachweisen besteht aus den folgenden Schritten:
-
Stellen Sie sicher, dass die IBM Cloudant-Instanz über eine aktivierte IAM-Authentifizierung verfügt.
-
Aktualisieren Sie Ihre Anwendung so, dass anstelle der traditionellen IBM Cloudant-Authentifizierung die IAM-Authentifizierung verwendet wird.
-
Generieren Sie bei Bedarf neue Serviceberechtigungsnachweise.
-
Öffnen Sie einen neuen IBM Cloud-Supportfall, der das Entfernen der traditionellen IBM Cloudant-Berechtigungsnachweise für Ihre Instanz anfordert. Geben Sie den Benutzernamen der Instanz wie in den Serviceberechtigungsnachweisen dargestellt an. Weitere Informationen finden Sie unter Serviceberechtigungsnachweise suchen.
-
Wenn der Support geantwortet hat, dass die traditionellen Berechtigungsnachweise entfernt wurden, funktioniert keiner der Serviceberechtigungsnachweise mehr, die vor dem Entfernen erstellt wurden und die Details des traditionellen Benutzernamens und des traditionellen Kennworts enthalten. Es wird empfohlen, alle diese Einträge für Serviceberechtigungsnachweise zu entfernen.
Anforderungen an Instanzen mithilfe von IAM-Berechtigungsnachweisen absetzen
Im folgenden Abschnitt wird beschrieben, wie IBM Cloudant mit Serviceinstanzen über die IAM-Authentifizierung verwendet werden kann. Dabei wird auf die Details aus den JSON-Beispielen für Serviceberechtigungsnachweise für die einzelnen Optionen Bezug genommen.
Bei IBM Cloud IAM muss ein IAM-API-Schlüssel gegen ein Zugriffstoken mit zeitlich begrenzter Gültigkeit ausgetauscht werden, bevor eine Anforderung an eine Ressource oder einen Service abgesetzt werden kann. Das Zugriffstoken wird daraufhin
in den HTTP-Header für die Berechtigung (Authorization) des Service eingebunden. Wenn das Zugriffstoken abläuft, muss die konsumierende Anwendung über den IAM-Token-Service ein neues Token anfordern. Weitere Informationen finden
Sie in der Dokumentation unter Bezug eines IAM-Tokens für „ IBM Cloud “ mithilfe eines API-Schlüssels.
Die offiziellen IBM Cloudant-Clientbibliotheken dienen zum Anfordern eines Tokens über einen API-Schlüssel. Sie können auf IBM Cloudant direkt über einen HTTP-Client statt über eine IBM Cloudant-Clientbibliothek zugreifen. Der Austausch und
die Aktualisierung eines Zugriffstokens mit zeitlich begrenzter Gültigkeit muss jedoch mithilfe eines IAM-API-Schlüssels über den IAM-Token-Service erfolgen. Nach Ablauf eines Tokens gibt IBM Cloudant den HTTP-Statuscode 401 zurück.
Erforderliche Clientbibliotheksversionen
IAM-Konnektivität ist im neuesten Release aller unterstützten Clientbibliotheken verfügbar. Weitere Informationen finden Sie unter Clientbibliotheken.
Java
Unter dem folgenden Link finden Sie die aktuellste unterstützte Version der Bibliothek „ IBM Cloudant “ ( Java™ ):
Ein Beispiel für die Verwendung des „ IBM Cloudant “-SDK für „ Java “ finden Sie in der API- und SDK-Dokumentation.
Node.js
Der folgende Link stellt die neueste unterstützte Version der IBM Cloudant Node.js-Bibliothek bereit:
Ein Beispiel für die Verwendung des „ IBM Cloudant “-SDK für „ Node “ finden Sie in der API- und SDK-Dokumentation.
Python
Über folgenden Link haben Sie Zugriff auf die neueste unterstützte Version der IBM Cloudant Python-Bibliothek:
Ein Beispiel für die Verwendung des „ IBM Cloudant “-SDK für „ Python “ finden Sie in der API- und SDK-Dokumentation.
Los
Über folgenden Link haben Sie Zugriff auf die neueste unterstützte Version der IBM Cloudant Go-Bibliothek:
Ein Beispiel für die Verwendung des „ IBM Cloudant “-SDKs für Go finden Sie in der API- und SDK-Dokumentation.
Zugriff über HTTP-Client durchführen
Bei IBM Cloud IAM muss ein IAM-API-Schlüssel gegen ein Zugriffstoken mit zeitlich begrenzter Gültigkeit ausgetauscht werden, bevor eine Anforderung an eine Ressource oder einen Service abgesetzt werden kann. Das Zugriffstoken wird daraufhin
in den HTTP-Header für die Berechtigung (Authorization) des Service eingebunden. Läuft die Gültigkeit des Zugriffstokens ab, dann muss der Kunde über den IAM-Token-Service ein neues Token anfordern.
Wie bereits erwähnt, müssen Sie, wenn Sie IBM Cloud IAM verwenden, zuerst einen IBM API-Schlüssel gegen ein Zugriffstoken mit zeitlich begrenzter Gültigkeit austauschen. Danach verwenden Sie das Token, um sich gegenüber der IBM Cloudant-API zu authentifizieren.
Im Folgenden ist ein Python-Beispiel aufgeführt:
import time
import requests
API_KEY = "MxVp86XHkU82Wc97tdvDF8qM8B0Xdit2RqR1mGfVXPWz"
ACCOUNT = "76838001-b883-444d-90d0-46f89e942a15-bluemix"
def get_access_token(api_key):
"""Retrieve an access token from the IAM token service."""
token_response = requests.post(
"https://iam.cloud.ibm.com/identity/token",
data={
"grant_type": "urn:ibm:params:oauth:grant-type:apikey",
"response_type": "cloud_iam",
"apikey": api_key
},
headers={
"Accept": "application/json"
}
)
if token_response.status_code == 200:
print "Got access token from IAM"
return token_response.json()['access_token']
else:
print token_response.status_code, token_response.json()
return None
def main(api_key, account):
access_token = None
while True:
if not access_token:
access_token = get_access_token(api_key)
if access_token:
response = requests.get(
"https://{0}.cloudant.com/_all_dbs".format(account),
headers={
"Accept": "application/json",
"Authorization": "Bearer {0}".format(access_token)
}
)
print "Got Cloudant response, status code", response.status_code
if response.status_code == 401:
print "Token has expired."
access_token = None
time.sleep(1)
if __name__ == "__main__":
main(API_KEY, ACCOUNT)
IAM-IP-Zulassungsliste mit Cloudant verwenden
Sie können die IAM-Zugriffsbeschränkungen für IP-Adressen aktivieren, wenn Sie „ IBM Cloudant “ verwenden.
Um Zugriffsbeschränkungen für IAM-IP-Adressen zu aktivieren, müssen Sie sicherstellen, dass die IP-Zulassungsliste von Cloud Identity and Access Management (IAM) so konfiguriert ist, dass der Service IBM Cloudant weiterhin funktionieren kann. IAM wird von IBM Cloudant verwendet, wenn Anforderungen an die API IBM Cloudant authentifiziert werden, die IAM-Berechtigungsnachweise übergeben, und wenn Replikationen ausgeführt werden, die für die Authentifizierung mit IAM-API-Schlüsseln konfiguriert sind.
IAM-Tokens können bis zu 60 Minutengültig sein. Dies bedeutet, dass Änderungen an der IAM-IP-Zulassungsliste erst nach Ablauf dieses Validierungszeitraums vollständig wirksam werden, da die Zulassungsliste nur bei der Tokenerstellung durchgesetzt wird.
Netzzone erstellen
Um IBM Cloudant zu Ihrer IAM-Zugriffslistehinzuzufügen, müssen Sie zuerst eine Netzzone erstellen, die den Service IBM Cloudant enthält.
Führen Sie zum Erstellen einer Netzzone die folgenden Schritte aus.
- Klicken Sie in der „ IBM Cloud “-Konsole auf „Verwalten“ > „Kontextbasierte Einschränkungen“ und wählen Sie „Netzwerkzonen“ aus.
- Klicken Sie auf Erstellen.
- Geben Sie einen eindeutigen Namen (z. B.
cloudant-network) und optional eine Beschreibung ein. - Wählen Sie unter
Reference a serviceden ServicetypIAM Servicesund den ServiceIBM Cloudantaus. Klicken Sie auf Hinzufügen, um dieIBM Cloudant-IP-Adressen Ihrer Netzzone zuzuordnen. - Klicken Sie auf Weiter, um Ihre Netzzone zu überprüfen.
- Klicken Sie auf Erstellen.
Verweis auf die Netzzone in der IAM-IP-Zulassungsliste
Die oben erstellte Netzzone mit dem Namen cloudant-network kann jetzt in Ihrer IAM IP-Zulassungslisteverwendet werden.
- Klicken Sie in der „ IBM Cloud “-Konsole auf „Verwalten“ > „Zugriff“ (IAM) und wählen Sie „Einstellungen“ aus.
- Aktivieren Sie im Bereich „Konto“ die Einstellung für den Zugriff über IP-Adresse.
- Fügen Sie im Feld
Allowed IP addressesden Namen der zuvor erstellten Netzzone hinzu (z. B.cloudant-network). - Klicken Sie auf Speichern.
Rollen und Aktionen
Die folgenden Tabellen enthalten eine vollständige Liste der Rollen und Aktionen von IBM Cloudant IAM sowie eine Zuordnung der Aktionen, die für die einzelnen IAM-Systemrollen zulässig sind.
IBM Cloudant-Rollen
In der folgenden Tabelle sind die verfügbaren IAM-Servicerollen für IBM Cloudant und eine kurze Beschreibung der einzelnen Rollen aufgeführt.
| Rolle | Beschreibung |
|---|---|
Manager |
Umfasst den Zugriff auf alle Endpunkte und die Ausführung aller Verwaltungsfunktionen für eine Instanz, wie z. B. das Erstellen von Datenbanken, das Ändern der Kapazität, das Lesen und Schreiben von Daten und Indizes sowie den Zugriff auf das Dashboard. |
Writer |
Berechtigung zum Lesen und Schreiben in alle Datenbanken und Dokumente, aber nicht zum Erstellen von Indizes. |
Reader |
Berechtigung zum Lesen aller Datenbanken und Dokumente, aber nicht zum Schreiben neuer Dokumente oder Erstellen von Indizes. |
Monitor |
Berechtigung zum Lesen von Überwachungsendpunkten, wie z. B. _active_tasks, und _scheduler-Replikationsendpunkten. |
Checkpointer |
Berechtigung zum Schreiben von checkpointer-Dokumenten der Rolle 'Checkpointer-Beauftragter (_local). Erforderlich für Quellendatenbanken während der Replikation. |
Die Rolle 'Manager' umfasst alle Aktionen der Rollen 'Leseberechtigter' und 'Schreibberechtigte' und 'Schreibberechtigter' alle Aktionen von 'Leseberechtigter enthält.
IBM Cloudant-Aktionen
In der folgenden Tabelle werden die verfügbaren IAM-Aktionen und -Rollen beschrieben. Für eine differenzierte Autorisierung können Sie die Rollen Manager, Reader, Writer, Monitor oder Checkpointer verwenden.
Wenn Sie IAM-Rollen verwenden, bei denen es sich nicht um die Rolle Manager handelt, also z. B. die Rollen Reader, Writer, Monitor oder Checkpointer, müssen Sie Nur IAM verwenden verwenden, um zu vermeiden, dass Benutzer traditionelle Berechtigungsnachweise mit umfassenderen Zugriffsberechtigungen erhalten.
| Methode | Endpunkt | Aktionsname |
|---|---|---|
GET/PUT |
/_api/v2/db/<path:db>/_security |
cloudantnosqldb.sapi.db-security |
GET |
/_api/v2/user/capacity/throughput |
cloudantnosqldb.capacity-throughput.read |
PUT |
/_api/v2/user/capacity/throughput |
cloudantnosqldb.capacity-throughput.write |
GET |
/_api/v2/user/current/throughput |
cloudantnosqldb.current-throughput.read |
GET |
/_api/v2/user/capacity/databases |
cloudantnosqldb.account-capacity-dbs.read |
GET |
/_api/v2/user/current/databases |
cloudantnosqldb.account-current-dbs.read |
GET |
/_api/v2/user/activity_tracker/events |
cloudantnosqldb.activity-tracker-event-types.read |
POST |
/_api/v2/user/activity_tracker/events |
cloudantnosqldb.activity-tracker-event-types.write |
POST |
/_api/v2/api_keys |
cloudantnosqldb.sapi.apikeys |
GET/POST |
/_api/v2/user/config/cors/ |
cloudantnosqldb.sapi.usercors |
GET/PUT |
/_api/v2/user/plan |
cloudantnosqldb.sapi.userplan |
GET |
/_api/v2/user/ccm_diagnostics |
cloudantnosqldb.sapi.userccmdiagnostics |
GET |
/_api/v2/user/last_activity |
cloudantnosqldb.sapi.lastactivity |
GET |
/_api/v2/support/tickets/$CASEID/files/$ATTACHMENTID |
cloudantnosqldb.sapi.supportattachments |
GET/POST |
/_api/v2/support/tickets |
cloudantnosqldb.sapi.supporttickets |
GET/PUT/DELETE |
/_api/v2/support/tickets/$CASEID |
cloudantnosqldb.sapi.supporttickets |
GET |
/_api/v2/user |
cloudantnosqldb.sapi.userinfo |
GET |
/_api/v2/usage/data_volume und /_api/v2/usage/$YEAR/$MONTH |
cloudantnosqldb.sapi.usage-data-volume |
GET/HEAD |
/ | cloudantnosqldb.account-meta-info.read |
GET/HEAD |
/_active_tasks |
cloudantnosqldb.account-active-tasks.read |
GET/HEAD |
/_replicator |
cloudantnosqldb.replicator-database-info.read |
GET/HEAD |
/_replicator/$DOCUMENT |
cloudantnosqldb.replication.read |
GET/HEAD |
/_scheduler/jobs |
cloudantnosqldb.replication-scheduler.read |
GET/HEAD |
/_scheduler/docs |
cloudantnosqldb.replication-scheduler.read |
POST |
/_replicate |
cloudantnosqldb.replication.write |
POST |
/_replicator |
cloudantnosqldb.replication.write |
PUT/DELETE |
/_replicator |
cloudantnosqldb.replicator-database.create |
PUT/DELETE |
/_replicator/$DOCUMENT |
cloudantnosqldb.replication.write |
GET/HEAD |
/_up |
cloudantnosqldb.account-up.read |
PUT |
/$DATABASE/ |
cloudantnosqldb.database.create |
DELETE |
/$DATABASE |
cloudantnosqldb.database.delete |
POST |
/$DATABASE/_design_docs/queries |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/_design/$DOCUMENT_ID/_geo_info |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/_design/$DOCUMENT_ID/_info/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
GET |
/$DATABASE/_design/$DOCUMENT_ID/_search_disk_size/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
GET |
/$DATABASE/_design/$DOCUMENT_ID/_search_info/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/_index/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
GET |
/$DATABASE/_design_docs |
cloudantnosqldb.any-document.read |
GET |
/$DATABASE/_design/$DOCUMENT_ID |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/_design/$DOCUMENT_ID/$ATTACHMENT |
cloudantnosqldb.any-document.read |
PUT |
/$DATABASE/_design/$DOCUMENT_ID |
cloudantnosqldb.design-document.write |
COPY |
/$DATABASE/_design/$DOCUMENT_ID |
cloudantnosqldb.design-document.write |
DELETE |
/$DATABASE/_design/$DOCUMENT_ID |
cloudantnosqldb.design-document.write |
PUT |
/$DATABASE/_design/$DOCUMENT_ID/$ATTACHMENT |
cloudantnosqldb.design-document.write |
DELETE |
/$DATABASE/_design/$DOCUMENT_ID/$ATTACHMENT |
cloudantnosqldb.design-document.write |
POST/DELETE |
/$DATABASE/_index/$FURTHER_PATH_PARTS |
cloudantnosqldb.design-document.write |
GET/HEAD |
/$DATABASE/_security |
cloudantnosqldb.database-security.read |
PUT |
/$DATABASE/_security |
cloudantnosqldb.database-security.write |
GET/HEAD |
/$DATABASE/_shards |
cloudantnosqldb.database-shards.read |
COPY (Hängt vom Dokumenttyp zum Schreiben ab.) |
/$DATABASE/$DOCUMENT_ID |
cloudantnosqldb.any-document.read + cloudantnosqldb.design-document.write oder cloudantnosqldb.local-document.write oder cloudantnosqldb.data-document.write |
GET |
/_membership |
cloudantnosqldb.cluster-membership.read |
POST |
/$DATABASE/_ensure_full_commit |
cloudantnosqldb.database-ensure-full-commit.execute |
PUT |
/_users |
cloudantnosqldb.users-database.create |
GET/HEAD |
/_users |
cloudantnosqldb.users-database-info.read |
DELETE |
/_users |
cloudantnosqldb.users-database.delete |
GET/HEAD |
/_users/$DOCUMENT |
cloudantnosqldb.users.read |
GET/POST |
/_users/_all_docs |
cloudantnosqldb.users.read |
GET/POST |
/_users/_changes |
cloudantnosqldb.users.read |
POST |
/_users/_missing_revs |
cloudantnosqldb.users.read |
POST |
/_users/_revs_diff |
cloudantnosqldb.users.read |
POST |
/_users/_bulk_get |
cloudantnosqldb.users.read |
PUT/DELETE |
/_users/$DOCUMENT |
cloudantnosqldb.users.write |
POST |
/_users/_bulk_docs |
cloudantnosqldb.users.write |
POST |
/_users/ |
cloudantnosqldb.users.write |
GET/HEAD |
/_uuids |
cloudantnosqldb.cluster-uuids.execute |
POST |
/$DATABASE/ |
cloudantnosqldb.data-document.write oder cloudantnosqldb.design-document.write oder cloudantnosqldb.local-document.write |
POST |
/$DATABASE/_bulk_docs |
cloudantnosqldb.data-document.write oder cloudantnosqldb.design-document.write oder cloudantnosqldb.local-document.write |
PUT |
/$DATABASE/$DOCUMENT_ID |
cloudantnosqldb.data-document.write |
DELETE |
/$DATABASE/$DOCUMENT_ID |
cloudantnosqldb.data-document.write |
PUT |
/$DATABASE/$DOCUMENT_ID/$ATTACHMENT |
cloudantnosqldb.data-document.write |
DELETE |
/$DATABASE/$DOCUMENT_ID/$ATTACHMENT |
cloudantnosqldb.data-document.write |
PUT/DELETE |
/$DATABASE/_local/$DOCUMENT_ID |
cloudantnosqldb.local-document.write |
COPY (Hängt vom Dokumenttyp zum Schreiben ab.) |
/$DATABASE/_local/$DOCUMENT_ID |
cloudantnosqldb.any-document.read + cloudantnosqldb.design-document.write oder cloudantnosqldb.local-document.write oder cloudantnosqldb.data-document.write |
GET/HEAD |
/_iam_session |
cloudantnosqldb.iam-session.read |
POST |
/_iam_session |
cloudantnosqldb.iam-session.write |
DELETE |
/_iam_session |
cloudantnosqldb.iam-session.delete |
GET/HEAD |
/_session |
cloudantnosqldb.session.read |
POST |
/_session |
cloudantnosqldb.session.write |
DELETE |
/_session |
cloudantnosqldb.session.delete |
GET/HEAD |
/_all_dbs |
cloudantnosqldb.account-all-dbs.read |
POST |
/_dbs_info |
cloudantnosqldb.account-dbs-info.read |
GET |
/$DATABASE/ |
cloudantnosqldb.database-info.read |
GET/POST |
/$DATABASE/_all_docs |
cloudantnosqldb.any-document.read |
GET/POST |
/$DATABASE/_changes |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/$DOCUMENT_ID |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/$DOCUMENT_ID/$ATTACHMENT |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_bulk_get |
cloudantnosqldb.any-document.read |
GET/POST |
/_search_analyze |
cloudantnosqldb.account-search-analyze.execute |
POST |
/$DATABASE/_all_docs/queries |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/_design/$DOCUMENT_ID/_geo/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
GET/POST |
/$DATABASE/_design/$DOCUMENT_ID/_search/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_design/$DOCUMENT_ID/_view/$VIEW/queries |
cloudantnosqldb.any-document.read |
GET/POST |
/$DATABASE/_design/$DOCUMENT_ID/_view/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_explain/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_find/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
GET |
/$DATABASE/_local/$DOCUMENT_ID |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_missing_revs |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_revs_diff |
cloudantnosqldb.any-document.read |
| Methode | Endpunkt | Aktionsname |
|---|---|---|
GET |
/_api/v2/user/activity_tracker/events |
cloudantnosqldb.activity-tracker-event-types.read |
GET |
/_api/v2/user/capacity/databases |
cloudantnosqldb.account-capacity-dbs.read |
GET |
/_api/v2/user/current/databases |
cloudantnosqldb.account-current-dbs.read |
GET/HEAD |
/_uuids |
cloudantnosqldb.cluster-uuids.execute |
POST |
/$DATABASE/ |
cloudantnosqldb.data-document.write oder cloudantnosqldb.design-document.write oder cloudantnosqldb.local-document.write |
POST |
/$DATABASE/_bulk_docs |
cloudantnosqldb.data-document.write oder cloudantnosqldb.design-document.write oder cloudantnosqldb.local-document.write |
PUT |
/$DATABASE/$DOCUMENT_ID |
cloudantnosqldb.data-document.write |
DELETE |
/$DATABASE/$DOCUMENT_ID |
cloudantnosqldb.data-document.write |
PUT |
/$DATABASE/$DOCUMENT_ID/$ATTACHMENT |
cloudantnosqldb.data-document.write |
DELETE |
/$DATABASE/$DOCUMENT_ID/$ATTACHMENT |
cloudantnosqldb.data-document.write |
PUT/DELETE |
/$DATABASE/_local/$DOCUMENT_ID |
cloudantnosqldb.local-document.write |
GET/HEAD |
/_iam_session |
cloudantnosqldb.iam-session.read |
POST |
/_iam_session |
cloudantnosqldb.iam-session.write |
DELETE |
/_iam_session |
cloudantnosqldb.iam-session.delete |
GET/HEAD |
/_session |
cloudantnosqldb.session.read |
POST |
/_session |
cloudantnosqldb.session.write |
DELETE |
/_session |
cloudantnosqldb.session.delete |
GET/HEAD |
/_all_dbs |
cloudantnosqldb.account-all-dbs.read |
POST |
/_dbs_info |
cloudantnosqldb.account-dbs-info.read |
GET |
/$DATABASE/ |
cloudantnosqldb.database-info.read |
GET/POST |
/$DATABASE/_all_docs |
cloudantnosqldb.any-document.read |
GET/POST |
/$DATABASE/_changes |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/$DOCUMENT_ID |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/$DOCUMENT_ID/$ATTACHMENT |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_bulk_get |
cloudantnosqldb.any-document.read |
GET/POST |
/_search_analyze |
cloudantnosqldb.account-search-analyze.execute |
POST |
/$DATABASE/_all_docs/queries |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/_design/$DOCUMENT_ID/_geo/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
GET/POST |
/$DATABASE/_design/$DOCUMENT_ID/_search/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_design/$DOCUMENT_ID/_view/$VIEW/queries |
cloudantnosqldb.any-document.read |
GET/POST |
/$DATABASE/_design/$DOCUMENT_ID/_view/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_explain/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_find/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
GET |
/$DATABASE/_local/$DOCUMENT_ID |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_missing_revs |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_revs_diff |
cloudantnosqldb.any-document.read |
GET/HEAD |
/ | cloudantnosqldb.account-meta-info.read |
POST |
/$DATABASE/_ensure_full_commit |
cloudantnosqldb.database-ensure-full-commit.execute |
| Methode | Endpunkt | Aktionsname |
|---|---|---|
GET |
/_api/v2/user/activity_tracker/events |
cloudantnosqldb.activity-tracker-event-types.read |
GET |
/_api/v2/user/capacity/databases |
cloudantnosqldb.account-capacity-dbs.read |
GET |
/_api/v2/user/current/databases |
cloudantnosqldb.account-current-dbs.read |
GET/HEAD |
/_iam_session |
cloudantnosqldb.iam-session.read |
POST |
/_iam_session |
cloudantnosqldb.iam-session.write |
DELETE |
/_iam_session |
cloudantnosqldb.iam-session.delete |
GET/HEAD |
/_session |
cloudantnosqldb.session.read |
POST |
/_session |
cloudantnosqldb.session.write |
DELETE |
/_session |
cloudantnosqldb.session.delete |
GET/HEAD |
/_all_dbs |
cloudantnosqldb.account-all-dbs.read |
POST |
/_dbs_info |
cloudantnosqldb.account-dbs-info.read |
GET |
/$DATABASE/ |
cloudantnosqldb.database-info.read |
GET/POST |
/$DATABASE/_all_docs |
cloudantnosqldb.any-document.read |
GET/POST |
/$DATABASE/_changes |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/$DOCUMENT_ID |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/$DOCUMENT_ID/$ATTACHMENT |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_bulk_get |
cloudantnosqldb.any-document.read |
GET/POST |
/_search_analyze |
cloudantnosqldb.account-search-analyze.execute |
POST |
/$DATABASE/_all_docs/queries |
cloudantnosqldb.any-document.read |
GET/HEAD |
/$DATABASE/_design/$DOCUMENT_ID/_geo/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
GET/POST |
/$DATABASE/_design/$DOCUMENT_ID/_search/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_design/$DOCUMENT_ID/_view/$VIEW/queries |
cloudantnosqldb.any-document.read |
GET/POST |
/$DATABASE/_design/$DOCUMENT_ID/_view/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_explain/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_find/$FURTHER_PATH_PARTS |
cloudantnosqldb.any-document.read |
GET |
/$DATABASE/_local/$DOCUMENT_ID |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_missing_revs |
cloudantnosqldb.any-document.read |
POST |
/$DATABASE/_revs_diff |
cloudantnosqldb.any-document.read |
GET/HEAD |
/ | cloudantnosqldb.account-meta-info.read |
| Methode | Endpunkt | Aktionsname |
|---|---|---|
GET |
/_api/v2/usage/data_volume und /_api/v2/usage/$YEAR/$MONTH |
cloudantnosqldb.sapi.usage-data-volume |
GET |
/_api/v2/user/capacity/throughput |
cloudantnosqldb.capacity-throughput.read |
GET |
/_api/v2/user/current/throughput |
cloudantnosqldb.current-throughput.read |
GET |
/_api/v2/user/capacity/databases |
cloudantnosqldb.account-capacity-dbs.read |
GET |
/_api/v2/user/current/databases |
cloudantnosqldb.account-current-dbs.read |
GET/HEAD |
/ | cloudantnosqldb.account-meta-info.read |
GET/HEAD |
/_active_tasks |
cloudantnosqldb.account-active-tasks.read |
GET/HEAD |
/_scheduler/jobs |
cloudantnosqldb.replication-scheduler.read |
GET/HEAD |
/_scheduler/docs |
cloudantnosqldb.replication-scheduler.read |
GET/HEAD |
/_up |
cloudantnosqldb.account-up.read |
GET/HEAD |
/$DATABASE/_shards |
cloudantnosqldb.database-shards.read |
PUT/DELETE |
/$DATABASE/_local/$DOCUMENT_ID |
cloudantnosqldb.local-document.write |
POST |
/_dbs_info |
cloudantnosqldb.account-dbs-info.read |
GET |
/$DATABASE/ |
cloudantnosqldb.database-info.read |
| Methode | Endpunkt | Aktionsname |
|---|---|---|
PUT/DELETE |
/$DATABASE/_local/$DOCUMENT_ID |
cloudantnosqldb.local-document.write |
Fehlerbehebung
Wenn Sie Probleme bei der Authentifizierung mit IAM haben, wenn Sie Anforderungen an Ihre IBM Cloudant-Serviceinstanz absetzen, überprüfen Sie Ihr Konto, wie im nächsten Abschnitt beschrieben.
IAM-Fähigkeit Ihres Kontos sicherstellen
Im Abschnitt 'Übersicht' des IBM Cloudant-Dashboards ist die Authentifizierungsmethode unter den Bereitstellungsdetails aufgeführt. Ihre verfügbaren Authentifizierungsmethoden sind dort aufgelistet.