Giter VIP home page Giter VIP logo

terraform-ibm-iam-access-group's Introduction

IAM Access Group Module

Graduated (Supported) pre-commit latest release Renovate enabled semantic-release

This module is used to create an acess group, adding members to access group, defining the acces group policy and adding dynamic rules to access group. Access groups can be used to define a set of permissions that you want to grant to a group of users.

Overview

Usage

provider "ibm" {
  ibmcloud_api_key = "XXXXXXXXXX" # pragma: allowlist secret
  region           = "us-south"
}

module "iam_service_access_group" {
  source            = "terraform-ibm-modules/terraform-ibm-iam-access-group"
  version           = "latest" # Replace "latest" with a release version to lock into a specific release
  access_group_name = "my-iam-access-group"
  dynamic_rules     = {
                        rule-name = {
                        expiration        = 3
                        identity_provider = "https://idp-test.example.org/SAML2"
                        conditions = [{
                            claim    = "my_claim"
                            operator = "CONTAINS"
                            value    = "my_test_value"
                        }]
                        }
                    }
  policies          = {
                        my_policy_1 = {
                            roles = ["Viewer"]
                            tags  = ["iam-service-policy-1"]
                        }
                        my_policy_2 = {
                            roles = ["Viewer"]
                            tags  = ["iam-service-policy-2"]
                        }
                    }
  ibm_ids           = ["your_ibm_id_email"]
}

Required IAM access policies

If an account has service ID creation blocked (which an fscloud compliant account will), you need to explicitly grant “Service ID creator” to users in order to be able to grant access. For more information, see Creating and working with service IDs.

Requirements

Name Version
terraform >= 1.3.0, <1.7.0
ibm >= 1.51.0

Modules

No modules.

Resources

Name Type
ibm_iam_access_group.access_group resource
ibm_iam_access_group_dynamic_rule.access_group_dynamic_rule resource
ibm_iam_access_group_members.access_group_members resource
ibm_iam_access_group_policy.policy resource
ibm_iam_access_group.access_group_data data source

Inputs

Name Description Type Default Required
access_group_name Name of the access group string n/a yes
add_members Enable this to add members to access group bool true no
description Description to access group string null no
dynamic_rules list of dynamic rules
map(object({
expiration = number
identity_provider = string
conditions = list(object({
claim = string
operator = string
value = string
}))
}))
n/a yes
ibm_ids A list of IBM IDs that you want to add to the access group. list(string) null no
policies list of policies
map(object({
roles = list(string)
account_management = optional(bool)
tags = set(string)
resources = optional(list(object({
region = optional(string)
attributes = optional(map(string))
service = optional(string)
resource_instance_id = optional(string)
resource_type = optional(string)
resource = optional(string)
resource_group_id = optional(string)
})))
resource_attributes = optional(list(object({
name = string
value = string
operator = optional(string)
})))
}))
n/a yes
provision Would you like to provision a new access group (true/false) bool true no
service_ids A list of service IDS that you want to add to the access group. list(string) null no
tags Tags that should be applied to the service list(string) null no

Outputs

Name Description
dynamic_rule_ids List of access group dynamic rule IDs
id The ID of the access group
member_id The unique identifier of the access group members.
policy_ids List of access group policy IDs

Contributing

You can report issues and request features for this module in GitHub issues in the module repo. See Report an issue or request a feature.

To set up your local development environment, see Local development setup in the project documentation.

terraform-ibm-iam-access-group's People

Contributors

akocbek avatar iamar7 avatar jojustin avatar nolantomy avatar ocofaigh avatar terraform-ibm-modules-ops avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

nolantomy

terraform-ibm-iam-access-group's Issues

Review Access Mgmt DA diagram

Review the diagram(s) in the reference-architectures directory...

  • Do they contain accurate relevant information
  • Are they using approved icons / objects?

Review all Access Management DA related documentation

PR for DA not yet merged -> #144

The following items will need to be reviewed and updated where required:

  • DA variable descriptions (in the DA's variables.tf file)
  • The information in the ibm_catalog.json (labels, descriptions, features etc). Are we happy with the flavor naming?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.