Zugriffsberechtigung für Kataloge zuweisen
Als Kontoeigner weisen Sie Benutzern je nach Aufgabenbereich eine bestimmte Zugriffsberechtigung für die Katalogverwaltung zu. Sie können die Zuweisung von Zugriffsberechtigungen effizienter gestalten, indem Sie Zugriffsgruppen verwenden, um eine Gruppe von Benutzern als einzelne Entität zu verwalten. Auf diese Weise können Sie der Gruppe einmalig eine einzelne Richtlinie zuordnen und anschließend nach Bedarf Benutzer in der Gruppe hinzufügen oder aus der Gruppe entfernen.
Weitere Informationen finden Sie unter Zugriffsberechtigungen in IBM Cloud verwalten.
Zugriffsgruppen in der Konsole einrichten
Im Folgenden wird das Erstellen von Zugriffsgruppen und das Zuweisen bestimmter IAM-Richtlinien zu den einzelnen Gruppen näher erläutert.
Administratorzugriffsberechtigung über die Konsole zuweisen
Die Administratorzugriffsberechtigung ist für das Einrichten von Filtern auf Kontoebene im IBM Cloud-Katalog erforderlich.
- Melden Sie sich bei Ihrem IBM Cloud-Konto an.
- Rufen Sie in der IBM Cloud-Konsole Verwalten > Zugriff (IAM) > Zugriffsgruppen auf.
- Klicken Sie auf Erstellen.
- Geben Sie
private-catalog-adminsals Gruppenname ein und klicken Sie auf Erstellen. - Klicken Sie auf Zugang > Zugang zuweisen.
- Wählen Sie Katalogverwaltung in der Liste der Services aus.
- Wählen Sie den Katalog aus, auf den Benutzer zugreifen sollen.
- Wählen Sie im Abschnitt 'Plattformzugriffsberechtigung' die Rolle Administrator aus.
- Klicken Sie auf Hinzufügen > Zuweisen.
Zugriffsberechtigung eines Bearbeiters über die Konsole zuweisen
Die Bearbeiterzugriffsberechtigung ist für das Erstellen privater Kataloge, das Einrichten von Filtern für private Kataloge, das Hinzufügen von Software im privaten Katalog sowie für das Aktualisieren, das Kennzeichnen als veraltete Version und das Wiederherstellen Ihrer Software erforderlich.
- Rufen Sie Zugriffsgruppen auf und klicken Sie auf Erstellen.
- Geben Sie
private-catalog-editorsals Gruppenname ein und klicken Sie auf Erstellen. - Klicken Sie auf Zugang > Zugang zuweisen.
- Wählen Sie Katalogverwaltung in der Liste der Services aus.
- Wählen Sie den Katalog aus, auf den Benutzer zugreifen sollen.
- Wählen Sie im Abschnitt 'Plattformzugriffsberechtigung' die Rolle Bearbeiter aus.
- Klicken Sie auf Hinzufügen.
- Wählen Sie den Eintrag Kubernetes-Service in der Liste der Services aus.
- Wählen Sie Ihren Cluster aus und wählen Sie anschließend die Rollen Administrator und Manager aus.
- Klicken Sie auf Hinzufügen.
- Wählen Sie den Eintrag Schematics in der Liste der Services aus.
- Wählen Sie die Rolle Manager aus.
- Klicken Sie auf Hinzufügen > Zuweisen.
Zugriffsberechtigung eines Anzeigeberechtigten über die Konsole zuweisen
Die Zugriffsberechtigung eines Anzeigeberechtigten ist für das Anzeigen privater Kataloge, des gefilterten IBM Cloud-Katalogs und der Filtereinstellungen erforderlich.
- Rufen Sie Zugriffsgruppen auf und klicken Sie auf Erstellen.
- Geben Sie
private-catalog-viewersals Gruppenname ein und klicken Sie auf Erstellen. - Klicken Sie auf Zugang > Zugang zuweisen.
- Wählen Sie Katalogverwaltung in der Liste der Services aus.
- Wählen Sie den Katalog aus, auf den Benutzer zugreifen sollen.
- Wählen Sie im Abschnitt 'Plattformzugriffsberechtigung' die Rolle Anzeigeberechtigter aus.
- Klicken Sie auf Hinzufügen > Zuweisen.
Sie müssen außerdem die Zugriffsberechtigung des Anzeigeberechtigten für die Ressourcengruppe haben, der Ihr privater Katalog zugewiesen ist. Sie können Ihren privaten Katalog einer Ressourcengruppe zuweisen, wenn Sie die Schritte zum Erstellen eines privaten Katalogs ausführen. Weitere Informationen finden Sie in IBM Cloud-Katalog für alle Kontobenutzer anpassen.
Führen Sie die folgenden Schritte aus, um der Ressourcengruppe Ihres privaten Katalogs die Zugriffsberechtigung des Leseberechtigten zuzuweisen:
- Rufen Sie Benutzer auf und wählen Sie den Benutzer aus.
- Wählen Sie Zugang > Zugang zuweisen.
- Wählen Sie den Eintrag Alle Services mit aktiviertem Identity and Access Management in der Liste der Services aus.
- Definieren Sie den Zugriff auf Spezifische Ressourcen auf der Basis ausgewählter Attribute und wählen Sie die Ressourcengruppe für private Kataloge aus.
- Wählen Sie für den Plattformzugriff die Rolle Anzeigeberechtigter aus.
- Klicken Sie auf Hinzufügen > Zuweisen.
Benutzer über die Konsole zu Zugriffsgruppen hinzufügen
Führen Sie nach dem Einrichten der Zugriffsgruppen die folgenden Schritte aus, um Benutzer zu den Gruppen hinzuzufügen:
- Rufen Sie Benutzer auf und klicken Sie auf Benutzer einladen.
- Geben Sie die E-Mail-Adressen der Benutzer an. Wenn Sie mehrere Benutzer mit einer einzigen Einladung einladen, wird diesen Benutzern die gleiche Zugriffsberechtigung erteilt.
- Wählen Sie eine der drei Zugriffsgruppen aus, die Sie zuvor erstellt haben, und klicken Sie auf Hinzufügen > Einladen.
- Wiederholen Sie die Schritte, um Benutzer zu den anderen Zugriffsgruppen hinzuzufügen.
Sie können Benutzern auch Zugriff erteilen, indem Sie vertrauenswürdige Profile zu den Zugriffsgruppen hinzufügen. Weitere Informationen finden Sie unter Was macht eine gute Strategie für vertrauenswürdige Profile aus? und Vertrauenswürdige Profile erstellen.
Zugriffsgruppen über die Befehlszeilenschnittstelle (CLI) einrichten
Führen Sie den Befehl ibmcloud iam user-policy-create aus, um Zugriffsberechtigungen zuzuweisen.
Administratorzugriffsberechtigungen über die Befehlszeilenschnittstelle (CLI) zuweisen
Führen Sie den folgenden Befehl aus, um die Zugriffsberechtigung eines Administrators zuzuweisen:
ibmcloud iam user-policy-create USER_NAME --roles Administrator --service-name globalcatalog-collection
Zugriffsberechtigungen eines Bearbeiters über die Befehlszeilenschnittstelle (CLI) zuweisen
Führen Sie den folgenden Befehl aus, um die Zugriffsberechtigung eines Bearbeiters zuzuweisen:
ibmcloud iam user-policy-create USER_NAME --roles Editor --service-name globalcatalog-collection
Zugriffsberechtigungen eines Anzeigeberechtigten über die Befehlszeilenschnittstelle (CLI) zuweisen
Führen Sie den folgenden Befehl aus, um die Zugriffsberechtigung eines Anzeigeberechtigten zuzuweisen:
ibmcloud iam user-policy-create USER_NAME --roles Viewer --service-name globalcatalog-collection
Benutzer über die Befehlszeilenschnittstelle (CLI) zu Zugriffsgruppen hinzufügen
Führen Sie den Befehl ibmcloud iam access-group-user-add aus, um Benutzer über die Befehlszeilenschnittstelle zu einer Zugriffsgruppe hinzuzufügen:
ibmcloud iam access-group-user-add GROUP_NAME USER_NAME [USER_NAME2...]
Beispielsweise wird mit dem folgenden Befehl der Benutzer name@example.com zur Zugriffsgruppe example_group hinzugefügt.
ibmcloud iam access-group-user-add example_group name@example.com
Sie können Benutzern auch Zugriff erteilen, indem Sie vertrauenswürdige Profile zu den Zugriffsgruppen hinzufügen. Weitere Informationen finden Sie unter Was macht eine gute Strategie für vertrauenswürdige Profile aus? und Vertrauenswürdige Profile erstellen.
Zugriffsgruppen über die Anwendungsprogrammierschnittstelle (API) einrichten
Zum Zuweisen von Zugriff rufen Sie die IAM-Richtlinienverwaltungs-API wie im folgenden Beispiel gezeigt auf. Ersetzen Sie die Variable role_id durch die Rolle, die Sie zuweisen möchten: Viewer, Editor oder Administrator.
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{
"type": "access",
"description": "Editor role for SERVICE_NAME RESOURCE_NAME",
"subjects": [
{
"attributes": [
{
"name": "iam_id",
"value": "IBMid-123453user"
}
]
}
],
"roles":[
{
"role_id": "crn:v1:bluemix:public:iam::::role:Editor"
}
],
"resources":[
{
"attributes": [
{
"name": "accountId",
"value": "$ACCOUNT_ID"
},
{
"name": "serviceName",
"value": "$SERVICE_NAME"
},
{
"name": "resource",
"value": "$RESOURCE_NAME",
"operator": "stringEquals"
}
]
}
]
}'
SubjectAttribute subjectAttribute = new SubjectAttribute.Builder()
.name("iam_id")
.value(EXAMPLE_USER_ID)
.build();
PolicySubject policySubjects = new PolicySubject.Builder()
.addAttributes(subjectAttribute)
.build();
PolicyRole policyRoles = new PolicyRole.Builder()
.roleId("crn:v1:bluemix:public:iam::::role:Viewer")
.build();
ResourceAttribute accountIdResourceAttribute = new ResourceAttribute.Builder()
.name("accountId")
.value(exampleAccountId)
.operator("stringEquals")
.build();
ResourceAttribute serviceNameResourceAttribute = new ResourceAttribute.Builder()
.name("serviceType")
.value("service")
.operator("stringEquals")
.build();
ResourceTag policyResourceTag = new ResourceTag.Builder()
.name("project")
.value("prototype")
.operator("stringEquals")
.build();
PolicyResource policyResources = new PolicyResource.Builder()
.addAttributes(accountIdResourceAttribute)
.addAttributes(serviceNameResourceAttribute)
.addTags(policyResourceTag)
.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: exampleUserId,
},
],
},
];
const policyRoles = [
{
role_id: 'crn:v1:bluemix:public:iam::::role:Viewer',
},
];
const accountIdResourceAttribute = {
name: 'accountId',
value: exampleAccountId,
operator: 'stringEquals',
};
const serviceNameResourceAttribute = {
name: 'serviceType',
value: 'service',
operator: 'stringEquals',
};
const policyResourceTag = {
name: 'project',
operator: 'stringEquals',
value: 'prototype',
};
const policyResources = [
{
attributes: [accountIdResourceAttribute, serviceNameResourceAttribute],
tags: [policyResourceTag],
},
];
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=example_user_id)])
policy_roles = PolicyRole(
role_id='crn:v1:bluemix:public:iam::::role:Viewer')
account_id_resource_attribute = ResourceAttribute(
name='accountId', value=example_account_id)
service_name_resource_attribute = ResourceAttribute(
name='serviceType', value='service')
policy_resource_tag = ResourceTag(
name='project', value='prototype')
policy_resources = PolicyResource(
attributes=[account_id_resource_attribute,
service_name_resource_attribute],
tags=[policy_resource_tag])
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: &exampleUserID,
}
policySubjects := &iampolicymanagementv1.PolicySubject{
Attributes: []iampolicymanagementv1.SubjectAttribute{*subjectAttribute},
}
policyRoles := &iampolicymanagementv1.PolicyRole{
RoleID: core.StringPtr("crn:v1:bluemix:public:iam::::role:Viewer"),
}
accountIDResourceAttribute := &iampolicymanagementv1.ResourceAttribute{
Name: core.StringPtr("accountId"),
Value: core.StringPtr(exampleAccountID),
Operator: core.StringPtr("stringEquals"),
}
serviceNameResourceAttribute := &iampolicymanagementv1.ResourceAttribute{
Name: core.StringPtr("serviceType"),
Value: core.StringPtr("service"),
Operator: core.StringPtr("stringEquals"),
}
policyResourceTag := &iampolicymanagementv1.ResourceTag{
Name: core.StringPtr("project"),
Value: core.StringPtr("prototype"),
Operator: core.StringPtr("stringEquals"),
}
policyResources := &iampolicymanagementv1.PolicyResource{
Attributes: []iampolicymanagementv1.ResourceAttribute{
*accountIDResourceAttribute, *serviceNameResourceAttribute},
Tags: []iampolicymanagementv1.ResourceTag{*policyResourceTag},
}
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))
Erwartete Antwort beim Einrichten des Zugriffs
{
"id": "12345678-abcd-1a2b-a1b2-1234567890ab",
"type": "access",
"description": "Viewer role access for all instances of SERVICE_NAME in the account.",
"subjects": [
{
"attributes": [
{
"name": "iam_id",
"value": "IBMid-123453user"
}
]
}
],
"roles": [
{
"roles_id": "crn:v1:bluemix:public:iam::::role:Viewer"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "ACCOUNT_ID",
"operator": "stringEquals"
},
{
"name": "serviceName",
"value": "SERVICE_NAME",
"operator": "stringEquals"
}
]
},
{
"tags": [
{
"name": "project",
"value": "moonshot",
"operator": "stringEquals"
},
{
"name": "pipeline",
"value": "test",
"operator": "stringEquals"
}
]
}
],
"href": "https://iam.cloud.ibm.com/v1/policies/12345678-abcd-1a2b-a1b2-1234567890ab",
"created_at": "2018-08-30T14:09:09.907Z",
"created_by_id": "USER_ID",
"last_modified_at": "2018-08-30T14:09:09.907Z",
"last_modified_by_id": "USER_ID",
"state": "active"
}
{
"id": "12345678-abcd-1a2b-a1b2-1234567890ab",
"type": "access",
"description": "Viewer role access for all instances of SERVICE_NAME in the account.",
"subjects": [
{
"attributes": [
{
"name": "iam_id",
"value": "IBMid-123453user"
}
]
}
],
"roles": [
{
"roles_id": "crn:v1:bluemix:public:iam::::role:Viewer"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "ACCOUNT_ID",
"operator": "stringEquals"
},
{
"name": "serviceName",
"value": "SERVICE_NAME",
"operator": "stringEquals"
}
]
},
{
"tags": [
{
"name": "project",
"value": "moonshot",
"operator": "stringEquals"
},
{
"name": "pipeline",
"value": "test",
"operator": "stringEquals"
}
]
}
],
"href": "https://iam.cloud.ibm.com/v1/policies/12345678-abcd-1a2b-a1b2-1234567890ab",
"created_at": "2018-08-30T14:09:09.907Z",
"created_by_id": "USER_ID",
"last_modified_at": "2018-08-30T14:09:09.907Z",
"last_modified_by_id": "USER_ID",
"state": "active"
}
{
"id": "12345678-abcd-1a2b-a1b2-1234567890ab",
"type": "access",
"description": "Viewer role access for all instances of SERVICE_NAME in the account.",
"subjects": [
{
"attributes": [
{
"name": "iam_id",
"value": "IBMid-123453user"
}
]
}
],
"roles": [
{
"roles_id": "crn:v1:bluemix:public:iam::::role:Viewer"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "ACCOUNT_ID",
"operator": "stringEquals"
},
{
"name": "serviceName",
"value": "SERVICE_NAME",
"operator": "stringEquals"
}
]
},
{
"tags": [
{
"name": "project",
"value": "moonshot",
"operator": "stringEquals"
},
{
"name": "pipeline",
"value": "test",
"operator": "stringEquals"
}
]
}
],
"href": "https://iam.cloud.ibm.com/v1/policies/12345678-abcd-1a2b-a1b2-1234567890ab",
"created_at": "2018-08-30T14:09:09.907Z",
"created_by_id": "USER_ID",
"last_modified_at": "2018-08-30T14:09:09.907Z",
"last_modified_by_id": "USER_ID",
"state": "active"
}
{
"id": "12345678-abcd-1a2b-a1b2-1234567890ab",
"type": "access",
"description": "Viewer role access for all instances of SERVICE_NAME in the account.",
"subjects": [
{
"attributes": [
{
"name": "iam_id",
"value": "IBMid-123453user"
}
]
}
],
"roles": [
{
"roles_id": "crn:v1:bluemix:public:iam::::role:Viewer"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "ACCOUNT_ID",
"operator": "stringEquals"
},
{
"name": "serviceName",
"value": "SERVICE_NAME",
"operator": "stringEquals"
}
]
},
{
"tags": [
{
"name": "project",
"value": "moonshot",
"operator": "stringEquals"
},
{
"name": "pipeline",
"value": "test",
"operator": "stringEquals"
}
]
}
],
"href": "https://iam.cloud.ibm.com/v1/policies/12345678-abcd-1a2b-a1b2-1234567890ab",
"created_at": "2018-08-30T14:09:09.907Z",
"created_by_id": "USER_ID",
"last_modified_at": "2018-08-30T14:09:09.907Z",
"last_modified_by_id": "USER_ID",
"state": "active"
}
{
"id": "12345678-abcd-1a2b-a1b2-1234567890ab",
"type": "access",
"description": "Viewer role access for all instances of SERVICE_NAME in the account.",
"subjects": [
{
"attributes": [
{
"name": "iam_id",
"value": "IBMid-123453user"
}
]
}
],
"roles": [
{
"roles_id": "crn:v1:bluemix:public:iam::::role:Viewer"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "ACCOUNT_ID",
"operator": "stringEquals"
},
{
"name": "serviceName",
"value": "SERVICE_NAME",
"operator": "stringEquals"
}
]
},
{
"tags": [
{
"name": "project",
"value": "moonshot",
"operator": "stringEquals"
},
{
"name": "pipeline",
"value": "test",
"operator": "stringEquals"
}
]
}
],
"href": "https://iam.cloud.ibm.com/v1/policies/12345678-abcd-1a2b-a1b2-1234567890ab",
"created_at": "2018-08-30T14:09:09.907Z",
"created_by_id": "USER_ID",
"last_modified_at": "2018-08-30T14:09:09.907Z",
"last_modified_by_id": "USER_ID",
"state": "active"
}
Benutzer über die Anwendungsprogrammierschnittstelle (API) zu Zugriffsgruppen hinzufügen
Um Benutzer mit Hilfe der API zu einer Zugriffsgruppe hinzuzufügen, rufen Sie die IAM Access Groups API wie im folgenden Beispiel gezeigt auf.
curl -X PUT -H "Authorization: {iam_token}" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"members": [ {"iam_id": "IBMid-user1", "type": "user"}, {"iam_id": "iam-ServiceId-123", "type": "service"} ]}' "{base_url}/groups/{access_group_id}/members"
AddGroupMembersRequestMembersItem member1 = new AddGroupMembersRequestMembersItem.Builder()
.iamId("IBMid-user1")
.type("user")
.build();
AddGroupMembersRequestMembersItem member2 = new AddGroupMembersRequestMembersItem.Builder()
.iamId("iam-ServiceId-123")
.type("service")
.build();
AddMembersToAccessGroupOptions addMembersToAccessGroupOptions = new AddMembersToAccessGroupOptions.Builder()
.accessGroupId(testGroupId)
.addMembers(member1)
.addMembers(member2)
.build();
Response<AddGroupMembersResponse> response = service.addMembersToAccessGroup(addMembersToAccessGroupOptions).execute();
AddGroupMembersResponse addGroupMembersResponse = response.getResult();
System.out.println(addGroupMembersResponse);
const groupMember1 = {
iam_id: 'IBMid-user1',
type: 'user',
};
const groupMember2 = {
iam_id: 'iam-ServiceId-123',
type: 'service',
};
const params = {
accessGroupId: testGroupId,
members: [groupMember1, groupMember2],
};
iamAccessGroupsService.addMembersToAccessGroup(params)
.then(res => {
console.log(JSON.stringify(res.result, null, 2));
})
.catch(err => {
console.warn(err)
});
member1 = AddGroupMembersRequestMembersItem(
iam_id='IBMid-user1', type='user')
member2 = AddGroupMembersRequestMembersItem(
iam_id='iam-ServiceId-123', type='service')
members = [member1, member2]
add_group_members_response = iam_access_groups_service.add_members_to_access_group(
access_group_id=test_group_id,
members=members
).get_result()
print(json.dumps(add_group_members_response, indent=2))
groupMembers := []iamaccessgroupsv2.AddGroupMembersRequestMembersItem{
iamaccessgroupsv2.AddGroupMembersRequestMembersItem{
IamID: core.StringPtr("IBMid-user1"),
Type: core.StringPtr("user"),
},
iamaccessgroupsv2.AddGroupMembersRequestMembersItem{
IamID: core.StringPtr("iam-ServiceId-123"),
Type: core.StringPtr("service"),
},
}
addMembersToAccessGroupOptions := iamAccessGroupsService.NewAddMembersToAccessGroupOptions(testGroupID)
addMembersToAccessGroupOptions.SetMembers(groupMembers)
addGroupMembersResponse, response, err := iamAccessGroupsService.AddMembersToAccessGroup(addMembersToAccessGroupOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(addGroupMembersResponse, "", " ")
fmt.Println(string(b))
Sie können Benutzern auch Zugriff erteilen, indem Sie vertrauenswürdige Profile zu den Zugriffsgruppen hinzufügen. Weitere Informationen finden Sie unter Was macht eine gute Strategie für vertrauenswürdige Profile aus? und Vertrauenswürdige Profile erstellen.
Erwartete Benutzerantwort hinzufügen
{
"members": [
{
"iam_id": "$IBM_ID",
"type": "user",
"created_at": "2019-01-01T01:01:00Z",
"created_by_id": "CREATOR_ID",
"status_code": 200
},
{
"iam_id": "$SERVICE_ID",
"status_code": 400,
"trace": "12345678-abcd-1a2b-a1b2-1234567890ab",
"errors": [
{
"code": "error_occurred",
"message": "The service id is missing or incorrect"
}
]
}
]
}
{
"members": [
{
"iam_id": "$IBM_ID",
"type": "user",
"created_at": "2019-01-01T01:01:00Z",
"created_by_id": "CREATOR_ID",
"status_code": 200
},
{
"iam_id": "$SERVICE_ID",
"status_code": 400,
"trace": "12345678-abcd-1a2b-a1b2-1234567890ab",
"errors": [
{
"code": "error_occurred",
"message": "The service id is missing or incorrect"
}
]
}
]
}
{
"members": [
{
"iam_id": "$IBM_ID",
"type": "user",
"created_at": "2019-01-01T01:01:00Z",
"created_by_id": "CREATOR_ID",
"status_code": 200
},
{
"iam_id": "$SERVICE_ID",
"status_code": 400,
"trace": "12345678-abcd-1a2b-a1b2-1234567890ab",
"errors": [
{
"code": "error_occurred",
"message": "The service id is missing or incorrect"
}
]
}
]
}
{
"members": [
{
"iam_id": "$IBM_ID",
"type": "user",
"created_at": "2019-01-01T01:01:00Z",
"created_by_id": "CREATOR_ID",
"status_code": 200
},
{
"iam_id": "$SERVICE_ID",
"status_code": 400,
"trace": "12345678-abcd-1a2b-a1b2-1234567890ab",
"errors": [
{
"code": "error_occurred",
"message": "The service id is missing or incorrect"
}
]
}
]
}
{
"members": [
{
"iam_id": "$IBM_ID",
"type": "user",
"created_at": "2019-01-01T01:01:00Z",
"created_by_id": "CREATOR_ID",
"status_code": 200
},
{
"iam_id": "$SERVICE_ID",
"status_code": 400,
"trace": "12345678-abcd-1a2b-a1b2-1234567890ab",
"errors": [
{
"code": "error_occurred",
"message": "The service id is missing or incorrect"
}
]
}
]
}
Benutzer mittels Terraform zu Zugriffsgruppen hinzufügen
Bevor Sie Benutzer mithilfe von Terraform zu Ihren Zugriffsgruppen hinzufügen können, stellen Sie sicher, dass Sie Folgendes ausgeführt haben:
- Installieren Sie die Terraform-CLI und konfigurieren Sie das Provider-Plug-in IBM Cloud für Terraform. Weitere Informationen finden Sie im Lernprogramm zur Einführung in Terraform auf IBM Cloud®. Das Plug-in abstrahiert die IBM Cloud APIs, die zur Erfüllung dieses Tasks verwendet werden.
- Erstellen Sie eine Terraform-Konfigurationsdatei mit dem Namen
main.tf. In dieser Datei definieren Sie Ressourcen mithilfe der Konfigurationssprache HashiCorp. Weitere Informationen finden Sie in der Terraform-Dokumentation.
Gehen Sie wie folgt vor, um Benutzer zu Ihren Zugriffsgruppen hinzuzufügen:
-
Suchen Sie in Ihrer Terraform-Konfigurationsdatei nach dem Terraform-Code, den Sie zum Erstellen der Zugriffsgruppe verwendet haben, und notieren Sie den Wert für
access_group_id, der Ihrer Zugriffsgruppe zugewiesen ist. -
Fügen Sie ein Mitglied zur Zugriffsgruppe hinzu.
resource "ibm_iam_access_group_members" "accgroupmem" { access_group_id = ibm_iam_access_group.accgroup.id ibm_ids = ["test@in.ibm.com"] }Weitere Informationen finden Sie in der Argument-Referenz auf der Terraform Identity and Access Management(IAM) Seite.
Sie können auch das IAM Access Group-Modul von Terraform IBM Modules(TIM) verwenden, um die Mitgliedschaft in Zugriffsgruppen zusammen mit Richtlinien in einer konsistenten, wiederverwendbaren Konfiguration zu verwalten.
-
Nachdem Sie Ihre Konfigurationsdatei erstellt haben, initialisieren Sie die Terraform-CLI. Weitere Informationen finden Sie unter Arbeitsverzeichnisse initialisieren.
terraform init -
Stellen Sie die Ressourcen aus der Datei
main.tfbereit. Weitere Informationen finden Sie unter Infrastruktur mit Terraform bereitstellen.-
Führen Sie
terraform planaus, um einen Terraform-Ausführungsplan für die Vorschau der vorgeschlagenen Aktionen zu generieren.terraform plan -
Führen Sie
terraform applyaus, um die Ressourcen zu erstellen, die im Plan definiert sind.terraform apply
-