DevOps-IAM-Policys
Durch das Erstellen von IAM-Policys können Sie steuern, wer Zugriff auf DevOps-Ressourcen hat und welchen Zugriffstyp jede Benutzergruppe erhält.
Bevor Sie den Zugriff auf DevOps-Ressourcen wie Code-Repositorys, Build-Pipelines und Deployment-Pipelines kontrollieren können, müssen Sie Benutzer erstellen und in entsprechende Gruppen einfügen (siehe Benutzer verwalten und Gruppen verwalten). Sie können dann Policys und Policy-Anweisungen erstellen, um den Zugriff zu kontrollieren (siehe Policys verwalten).
Standardmäßig können Benutzer in der Gruppe Administrators
auf alle DevOps-Ressourcen zugreifen. Wenn Sie mit IAM-Policys nicht vertraut sind, finden Sie weitere Informationen unter Erste Schritte mit Policys.
Eine vollständige Liste aller Policys in Oracle Cloud Infrastructure finden Sie in der Policy-Referenz und unter Allgemeine Policys.
Ressourcentypen und Berechtigungen
Liste der DevOps-Ressourcentypen und der zugehörigen Berechtigungen.
Um allen DevOps-Ressourcen Berechtigungen zuzuweisen, verwenden Sie den Aggregattyp devops-family
. Weitere Informationen finden Sie unter Berechtigungen.
Eine Policy, die <verb> devops-family
verwendet, entspricht dem Schreiben einer Policy mit einer separaten <verb> <resource-type>
-Anweisung für die einzelnen individuellen Ressourcentypen.
Ressourcentyp | Berechtigungen |
---|---|
devops-Familie | Die Verben inspect, read, use, manage gelten für alle Berechtigungen für die Ressourcentypen DevOps.Die Verben |
devops-project |
|
devops-deploy-family |
Die Verben
|
devops-deploy-artifact |
|
devops-deploy-environment |
|
devops-deploy-pipeline |
|
devops-deploy-stage |
|
devops-deployment |
|
devops-work-requests |
|
devops-repository-family |
Die Verben
Das Verb |
devops-repository |
|
devops-pull-Anfrage |
|
devops-pull-request-comment |
|
devops-protected-branch |
|
devops-build-family |
Bei den angegebenen Verben gilt
|
devops-build-pipeline |
|
devops-build-pipeline-stage |
|
devops-build-run |
|
devops-connection |
|
devops-trigger |
|
Unterstützte Variablen
Variablen werden beim Hinzufügen von Bedingungen zu einer Policy verwendet.
DevOps unterstützt die folgenden Variablen:
- Entity: Oracle Cloud-ID (OCID)
- Zeichenfolge: Freiformtext.
- Zahl: Numerischer Wert (beliebige Dezimalstellenanzahl)
- Liste: Liste der Entitys, Zeichenfolgen oder Zahlen
- Boolescher Wert: "True" oder "False"
Siehe Allgemeine Variablen für alle Anforderungen.
Variablen werden kleingeschrieben und durch Bindestriche getrennt. Beispiel: target.tag-namespace.name
, target.display-name
. Hier muss name
eindeutig sein, und display-name
ist die Beschreibung.
Erforderliche Variablen werden vom DevOps-Service für jede Anforderung bereitgestellt. Automatische Variablen werden von der Autorisierungs-Engine bereitgestellt (entweder lokal im Service mit dem SDK für einen Fat Client oder auf der Identity Data Plane für einen Thin Client).
Erforderliche Variablen | Typ | Beschreibung |
---|---|---|
target.compartment.id |
Entity (OCID) | Die OCID der primären Ressource für die Anforderung. |
request.operation |
Zeichenfolge | Die Vorgangs-ID (z.B. GetUser ) für die Anforderung. |
target.resource.kind |
Zeichenfolge | Der Name der Ressourcenart der primären Ressource für die Anforderung. |
Automatische Variablen | Typ | Beschreibung |
---|---|---|
request.user.id |
Entity (OCID) | Die OCID des anfordernden Benutzers. |
request.groups.id |
Liste der Entitys (OCIDs) | Die OCIDs der Gruppen, zu denen der anfordernde Benutzer gehört. |
target.compartment.name |
Zeichenfolge | Der Name des Compartments, das in target.compartment.id . angegeben wird |
target.tenant.id |
Entity (OCID) | Die OCID der Zielmandanten-ID. |
Verfügbare Quellen für die Variablen:
- Anforderung: Stammt aus der Anforderungseingabe.
- Abgeleitet: Stammt aus der Anforderung.
- Gespeichert: Stammt aus dem Service, beibehaltene Eingabe.
- Berechnet: Wird aus Servicedaten berechnet.
Variablen Ressourcentypen zuordnen
Ressourcentyp | Variable | Typ | Quelle | Beschreibung |
---|---|---|---|---|
|
target.project.id |
Eintrag | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren", "Löschen" und "Verschieben" in der Projektressource. |
|
target.project.name |
Zeichenfolge | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren", "Löschen" und "Verschieben" in der Projektressource. |
devops-deploy-artifact |
target.artifact.id |
Entity | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren" und "Löschen" in der Artefaktressource. |
devops-deploy-environment |
target.environment.id |
Entity | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren" und "Löschen" in der Umgebungsressource. |
|
target.pipeline.id |
Entity | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren" und "Löschen" in der Pipelineressource. |
devops-deploy-stage |
target.stage.id |
Entity | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren" und "Löschen" in der Phasenressource. |
devops-deployment |
target.deployment.id |
Entity | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren" und "Löschen" in Deployment-Ressourcentypen. |
devops-repository
|
target.repository.id |
Entity | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren", "Löschen" und "Verschieben" in der Repository-Ressource. |
devops-pull-request-comment |
target.pull-request.id |
Entity | Gespeichert | Verfügbar für die Vorgänge zum Abrufen, Aktualisieren und Löschen in der Pull-Request-Ressource. |
devops-repository
|
target.repository.name |
Entity | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren", "Löschen" und "Verschieben" in der Repository-Ressource. |
devops-pull-request-comment |
target.pull-request.display-name |
Zeichenfolge | Gespeichert | Verfügbar für die Vorgänge zum Abrufen, Aktualisieren und Löschen in der Pull-Request-Ressource. |
devops-repository |
target.branch.name |
Entity | Gespeichert | Verfügbar für Git-Vorgänge wie "uploaden, packen und packen" in der Repository-Verzweigung. |
devops-protected-branch |
target.branch.name |
Zeichenfolge | Gespeichert | Verfügbar für die Vorgänge zum Abrufen, Aktualisieren, Löschen und Verschieben in der Ressource "Geschützte Verzweigung". |
devops-repository |
target.tag.name |
Entity | Gespeichert | Verfügbar für Git-Vorgänge wie "upload-pack", "receive-pack" in der Repository-Verzweigung. |
devops-pull-request |
target.pull-request.id |
Entity | Gespeichert | Verfügbar für die Vorgänge zum Abrufen, Aktualisieren und Löschen in der Pull-Request-Ressource. |
devops-pull-request |
target.pull-request.display-name |
Zeichenfolge | Gespeichert | Verfügbar für die Vorgänge zum Abrufen, Aktualisieren und Löschen in der Pull-Request-Ressource. |
devops-connection |
target.connection.id |
Entity | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren" und "Löschen" in der Verbindungsressource. |
devops-trigger |
target.trigger.id |
Entity | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren" und "Löschen" in der Triggerressource. |
|
target.build-pipeline.id |
Entity | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren" und "Löschen" in der Build-Pipelineressource. |
devops-build-pipeline-stage |
target.build-pipeline-stage.id |
Entity | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren" und "Löschen" in der Build-Pipelinephasenressource. |
devops-build-run |
target.build-run.id |
Entity | Gespeichert | Verfügbar für die Vorgänge "Abrufen", "Aktualisieren", "Löschen" und "Abbrechen" in der Build-Ausführungsressource. |
Details zu Kombinationen aus Verb + Ressourcentyp
Identifizieren Sie die Berechtigungen und API-Vorgänge, die von den einzelnen Verben für DevOps-Ressourcen abgedeckt werden.
Die Zugriffsebene ist kumulativ von inspect
zu read
zu use
zu manage
. Ein Pluszeichen (+)
in einer Tabellenzelle gibt einen inkrementellen Zugriff im Vergleich zur vorherigen Zelle an. Alle Berechtigungen (inspect, read, use und manage) gelten für den Ressourcentyp devops-family
, der alle DevOps-Ressourcen umfasst.
Informationen zum Erteilen von Zugriffsberechtigungen finden Sie unter Berechtigungen.
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-project
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_PROJECT_INSPECT |
ListProjects |
Listet alle Projektressourcen in einem Compartment auf. |
read |
|
|
Ruft ein bestimmtes Projekt anhand der ID ab. |
use |
|
|
Aktualisiert ein bestimmtes Projekt. |
manage |
|
|
Erstellt eine Projektressource. |
manage |
|
|
Löscht ein bestimmtes Projekt. |
manage |
|
|
Verschiebt ein Projekt in ein anderes Compartment. |
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-deploy-family
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
|
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-deploy-artifact
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_ARTIFACT_INSPECT |
ListDeployArtifacts |
Listet alle Artefakte in einem Projekt oder Compartment auf. |
read |
|
|
Ruft ein bestimmtes Artefakt anhand der ID ab. |
use |
|
|
Aktualisiert ein bestimmtes Artefakt anhand der ID. |
manage |
|
|
Erstellt eine Artefaktressource in einem Projekt. |
manage |
|
|
Löscht ein bestimmtes Artefakt anhand der ID. |
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-deploy-environment
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_ENVIRONMENT_INSPECT |
ListDeployEnvironments |
Listet alle Umgebungen in einer Anwendung oder einem Compartment auf. |
read |
|
|
Ruft eine bestimmte Umgebung anhand der ID ab. |
use |
|
|
Aktualisiert eine bestimmte Umgebung anhand der ID. |
manage |
|
|
Erstellt eine Umgebung für ein Deployment-Ziel in einer Anwendung. |
manage |
|
|
Löscht eine bestimmte Umgebung anhand der ID. |
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-deploy-pipeline
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_PIPELINE_INSPECT |
ListDeployPipelines |
Listet alle Pipelineressourcen in einem Compartment auf. |
read |
|
|
Ruft eine bestimmte Pipeline anhand der ID ab. |
use |
|
|
Aktualisiert eine bestimmte Pipeline anhand der ID. |
manage |
|
|
Erstellt eine Pipelineressource. |
manage |
|
|
Löscht eine bestimmte Pipeline. |
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-deploy-stage
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_STAGE_INSPECT |
ListDeployStages |
Listet alle Phasen in einer Pipeline oder einem Compartment auf. |
read |
|
|
Ruft eine bestimmte Phase anhand der ID ab. |
use |
|
|
Aktualisiert eine bestimmte Phase anhand der ID. |
manage |
|
|
Erstellt eine Phase in einer Pipeline. |
manage |
|
|
Löscht eine bestimmte Phase anhand der ID. |
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-deployment
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_DEPLOYMENT_INSPECT |
ListDeployments |
Listet alle Deployments in einem Compartment auf. |
read |
|
|
Ruft ein bestimmtes Deployment anhand der ID ab. |
use |
|
|
Aktualisiert eine bestimmte Phase anhand der ID. |
use |
|
|
Genehmigt ein bestimmtes Deployment, das auf eine manuelle Genehmigung wartet. |
use |
|
|
Bricht ein gerade ausgeführtes Deployment ab. |
manage |
|
|
Erstellt ein Deployment für eine bestimmte Pipeline. |
manage |
|
|
Löscht ein bestimmtes Deployment. |
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-work-requests
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_WORK_REQUEST_INSPECT |
ListWorkRequests |
Listet alle Arbeitsanforderungen in einem Compartment auf. |
read |
|
|
Ruft eine bestimmte Arbeitsanforderung anhand der ID ab. |
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-repository-family
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
|
|
|
read |
inspect+
|
|
|
use |
|
|
|
manage |
|
|
|
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-repository
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_REPOSITORY_INSPECT |
ListRepositories |
Listet alle Repository-Ressourcen nach Compartment-ID, Projekt-ID oder Repository-ID auf. |
read |
|
|
Ruft ein bestimmtes Repository anhand der ID ab. |
use |
|
|
Aktualisiert ein bestimmtes Repository anhand der ID. |
manage |
|
|
Erstellt ein Repository. |
manage |
|
|
Löscht ein bestimmtes Repository anhand der ID. |
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-connection
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_CONNECTION_INSPECT |
ListConnections |
Listet alle Verbindungen in einem Projekt oder Compartment auf. |
read |
|
|
Ruft eine bestimmte Verbindung anhand der ID ab. |
use |
|
|
Aktualisiert eine bestimmte Verbindung anhand der ID. |
use |
|
|
Validiert das PAT der Verbindung. |
manage |
|
|
Erstellt eine Verbindungsressource in einem Projekt. |
manage |
|
|
Löscht eine bestimmte Verbindung anhand der ID. |
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-trigger
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_TRIGGER_INSPECT |
ListTriggers |
Listet alle Trigger in einem Projekt oder Compartment auf. |
read |
|
|
Ruft einen bestimmten Trigger anhand der ID ab. |
use |
|
|
Aktualisiert einen bestimmten Trigger anhand der ID. |
manage |
|
|
Erstellt eine Triggerressource in einem Projekt. |
manage |
|
|
Löscht einen bestimmten Trigger anhand der ID. |
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-build-family
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
|
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-build-pipeline
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_BUILD_PIPELINE_INSPECT |
ListBuildPipelines |
Listet alle Build-Pipelineressourcen in einem Compartment auf. |
read |
|
|
Ruft eine bestimmte Build-Pipeline anhand der ID ab. |
use |
|
|
Aktualisiert eine bestimmte Build-Pipeline anhand der ID. |
manage |
|
|
Erstellt eine Build-Pipelineressource. |
manage |
|
|
Löscht eine bestimmte Build-Pipeline. |
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-build-pipeline-stage
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_BUILD_PIPELINE_STAGE_INSPECT |
ListBuildPipelineStages |
Listet alle Phasen in einer Build-Pipeline oder einem Compartment auf. |
read |
|
|
Ruft eine bestimmte Build-Pipelinephase anhand der ID ab. |
use |
|
|
Aktualisiert eine bestimmte Build-Pipelinephase anhand der ID. |
manage |
|
|
Erstellt eine Phase in einer Build-Pipeline. |
manage |
|
|
Löscht eine bestimmte Build-Pipelinephase anhand der ID. |
In dieser Tabelle werden die Berechtigungen und APIs aufgeführt, die von den Berechtigungen für die Ressource devops-build-run
vollständig abgedeckt werden.
Verben | Berechtigungen | Abgedeckte APIs | Beschreibung |
---|---|---|---|
inspect |
DEVOPS_BUILD_RUN_INSPECT |
ListBuildRuns |
Listet die Build-Ausführungen in einem Projekt oder Compartment auf. |
read |
|
|
Ruft eine bestimmte Build-Ausführung anhand der ID ab. |
use |
|
|
Aktualisiert eine vorhandene Build-Ausführung. |
use |
|
|
Bricht eine gerade ausgeführte Build-Ausführung ab. |
manage |
|
|
Startet eine Build-Ausführung für eine bestimmte Build-Pipeline. |
manage |
|
|
Löscht eine vorhandene Build-Ausführung. |
Policy und dynamische Gruppe erstellen
Um Benutzern Berechtigungen für den Zugriff auf die verschiedenen DevOps-Ressourcen zu erteilen, wie Build-Pipelines, Deployment-Pipelines, Artefakte und Code-Repositorys, müssen Sie Gruppen, dynamische Gruppen und IAM-Policys erstellen.
Mit einer Policy kann eine Gruppe auf verschiedene Arten mit bestimmten Ressourcen in einem bestimmten Compartment arbeiten.
Policy
Im Folgenden wird beschrieben, wie Sie eine Policy in der Oracle Cloud-Konsole erstellen:
- Öffnen Sie das Navigationsmenü, und klicken Sie auf Identität und Sicherheit. Klicken Sie unter Identität auf Policys.
- Klicken Sie auf Policy erstellen.
- Geben Sie einen Namen und eine Beschreibung für die Policy ein.
- Klicken Sie unter Policy Builder auf die Option Manuellen Editor anzeigen, um den Editor zu aktivieren.
Geben Sie eine Policy-Regel im folgenden Format ein:
Allow <group> to <verb> <resource_type> in <compartment or tenancy details>
- Klicken Sie auf Erstellen.
Weitere Informationen zum Erstellen von Policys finden Sie unter Funktionsweise von Policys und in der Policy-Referenz.
Informationen zum Erstellen einer Gruppe und zum Hinzufügen von Benutzern zur Gruppe finden Sie unter Gruppen verwalten.
Dynamische Gruppe
Eine dynamische Gruppe ist ein spezieller Gruppentyp, der Ressourcen (wie z. B. Compute-Instanzen) enthält, die von Ihnen definierten Regeln entsprechen.
Übereinstimmungsregeln definieren die Ressourcen, die zur dynamischen Gruppe gehören. In der Konsole können Sie die Regel entweder manuell in das angegebene Textfeld eingeben oder den Regel-Builder verwenden. Weitere Informationen finden Sie unter Abgleichsregeln zum Definieren dynamischer Gruppen schreiben. Verwenden Sie die Regel match-any
, um mehrere Bedingungen abzugleichen.
DevOpsDynamicGroup
benennen und compartmentOCID
durch die OCID Ihres Compartments ersetzen: ALL {resource.type = 'devopsdeploypipeline', resource.compartment.id = 'compartmentOCID'}
ALL {resource.type = 'devopsrepository', resource.compartment.id = 'compartmentOCID'}
ALL {resource.type = 'devopsbuildpipeline',resource.compartment.id = 'compartmentOCID'}
ALL {resource.type = 'devopsconnection',resource.compartment.id = 'compartmentOCID'}
Weitere Informationen zu dynamischen Gruppen, einschließlich der für das Erstellen erforderlichen Berechtigungen, finden Sie unter Dynamische Gruppen verwalten und Policys für dynamische Gruppen schreiben.
DevOpsDynamicGroup
: Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
Bei Mandanten mit Identitätsdomains muss der Domainname dem dynamischen Gruppennamen in der Policy vorangehen. Beispiel:
domain-name/{DevOpsDynamicGroup}
Policy-Beispiele
DevOps Policys, die für die Verwendung verschiedener DevOps-Ressourcen erforderlich sind, wie Code-Repositorys, Build-Pipelines und Deployment-Pipelines.
Folgende Policy-Beispiele sind verfügbar:
Umgebungs-Policys
Policy-Beispiel für das Erstellen einer Zielumgebung, die für das Deployment verwendet wird.
Informationen zum Erstellen von Policys mit der Konsole finden Sie unter Anweisungen.
Allow group <group-name> to manage virtual-network-family in compartment <compartment_name> where any {request.operation='CreatePrivateEndpoint', request.operation='UpdatePrivateEndpoint', request.operation='DeletePrivateEndpoint', request.operation='EnableReverseConnection', request.operation='ModifyReverseConnection', request.operation='DisableReverseConnection'}
Code-Repository-Policys
Policy-Beispiele für das Erstellen eines Code-Repositorys und das Herstellen von Verbindungen mit externen Code-Repositorys wie GitHub und GitLab.
Informationen zum Erstellen von Policys, Gruppen und dynamischen Gruppen mit der Konsole finden Sie unter Anweisungen.
- Benutzern in einer Gruppe Zugriff auf das Projekt "DevOps" gewähren:
Allow group <group-name> to read devops-project in compartment <compartment_name>
- Benutzern in einer Gruppe das Lesen, Erstellen, Aktualisieren oder Löschen eines Repositorys erlauben:
Allow group <group-name> to manage devops-repository in compartment <compartment_name>
- Benutzern in einer Gruppe Zugriff auf das Projekt "DevOps" gewähren:
Allow group <group-name> to read devops-project in compartment <compartment_name>
- Benutzern in einer Gruppe das Lesen oder Aktualisieren eines Repositorys erlauben:
Allow group <group-name> to use devops-repository in compartment <compartment_name>
Allow dynamic-group DevOpsDynamicGroup to read secret-family in compartment <compartment_name>
Allow group <group-name> to use devops-connection in compartment <compartment_name>
Allow dynamic-group DevOpsDynamicGroup to inspect users in tenancy
Um eine Pull-Anforderung erstellen zu können, müssen Sie Policys basierend auf den Aktionen definieren, die ein Benutzer ausführen darf. Weitere Informationen und Beispiele finden Sie in Pull-Anforderungen verwalten.
Build-Pipeline-Policys
Policy-Beispiele für das Erstellen von Build-Pipelines und das Hinzufügen von Phasen zur Pipeline.
Informationen zum Erstellen von Policys mit der Konsole finden Sie unter Anweisungen.
- IAM-Policys erstellen, damit die dynamische Gruppe auf OCI-Ressourcen im Compartment zugreifen kann:
- Um Artefakte bereitzustellen, erteilen Sie Zugriff auf Container Registry (OCIR):
Allow dynamic-group DevOpsDynamicGroup to manage repos in compartment <compartment_name>
- Um auf den Vault für ein persönliches Zugriffstoken (Personal Access Token, PAT) zuzugreifen, erteilen Sie Zugriff auf "secret-family". Diese Policy ist in der Phase "Verwalteter Build" für den Zugriff auf das PAT erforderlich, um den Quellcode herunterzuladen:
Allow dynamic-group DevOpsDynamicGroup to read secret-family in compartment <compartment_name>
- Erteilen Sie Berechtigungen für das Lesen von Deployment-Artefakten in der Phase "Artefakte übermitteln", für das Lesen des DevOps-Code-Repositorys in der Phase "Verwalteter Build" und für das Auslösen der Deployment-Pipeline in der Phase "Deployment auslösen":
Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
- Um Artefakte zu übermitteln, erteilen Sie Zugriff auf Artifact Registry:
Allow dynamic-group DevOpsDynamicGroup to manage generic-artifacts in compartment <compartment_name>
- Um Benachrichtigungen zu senden, erteilen Sie Zugriff auf die Build-Pipeline:
Allow dynamic-group DevOpsDynamicGroup to use ons-topics in compartment <compartment_name>
- Um Artefakte bereitzustellen, erteilen Sie Zugriff auf Container Registry (OCIR):
- Erstellen Sie Policys, um das Setup des privaten Zugriffs in der Phase "Verwalteter Build" zu ermöglichen:
Allow dynamic-group DevOpsDynamicGroup to use subnets in compartment <customer subnet compartment>
Allow dynamic-group DevOpsDynamicGroup to use vnics in compartment <customer subnet compartment>
Wenn Netzwerksicherheitsgruppen (NSGs) in der Konfiguration für den privaten Zugriff angegeben sind, muss die Policy den Zugriff auf die NSGs zulassen:Allow dynamic-group DevOpsDynamicGroup to use network-security-groups in compartment <customer subnet compartment>
- Erstellen Sie eine Policy, mit der die Build-Pipeline auf die Zertifikatsautoritäts-(CA-)Bundle-Ressource zur Transport Layer Security-(TLS-)Verifizierung zugreifen kann:
Allow dynamic-group DevOpsDynamicGroup to use cabundles in compartment <compartment_name>
Policys für den Zugriff auf ADM-Ressourcen
Policy-Beispiele für den Zugriff auf die Ressourcen des Application Dependency Management-(ADM-)Service von der Build-Pipeline.
Informationen zum Erstellen von Policys mit der Konsole finden Sie unter Anweisungen.
Allow dynamic-group DevOpsDynamicGroup to use adm-knowledge-bases in tenancy
Allow dynamic-group DevOpsDynamicGroup to manage adm-vulnerability-audits in tenancy
Deployment-Pipeline-Policys
Policy-Beispiele für das Erstellen von Deployment-Pipelines und das Hinzufügen von Phasen zur Pipeline.
Informationen zum Erstellen von Policys mit der Konsole finden Sie unter Anweisungen.
-
Deployments von OKE-Clustern:
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to manage cluster in compartment <compartment_name>
- Functions:
Allow dynamic-group DevOpsDynamicGroup to manage fn-function in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to read fn-app in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use fn-invocation in compartment <compartment_name>
- Deployments von Instanzgruppen:
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to read instance-family in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use instance-agent-command-family in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use load-balancers in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use vnics in compartment <compartment_name>
Für ein Deployment von Instanzgruppen müssen Sie auch eine dynamische Gruppe für die folgenden Instanzen erstellen und der dynamischen Gruppe bestimmte Berechtigungen erteilen:- Erstellen Sie eine dynamische Gruppe für die Instanzen. Beispiel: Sie können die dynamische Gruppe als
DeployComputeDynamicGroup
benennen undcompartmentOCID
durch die OCID Ihres Compartments ersetzen:All {instance.compartment.id = 'compartmentOCID'}
- Erstellen Sie IAM-Policys, um den erforderlichen Zugriff auf die Deployment-Instanzen zu erteilen:
Allow dynamic-group DeployComputeDynamicGroup to use instance-agent-command-execution-family in compartment <compartment_name> Allow dynamic-group DeployComputeDynamicGroup to read generic-artifacts in compartment <compartment_name> Allow dynamic-group DeployComputeDynamicGroup to read secret-family in compartment <compartment_name>
- Erstellen Sie eine dynamische Gruppe für die Instanzen. Beispiel: Sie können die dynamische Gruppe als
- Bereitstellungen in der Helm-Phase:
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to manage cluster in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to read repos in compartment <compartment_name>
- Genehmigungsphase:
Allow group pipeline1_approvers to use devops-family in compartment <compartment_name> where all {request.principal.id = 'ocid1.pipeline1'} Allow group pipeline2_approvers to use devops-family in compartment <compartment_name> where all {request.principal.id = 'ocid1.pipeline2'}
- Shellphase:
Allow dynamic-group DevOpsDynamicGroup to manage compute-container-instances in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to manage compute-containers in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use vnics in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use subnets in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use dhcp-options in compartment <compartment_name>
Wenn Sie eine Netzwerksicherheitsgruppe beim Erstellen einer Shellphase verwenden, fügen Sie die folgende Policy hinzu:Allow dynamic-group DevOpsDynamicGroup to use network-security-groups in compartment <compartment_name>
Artefakt-Policys
Policy-Beispiele für das Hinzufügen der Phase "Artefakte übermitteln" zur Build-Pipeline.
In der Phase "Artefakte übermitteln" werden die Build-Ausgaben aus der Phase "Verwalteter Build" mit der zu übermittelnden Version einer DevOps-Artefaktressource und dann dem Oracle Cloud Infrastructure-(OCI-)Code-Repository zugeordnet. DevOps unterstützt Artefakte, die in OCI Container Registry- und Artifact Registry-Repositorys gespeichert sind. Siehe Phase "Artefakte übermitteln" hinzufügen.
Informationen zum Erstellen von Policys mit der Konsole finden Sie unter Anweisungen.
Erstellen Sie die folgenden IAM-Policys:
- So zeigen Sie eine Liste aller Repositorys in Container Registry an, die zum Mandanten oder zu einem bestimmten Compartment gehören:
Allow dynamic-group DevOpsDynamicGroup to inspect repos in tenancy
Allow dynamic-group DevOpsDynamicGroup to inspect repos in compartment <compartment_name>
- Übertragen von Artefakten an Container Registry (Oracle Cloud Infrastructure Registry, OCIR) zulassen, die zum Mandanten oder zu einem bestimmten Compartment gehört:
Allow dynamic-group DevOpsDynamicGroup to use repos in tenancy
Allow dynamic-group DevOpsDynamicGroup to use repos in compartment <compartment_name>
- Möglichkeit, eine Liste der generischen Artefakte in Artifact Registry anzuzeigen, die zum Mandanten oder zu einem bestimmten Compartment gehören:
Allow dynamic-group DevOpsDynamicGroup to inspect generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to inspect generic-artifacts in compartment <compartment_name>
- Das Übertragen von generischen Artefakten an Artifact Registry zulassen, die zum Mandanten oder zu einem bestimmten Compartment gehört:
Allow dynamic-group DevOpsDynamicGroup to use generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to use generic-artifacts in compartment <compartment_name>
Siehe Artifact Registry-Policys.
- Das Abrufen von generischen Artefakten zulassen, die zum Mandanten oder zu einem bestimmten Compartment gehören:
Allow dynamic-group DevOpsDynamicGroup to read generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to read generic-artifacts in compartment <compartment_name>
Auf Artifact Registry zugreifen
Oracle Cloud Infrastructure Artifact Registry ist ein Repository-Service zum Speichern, Teilen und Verwalten von Packages für die Softwareentwicklung.
Sie können über den DevOps-Service auf die Artefakte zugreifen, die Sie in Artifact Registry speichern. Sie können eine Referenz auf drei Arten von Artefakten in Artifact Registry erstellen: Deployment-Konfigurationen von Instanzgruppen, allgemeine Artefakte und Kubernetes-Manifeste. Ihr Administrator muss den Pipelineressourcen die Berechtigung read all-artifacts
erteilen.
Informationen zum Erstellen von Policys mit der Konsole finden Sie unter Anweisungen.
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name>
Weitere Informationen finden Sie unter Artifact Registry-Policys.